SIMD wrappers for Arbor generated mechanisms. (#450)
This provides a bunch of SIMD intrinsic wrappers as a precursor to the SIMD printers. The aim is that the SIMD printer can be agnostic regarding the particular vector architecture. The design is based rather loosely on the proposal P0214R6 for C++ Parallelism TS 2. The transcendental function implementations are adapted from the existing SIMD architecture-specific code, which in turn are based on the Cephes library algorithms. The custom CSS for the html documentation have been tweaked.
Showing
- CMakeLists.txt 3 additions, 0 deletionsCMakeLists.txt
- cmake/CompilerOptions.cmake 5 additions, 1 deletioncmake/CompilerOptions.cmake
- doc/index.rst 2 additions, 0 deletionsdoc/index.rst
- doc/simd_api.rst 950 additions, 0 deletionsdoc/simd_api.rst
- doc/simd_maths.rst 185 additions, 0 deletionsdoc/simd_maths.rst
- doc/static/custom.css 18 additions, 3 deletionsdoc/static/custom.css
- src/simd/approx.hpp 84 additions, 0 deletionssrc/simd/approx.hpp
- src/simd/avx.hpp 921 additions, 0 deletionssrc/simd/avx.hpp
- src/simd/avx512.hpp 712 additions, 0 deletionssrc/simd/avx512.hpp
- src/simd/generic.hpp 68 additions, 0 deletionssrc/simd/generic.hpp
- src/simd/implbase.hpp 478 additions, 0 deletionssrc/simd/implbase.hpp
- src/simd/native.hpp 93 additions, 0 deletionssrc/simd/native.hpp
- src/simd/simd.hpp 521 additions, 0 deletionssrc/simd/simd.hpp
- src/util/debug.hpp 74 additions, 0 deletionssrc/util/debug.hpp
- tests/unit/CMakeLists.txt 1 addition, 0 deletionstests/unit/CMakeLists.txt
- tests/unit/common.hpp 59 additions, 5 deletionstests/unit/common.hpp
- tests/unit/test_simd.cpp 1001 additions, 0 deletionstests/unit/test_simd.cpp
Please register or sign in to comment