All Projects → eddelbuettel → bh

eddelbuettel / bh

Licence: other
R package providing Boost Header files

Programming Languages

C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to bh

rcppfastfloat
Rcpp Bindings for the 'fastfloat' Header-Only Library
Stars: ✭ 18 (-75.34%)
Mutual labels:  rcpp, r-package
rcppgsl
Rcpp integration for GNU GSL vectors and matrices
Stars: ✭ 28 (-61.64%)
Mutual labels:  rcpp, r-package
inline
Inline C, C++ or Fortran functions in R
Stars: ✭ 33 (-54.79%)
Mutual labels:  rcpp, r-package
textTinyR
Text Processing for Small or Big Data Files in R
Stars: ✭ 32 (-56.16%)
Mutual labels:  rcpp, boost
WeightedTreemaps
Create Voronoi and Sunburst Treemaps from Hierarchical data
Stars: ✭ 33 (-54.79%)
Mutual labels:  rcpp, r-package
rfishbase
R interface to the fishbase.org database
Stars: ✭ 79 (+8.22%)
Mutual labels:  r-package
reproducible
A set of tools for R that enhance reproducibility beyond package management
Stars: ✭ 33 (-54.79%)
Mutual labels:  r-package
lcars
LCARS aesthetic for Shiny
Stars: ✭ 54 (-26.03%)
Mutual labels:  r-package
cyphr
Humane encryption
Stars: ✭ 91 (+24.66%)
Mutual labels:  r-package
contract
Contract programming for C++
Stars: ✭ 28 (-61.64%)
Mutual labels:  boost
NLMR
📦 R package to simulate neutral landscape models 🏔
Stars: ✭ 57 (-21.92%)
Mutual labels:  r-package
UCSCXenaShiny
📊 An R package for interactively exploring UCSC Xena https://xenabrowser.net/datapages/
Stars: ✭ 52 (-28.77%)
Mutual labels:  r-package
rcppredis
R interface to Redis using the hiredis library
Stars: ✭ 45 (-38.36%)
Mutual labels:  rcpp
tbag
Tea-bag is Third party extension utility project
Stars: ✭ 13 (-82.19%)
Mutual labels:  boost
PackageDevelopment
Task View: PackageDevelopment
Stars: ✭ 38 (-47.95%)
Mutual labels:  r-package
Paraphrase
Multi-core suitable Forth-like language
Stars: ✭ 27 (-63.01%)
Mutual labels:  boost
pbapply
Adding progress bar to '*apply' functions in R
Stars: ✭ 115 (+57.53%)
Mutual labels:  r-package
rglobi
R library to access species interaction data of http://globalbioticinteractions.org
Stars: ✭ 12 (-83.56%)
Mutual labels:  r-package
WikidataQueryServiceR
An R package for the Wikidata Query Service API
Stars: ✭ 23 (-68.49%)
Mutual labels:  r-package
rinat
A programmatic interface to iNaturalist
Stars: ✭ 36 (-50.68%)
Mutual labels:  r-package

bh: Boost Headers for R

CI License CRAN Dependencies Last Commit Downloads (monthly) Downloads (total) CRAN use BioConductor use

Synopsis

This package provides R with access to Boost header files. Boost provides free peer-reviewed portable C++ source libraries. A large part of Boost is provided as C++ template code which is resolved entirely at compile-time without linking.

This package aims to provide the most useful subset of Boost libraries for template use among CRAN packages. By placing these libraries in this package, we offer a more efficient distribution system for CRAN as replication of this code in the sources of other packages is avoided.

It can be used via the LinkingTo: field in the DESCRIPTION field of an R package --- and the R package infrastructure tools will then know how to set include flags correctly on all architectures supported by R.

Note that this can be used solely by headers-only Boost libraries. This covers most of Boost, but excludes some libraries which require linking for parts or all of their functionality.

Coverage

As of release 1.78.0-0, the following Boost libraries are included:

accumulators algorithm align any atomic beast bimap bind circular_buffer compute concept config container date_time detail dynamic_bitset exception flyweight foreach functional fusion geometry graph heap icl integer interprocess intrusive io iostreams iterator lambda2 math move mp11 mpl multiprecision numeric pending phoenix polygon preprocessor process propery_tree random range scope_exit smart_ptr sort spirit tuple type_traits typeof unordered utility uuid

Example

The Rcpp Gallery contains several examples under its boost tag including the introductory first and second. From the first, a simple example to compute the greatest common demoninator of two integers follows:

// [[Rcpp::depends(BH)]]

#include <Rcpp.h>
#include <boost/math/common_factor.hpp>

// [[Rcpp::export]]
int computeGCD(int a, int b) {
    return boost::math::gcd(a, b);
}

Saving it as boostExample.cpp and simple sourcing this Rcpp::sourceCpp("boostExample.cpp") produces the function computeGCD(). See the Rcpp Gallery for more examples.

See Also

The mailing list at R-Forge is a good place for questions, comments and general discussion. The issue tracker can be used for bugs.

Updating

We aim to maintain this package in a somewhat conservative fashion and do not always immediately jump the newest Boost releases. Rather, we (used to) start from the Debian sources for Boost to ensure that we work with a version that is at the same time current yet mature. But on occassion, and as needed, and more recently, we will also go directly to Boost releases.

In general, we plan to keep the package up-to-date with Boost upstream, but will not necessarily follow each and every new release as we also value the merits of relative release stability.

If needed, the script local/script/CreateBoost.sh can be used to update a forked version to a newer version of Boost.

But what about the size?

That used to be a concern, and we wrote:

The repo has a large footprint. We know. We erroneously thought that committing the Boost tarballs would be a good idea. It wasn't. First attempts at pruning the history using bfg were not that successful. If someone has a script doing this well we would take another look.

Otherwise we recommend to just start from CreateBoost.sh.

and lo and behold, we got help via this script as discussed here. The old tarballs are now removed; six commits were filtered and the repo has a much saner nice so it can be forked more easily.

Authors

Dirk Eddelbuettel, Jay Emerson and Michael Kane

License

This package is provided under the same license as Boost itself, the BSL-1.0

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].