-
Notifications
You must be signed in to change notification settings - Fork 83
Alternatives & Language Interfaces
Elizabeth Fischer edited this page Sep 18, 2022
·
1 revision
Virtually any alternative to Blitz++ has - at the same time - common, missing and additional features when compared with Blitz++.
A working assumption is to list here those open-source libraries/packages (or language built-ins) that provide loop-free arithmetics and indexing for dynamically allocated multi-dimensional arrays without incurring creation of temporary arrays and without restoring to string-embedded or method-invocation notation
(which is a small subset of functionalities of Blitz++ and alternatives alike, for further discussion see Features)
- built-in arrays
- Eigen Tensor module: http://eigen.tuxfamily.org/index.php?title=Tensor_support
- xtensor: http://quantstack.net/xtensor.html
- Armadillo: http://arma.sourceforge.net
- libdynd: http://libdynd.org
- std::valarray with std::gslice
- Boost::MultiArray: https://www.boost.org/libs/multi_array/
- std::array_view (proposed): http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3851.pdf
- std::mdspan (proposed): http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0009r6.html
- Fastor: https://github.com/romeric/Fastor
- FTensor: http://www.wlandry.net/Projects/FTensor
- Adept: http://www.met.reading.ac.uk/clouds/adept/
- Bob.Blitz, interface Blitz++ with Numpy Arrays: https://www.idiap.ch/software/bob/docs/bob/bob.blitz/v2.0.22/index.html
- Pythran: https://pythran.readthedocs.io
- NumPyPy: https://bitbucket.org/pypy/numpy