Provides optimized functions implemented in C++ with 'Rcpp'
for solving problems in combinatorics and computational mathematics.
Utilizes parallel programming via 'RcppThread' for maximal performance.
Also makes use of the RMatrix class from the 'RcppParallel' library.
There are combination/permutation functions with constraint parameters
that allow for generation of all combinations/permutations of a vector
meeting specific criteria (e.g. finding all combinations such
that the sum is between two bounds). Capable of generating specific
combinations/permutations (e.g. retrieve only the nth lexicographical
result) which sets up nicely for parallelization as well as random
sampling. Gmp support permits exploration where the total number of
results is large (e.g. comboSample(10000, 500, n = 4)). Additionally,
there are several high performance number theoretic functions that
are useful for problems common in computational mathematics. Some of
these functions make use of the fast integer division library
'libdivide' by <http://ridiculousfish.com>. The primeSieve function
is based on the segmented sieve of Eratosthenes implementation by
Kim Walisch. It is also efficient for large numbers by using the
cache friendly improvements originally developed by Tomás Oliveira.
Finally, there is a prime counting function that implements Legendre's
formula based on the algorithm by Kim Walisch.

Provides optimized functions implemented in C++ with 'Rcpp'
for solving problems in combinatorics and computational mathematics.
Utilizes parallel programming via 'RcppThread' for maximal performance.
Also makes use of the RMatrix class from the 'RcppParallel' library.
There are combination/permutation functions with constraint parameters
that allow for generation of all combinations/permutations of a vector
meeting specific criteria (e.g. generating integer partitions/compositions
or finding all combinations such that the sum is between two bounds).
Capable of generating specific combinations/permutations (e.g. retrieve
only the nth lexicographical result) which sets up nicely for
parallelization as well as random sampling. Gmp support permits exploration
where the total number of results is large (e.g. comboSample(10000, 500,
n = 4)). Additionally, there are several high performance number theoretic
functions that are useful for problems common in computational mathematics.
Some of these functions make use of the fast integer division library
'libdivide'. The primeSieve function is based on the segmented sieve of
Eratosthenes implementation by Kim Walisch. It is also efficient for large
numbers by using the cache friendly improvements originally developed by
Tomás Oliveira. Finally, there is a prime counting function that implements
Legendre's formula based on the work of Kim Walisch.
https://github.com/jwood000/RcppAlgos, https://gmplib.org/,
https://github.com/kimwalisch/primesieve, http://libdivide.com,
https://github.com/kimwalisch/primecount,
http://ridiculousfish.com/,
http://sweet.ua.pt/tos/software/prime_sieve.html
testthat, numbers (>= 0.6-6), microbenchmark, knitr