R bindings for the xtensor C++ multi-dimensional array library.
xtensoris a C++ library for multi-dimensional arrays enabling numpy-style broadcasting and lazy computing.
xtensor-renables inplace use of R arrays with all the benefits from
- C++ universal functions and broadcasting
- STL - compliant APIs.
The numpy to xtensor cheat sheet from the
xtensor documentation shows how numpy APIs translate to C++ with
The Python bindings for
xtensor are based on the Rcpp C++ library, which enables seemless interoperability between C++ and Python.
Enabling R arrays in your C++ libraries¶
Instead of exposing new types to R,
xtensor-r enables the use of R data structures from C++ using R’s C API.
In addition to the basic accessors and iterators of
xtensor containers, it also enables using R arrays with
xtensor’s expression system.
xtensor-r provides an API to create Universal functions from simple scalar functions from your C++ code.
xtensor-r require a modern C++ compiler supporting C++14. The following C++ compilers are supported:
- On Windows platforms, Visual C++ 2015 Update 2, or more recent
- On Unix platforms, gcc 4.9 or a recent version of Clang
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.