Yet another software-implemented floating-point library. This library is based on:
Muller, JM. et al. (2018). Software Implementation of Floating-Point Arithmetic. In: Handbook of Floating-Point Arithmetic. Birkhäuser, Cham. https://doi.org/10.1007/978-3-319-76526-6_9.
This book presents methods for implementing efficient floating-point operations in software. The authors' implementation can be found in the FLIP library (https://flip.gitlabpages.inria.fr/www/).
In contrast to the book and the FLIP library, we focus on PC platforms like x86. Furthermore we add double precision support and some comparison and casting operations.
# Build
mkdir -p build
cd build
# You can also build and install a library for the test data by setting -DBUILD_TESTDATA=TRUE
cmake -DCMAKE_BUILD_TYPE=Release ..
cmake --build . --target sfmaila validation performance btestfloat_prj
cd ..
# Install
cmake --install .
# Run tests
cd testdata
./gentest.sh
cd ..
./build/validation/validation
# Run benchmark
./build/validation/performanceThe floating-point library itself in the src folder is licensed under the CeCILL v2 license because the FLIP library is also published under this license.
The validation code in the validation folder is licensed under the more permissive MIT.