Numpy clone in C++ ⛺
Branch: master
Clone or download
Latest commit c8bf394 Feb 23, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Array Add files via upload Feb 18, 2018
Infra Add files via upload Feb 18, 2018
LICENSE Add files via upload Feb 18, 2018
README.md Update README.md Feb 23, 2018
manual.pdf Add files via upload Feb 18, 2018
mars.h Add files via upload Feb 18, 2018
mars_header.h Add files via upload Feb 18, 2018
test_array.cc Add files via upload Feb 18, 2018
test_array.txt Add files via upload Feb 18, 2018

README.md

Array is a Numpy clone in C++. It supports functionalities: slice in place, operations on sliced array in place, map in place, reshape, transpose, iterator (STL algorithms can be used on the array, for example sorting in place), sum by axes. Optimized for speed. The max dimension is 6.

Required packages: pthread, libunwind for debugging, GSL for random numbers (https://www.gnu.org/software/gsl/), FFTW for Fourier transform (http://www.fftw.org/)

Compile and run: Array testing: g++ -std=c++14 test_array.cc -o test_array.x -lpthread -lunwind -lgsl -lgslcblas; ./test_array.x

Test run results are in test_array.txt

Benchmarked Mars for 3 dimensional array of double precision. Most times the speed is the same as simple C array declared on stack. Sometimes, Mars is even faster.