R bindings for the xtensor C++ multi-dimensional array library.
xtensor
is a C++ library for multi-dimensional arrays enabling numpy-style broadcasting and lazy computing.
xtensor-r
enables inplace use of R arrays in C++ with all the benefits from xtensor
xtensor-r
can be used either to author C++ extensions for R with Rcpp, or applications that embed the R interpreter with RInside.
#include <numeric> // Standard library import for std::accumulate #define STRICT_R_HEADERS // Otherwise a PI macro is defined in R #include "xtensor/xmath.hpp" // xtensor import for the C++ universal functions #include "xtensor-r/rarray.hpp" // R bindings #include <Rcpp.h> using namespace Rcpp; // [[Rcpp::plugins(cpp14)]] // [[Rcpp::export]] double sum_of_sines(xt::rarray<double>& m) { auto sines = xt::sin(m); // sines does not actually hold values. return std::accumulate(sines.cbegin(), sines.cend(), 0.0); }
v <- matrix(0:14, nrow=3, ncol=5) s <- sum_of_sines(v) s # prints 1.2853996391883833Installation of the standalone C++ library
xtensor-r
a header-only C++ library. It has been packaged for the mamba (or conda) package manager.
mamba install xtensor-r -c conda-forge
xtensor-r
can be installed from source with cmake in any installation prefix. For example, on unix systems
cmake -D CMAKE_INSTALL_PREFIX=/prefix/path/ . make make installInstallation of the R package
We provide a R package for Xtensor on both conda and CRAN (Comprehensive R Archive Network). The packaging boilerplate for the R package is available at https://github.com/xtensor-stack/Xtensor.R.
To install the R package with conda:
conda install r-xtensor -c conda-forge
To install the R package from CRAN:
or from the GitHub repository using devtools
devtools::install_github("xtensor-stack/Xtensor.R")
The CRAN package vendors the headers for xtensor-r
, xtensor,
xtland
xsimd`.
To get started with using xtensor-r
, check out the full documentation
http://xtensor-r.readthedocs.io/
Dependencies onxtensor
and Rcpp
xtensor-r
depends on the xtensor
and Rcpp
libraries
xtensor-r
xtensor
Rcpp
master ^0.25.0 ^1.0 0.15.0 ^0.25.0 ^1.0 0.14.2 ^0.24.4 ^1.0 0.14.1 ^0.24.0 ^1.0 0.14.0 ^0.24.0 ^1.0 0.13.0 ^0.23.0 ^1.0 0.12.1 ^0.21.4 ^1.0 0.12.0 ^0.21.2 ^1.0
xtensor
headers are vendored in the CRAN package.We use a shared copyright model that enables all contributors to maintain the copyright on their contributions.
This software is licensed under the BSD-3-Clause license. See the LICENSE file for details.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4