07aa5c13b5
Improve accuracy + allow mpfr::mpreal and boost's float128
...
(1) Accuracy has been improved in the set up of the _twiddles array.
Now sin and cos are only evaluated for angles in [-pi/4, pi/4] and all
the elementary symmetries of the trig functions are preserved. This
reduces the round-off error to be competitve with fftw.
(2) A key advantage of kissfft over fftw is that it can be used with
non-standard floating point numbers, e.g., mpfr::mpreal and
boost::multiprecision::float128. For this to "work", the math functions
need to be called without the "std::" prefix to allow the specific
overloads for these functions to be found. "using" clauses are added to
the code so that the standard functions are still found for the standard
floating point types.
2022-05-29 17:41:34 -04:00
8f47a67f59
removed kfc.h and kissfft_i32.hh from the install list since they are not as generally useful as the others
131.1.0
2021-02-09 20:29:17 -05:00
0a4394045f
no benefit to having both a README and README.md -- D.R.Y.
2021-02-06 10:55:44 -05:00
478c35e653
Update documentation
...
Signed-off-by: Vasyl Gello <vasek.gello@gmail.com >
2021-02-05 13:34:16 +02:00
7c9a5586a9
testkiss.py: Do not depend on tools/fft_*
...
Fixes test run with -DKISSFFT_TOOLS=OFF
Signed-off-by: Vasyl Gello <vasek.gello@gmail.com >
2021-02-05 13:34:16 +02:00
7eeda21377
Add testsuite
...
Signed-off-by: Vasyl Gello <vasek.gello@gmail.com >
2021-02-05 13:34:16 +02:00
cccf41adf2
Overhaul CMake makefiles
...
* Minimum CMake version lowered to 3.6 (tested on 3.6.1)
* Refactored CMake configuration options
Signed-off-by: Vasyl Gello <vasek.gello@gmail.com >
2021-02-05 13:34:16 +02:00
2e2747c129
Overhaul Make makefiles
...
* Header files and correspondent C sources that define
functions recently added to public API moved from
'tools' directory to root
* By default, install prefix is '/usr/local/', and header
install path is '${PREFIX}/include/kissfft'
* Added detection of external libraries like FFTW or libPNG
Signed-off-by: Vasyl Gello <vasek.gello@gmail.com >
2021-02-05 13:34:16 +02:00
7811f7d428
fixed switch-case fall-thru
2021-01-23 11:54:02 -05:00
e321f7a4d7
dropped -Waggregate-return from warning flags as it created spurious warnings for recent c++ compilation (found through cmake build on CentOS 8)
2021-01-23 11:53:53 -05:00
d11f1a889c
Merge pull request #57 from basilgello/debian-fixes
...
Modernize upstream package after inclusion to Debian
2021-01-21 20:00:15 -05:00
f88d5af578
Make kfc,fftnd,fftndr,fftr part of public API
...
Many programs explicitly use it, including those in Debian.
This was raised already in kissfft#39
Signed-off-by: Vasyl Gello <vasek.gello@gmail.com >
2021-01-21 17:10:20 +02:00
c2e82a30e8
Build and install kissfft-tools
...
Signed-off-by: Vasyl Gello <vasek.gello@gmail.com >
2021-01-21 17:08:33 +02:00
7651bdaaa1
Increase CTest interval
...
* Fixes failing testcpp by timeout
Signed-off-by: Vasyl Gello <vasek.gello@gmail.com >
2021-01-21 17:07:39 +02:00
cc862cb0f2
Merge pull request #53 from madebr/makefile_AR_CC_variables
...
Use $(CC) and $(AR) in Makefile
2020-11-05 21:35:44 -05:00
15debe8ed3
Merge pull request #52 from madebr/cmake_install
...
Add cmake install + MSVC dll support
2020-11-05 21:34:50 -05:00
1487038a8a
Use find_package COMPONENTS to select shared/static + datatype
2020-10-30 19:18:18 +01:00
2d5de8378c
Print datatype while configuring cmake
2020-10-30 16:33:32 +01:00
a63dfc7f11
Build tools + tests with cmake + add VERSION + parallel install
2020-10-30 02:49:49 +01:00
609845bc9e
cmake more work
2020-10-29 23:23:50 +01:00
fcf9fa9a47
Use $(CC) and $(AR) in Makefile
2020-10-29 22:05:20 +01:00
5c708d85db
Add cmake install + MSVC dll support
2020-10-29 22:01:56 +01:00
0a70dfd0cf
Merge pull request #50 from seeker-Liu/master
...
Fix Issue #35
2020-09-27 06:10:22 -04:00
4e4a738a53
Fix typo in document
2020-09-27 13:41:36 +08:00
b2e0e600e5
Calling exit from library code is icky. Closes issue #49
2020-07-14 17:19:48 -04:00
c524b0b0e1
Merge pull request #47 from JulienMaille/patch-1
...
Fix conversion from 'double' to 'float' warning closes
2020-06-09 08:50:57 -04:00
efff86ac1c
Fix conversion from 'double' to 'float' warning closes
...
Closes #27
2020-06-09 13:57:41 +02:00
159874bffa
Merge pull request #46 from ademuri/master
...
Add support for CMake
2020-06-02 07:51:48 -04:00
6fcc85dbaf
Add support for CMake
2020-05-31 13:26:14 -06:00
f0a47de6aa
Merge pull request #45 from kpawlak/task-logging-and-check
...
Logging improvements and buffers security
2020-05-26 22:21:27 -04:00
5fb101ecb3
Testting buffers for NULL befor usage
2020-05-26 14:25:38 +02:00
7c47cc9957
Add common logging mechanism, use NDEBUG to turn off logging
2020-05-26 14:25:27 +02:00
cf5813a1b4
added test for simd crash to "make testall" and thus travis CI
2020-04-19 10:06:56 -04:00
e53d6d4bea
changed tabs to spaces for consistency and fix compiler warnings. Removed assert call (would require assert.h inclusion somewhere).
2020-04-19 10:02:45 -04:00
07ccd8162e
Merge remote-tracking branch 'xplane/master' into simd_misaligned
2020-04-19 09:58:35 -04:00
b30b93cd97
A test case for issue #40 . Segfaults with: make -C test test_simd && ./test/test_simd
2020-04-19 09:57:40 -04:00
58cf0c0fc1
alignment fixing for USE_SIMD - all memory allocations are rounded
...
up to 16-byte boundaries. This fixes crashes where the sub-buffers
for complex FFTs end up unaligned violating compiler expectations
2020-04-18 20:43:26 -04:00
33d9ad3bad
include guard for kiss guts - fixes compile on unity build systems
2020-04-18 20:42:30 -04:00
c2c0c0be03
Merge pull request #38 from jtojnar/packagability
...
Improve packagability
2020-04-06 05:25:16 -04:00
b39de321ca
build: Make datatype configurable
2020-04-06 08:04:19 +02:00
1d7e76e0af
build: Use install command for installing files
...
In build chroots of some package managers, the libdir does not exist yet so we need to create it.
2020-04-06 07:32:55 +02:00
fffc26e89a
build: Fix make install on Darwin
2020-04-06 06:03:06 +02:00
4193457bf4
build: Make installation prefix configurable
...
Nix uses different prefix so we need it configurable.
2020-04-06 05:55:54 +02:00
3f3fc6ab55
upgrade to newer dist
2020-03-15 15:07:21 -04:00
592bdf7da8
want travis to run with python 2.7(for now) and 3.7
2020-03-15 15:01:10 -04:00
b420613372
I had to fix some python3 incompatibilities and realized how embarrassing the code was. I refactored to make it look a little more like it was written by someone who knows Python.
2020-03-15 14:53:58 -04:00
1efe72041e
above commit was cherry-picked from MoonchildProductions fork of kissfft (closes issue #26 )
2019-08-07 21:27:25 -04:00
f4496dc080
Prevent stack corruption with parallelized use.
...
If the length of the data set for the transform is a prime, then the OpenMP parallelization results
in a recursion loop until the stack is corrupted or exhausted.
This resolves #1 .
2019-08-07 21:25:01 -04:00
3050076ab3
Merge pull request #28 from bmcdonnell-ionx/user-override-malloc
...
Allow user override of malloc and/or free
2019-08-07 13:00:35 -04:00
d06e7a7106
Allow user override of KISS_FFT_MALLOC and/or KISS_FFT_FREE on SIMD platforms
2019-08-07 12:10:01 -04:00