Connection to the Redis key/value store using the C-language client library hiredis (included as a fallback) with MsgPack
encoding provided via RcppMsgPack
headers. It now also includes the pub/sub functions from the rredis package.
This package provides an integration of Eigen in R using a C++ template library for linear algebra: matrices, vectors, numerical solvers and related algorithms. It supports dense and sparse matrices on integer, floating point and complex numbers, decompositions of such matrices, and solutions of linear systems.
This header-only library provides modern, portable C++ wrappers for SIMD intrinsics and parallelized, optimized math implementations (SSE, AVX, NEON, AVX512). By placing this library in this package, we offer an efficient distribution system for Xsimd <https://github.com/xtensor-stack/xsimd> for R packages using CRAN.
R package based on Rcpp for MeCab
': Yet Another Part-of-Speech and Morphological Analyzer. The purpose of this package is providing a seamless developing and analyzing environment for CJK texts. This package utilizes parallel programming for providing highly efficient text preprocessing posParallel()
function. For installation, please refer to README.md file.
Interoperability between Rcpp and the C++11 array and tuple types. Linking to this package allows fixed-length std::array objects to be converted to and from equivalent R vectors, and std::tuple objects converted to lists, via the as()
and wrap()
functions. There is also experimental support for std::span from C++20'.
int64
values can be created and accessed via the bit64
package and its integer64
class which package the int64
representation cleverly into a double
. The nanotime
package builds on this to support nanosecond-resolution timestamps. This package helps conversions between R and C++ via several helper functions provided via a single header file. A complete example client package is included as an illustration.
Rcpp bindings for PLANC', a highly parallel and extensible NMF/NTF (Non-negative Matrix/Tensor Factorization) library. Wraps algorithms described in Kannan et. al (2018) <doi:10.1109/TKDE.2017.2767592> and Eswar et. al (2021) <doi:10.1145/3432185>. Implements algorithms described in Welch et al. (2019) <doi:10.1016/j.cell.2019.05.006>, Gao et al. (2021) <doi:10.1038/s41587-021-00867-x>, and Kriebel & Welch (2022) <doi:10.1038/s41467-022-28431-4>.
This package provides Rcpp bindings for cpptimer', a simple tic-toc timer class for benchmarking C++ code <https://github.com/BerriJ/cpptimer>
. It's not just simple, it's blazing fast! This sleek tic-toc timer class supports overlapping timers as well as OpenMP
parallelism <https://www.openmp.org/>. It boasts a nanosecond-level time resolution. We did not find any overhead of the timer itself at this resolution. Results (with summary statistics) are automatically passed back to R as a data frame.
Blaze is an open-source, high-performance C++ math library for dense and sparse arithmetic. With its state-of-the-art Smart Expression Template implementation Blaze combines the elegance and ease of use of a domain-specific language with HPC-grade performance, making it one of the most intuitive and fastest C++ math libraries available. The RcppBlaze
package includes the header files from the Blaze library with disabling some functionalities related to link to the thread and system libraries which make RcppBlaze
be a header-only library. Therefore, users do not need to install Blaze'.
This package provides optimized functions and flexible combinatorial iterators implemented in C++ for solving problems in combinatorics and computational mathematics. It utilizes the RMatrix
class from RcppParallel
for thread safety. There are combination/permutation functions with constraint parameters that allow for generation of all results of a vector meeting specific criteria. It is capable of generating specific combinations/permutations which sets up nicely for parallelization as well as random sampling. Gmp support permits exploration where the total number of results is large. Additionally, there are several high performance number theoretic functions that are useful for problems common in computational mathematics.
This package provides a C++11-style thread class and thread pool that can safely be interrupted from R.
The header-only C++ template library FastAD
for automatic differentiation <https://github.com/JamesYang007/FastAD>
is provided by this package, along with a few illustrative examples that can all be called from R.
Exports an Rcpp interface for the Bessel functions in the Bessel package, which can then be called from the C++ code of other packages. For the original Fortran implementation of these functions see Amos (1995) <doi:10.1145/212066.212078>.
This package provides C++ header files to deal with color conversion from some color spaces to hexadecimal with Rcpp', and exports some color mapping functions for usage in R. Also exports functions to convert colors from the HSLuv color space for usage in R. HSLuv is a human-friendly alternative to HSL.
This package provides a wrapper for Jagger, a morphological analyzer proposed in Yoshinaga (2023) <arXiv:2305.19045>
. Jagger uses patterns derived from morphological dictionaries and training data sets and applies them from the beginning of the input. This simultaneous and deterministic process enables it to effectively perform tokenization, POS tagging, and lemmatization.
The spdlog library is a widely-used and very capable header-only C++ library for logging. This package includes its headers as an R package to permit other R packages to deploy it via a simple LinkingTo: RcppSpdlog
. As of version 0.0.9, it also provides both simple R logging functions and compiled functions callable by other packages.
The getconf command-line tool provided by libc allows querying of a large number of system variables. This package provides similar functionality.
Dynamic Programming implemented in Rcpp'. Includes example partition and out of sample fitting applications. Also supplies additional custom coders for the vtreat package.
The RcppClassic
package provides a deprecated C++ library which facilitates the integration of R and C++. New projects should use the new Rcpp API in the Rcpp package.
The Streamulus (template, header-only) library by Irit Katriel (at <https://github.com/iritkatriel/streamulus>) provides a very powerful yet convenient framework for stream processing. This package connects Streamulus to R by providing both the header files and all examples.
MsgPack
header files are provided for use by R packages, along with the ability to access, create and alter MsgPack
objects directly from R. MsgPack
is an efficient binary serialization format. It lets you exchange data among multiple languages like JSON but it is faster and smaller. Small integers are encoded into a single byte, and typical short strings require only one extra byte in addition to the strings themselves. This package provides headers from the msgpack-c implementation for C and C++(11) for use by R, particularly Rcpp'. The included msgpack-c headers are licensed under the Boost Software License (Version 1.0); the code added by this package as well the R integration are licensed under the GPL (>= 2). See the files COPYRIGHTS and AUTHORS for a full list of copyright holders and contributors to msgpack-c'.
This package provides fast machine learning algorithms including matrix factorization and divisive clustering for large sparse and dense matrices.
This package displays a progress bar in the R console for long running computations taking place in C++ code, and support for interrupting those computations even in multithreaded code, typically using OpenMP.
This package provides high level functions for parallel programming with Rcpp. For example, the parallelFor()
function can be used to convert the work of a standard serial for
loop into a parallel one and the parallelReduce()
function can be used for accumulating aggregates or other values.