sleef
sleef copied to clipboard
SIMD Library for Evaluating Elementary Functions, vectorized libm and DFT
Testing Sleef 3.6 in Fedora Linux (Rawhide), with GCC 14.0.1, I see several regressions from 3.5.1: **x86_64** ``` 1 - iut (Failed) ``` **aarch64** ``` 1 - iut (Failed) 21...
Thanks for writing and maintaining such a fast and useful library! I've noticed some precision issues where the erf function with f32 inputs may exceed the documented 1.0 ULP error...
1. Add "SLEEF_BUILD_SHARED_LIBS" to instead of CMake reserved variable "BUILD_SHARED_LIBS". 2. Add clear library type to add_library, it will remove the global control from "BUILD_SHARED_LIBS", Link: https://cmake.org/cmake/help/latest/guide/tutorial/Selecting%20Static%20or%20Shared%20Libraries.html Additional, I write...
Fix "SLEEF_BUILD_SCALAR_LIB" lost function to control build sleefscalar lib. |Status|Control Build|Control Install| |----|----|----| |Current Code| No |Yes| |This PR|Yes|Yes
Warning message on MSVC: ```cmd 28>D:\xu_github\sleef\src\libm\sleefsimddp.c(28,9): warning C4068: unknown pragma 'STDC' 28>sleefsimdsp.c 28>D:\xu_github\sleef\src\libm\sleefsimdsp.c(28,9): warning C4068: unknown pragma 'STDC' 28>Generating Code... ``` Fix it by conditional defination for disable fp contractions.
[CMakeLists.txt](https://github.com/shibatch/sleef/blob/85440a5e87dae36ca1b891de14bc83b441ae7c43/CMakeLists.txt#L25-L27) has the following options: ```cmake option(DISABLE_FFTW "Disable testing the DFT library with FFTW" OFF) option(DISABLE_MPFR "Disable testing with the MPFR library" OFF) option(DISABLE_SSL "Disable testing with the SSL library"...
When I try to cross-compile sleef for ppc64el with gcc toolchain (using the following command): ``` CROSS_ARCH=ppc64el COMPILER=gcc QEMU_EMULATOR=qemu-ppc64le export QEMU_CPU=power10 cmake -S . -B build-${CROSS_ARCH}-${COMPILER} \ -DCMAKE_TOOLCHAIN_FILE=$PWD/toolchains/${CROSS_ARCH}-${COMPILER}.cmake \ -DNATIVE_BUILD_DIR=$PWD/native-build-${COMPILER}...
#491 fixes parallel build, thus enabling GNU make to build SLEEF in parallel. Generators can break build system in different ways, would be good to test a range of them....
Add runs on windows and macos in Github Actions. Make a plan for more OS-es via docker: iOS, Android, FreeBSD...
If `measure()` fails here: https://github.com/shibatch/sleef/blob/ecb89367eb943287d0b82655379ea3344ec2a871/src/dft/dft.c#L1041 then the init function falls into this loop, but makes no progress (`N` is always zero so `length` never decreases): https://github.com/shibatch/sleef/blob/ecb89367eb943287d0b82655379ea3344ec2a871/src/dft/dft.c#L1222-L1233 AFAICT it's `measure()` which...