mirror of
https://github.com/mborgerding/kissfft.git
synced 2025-12-02 07:22:50 -05:00
Fix up README.md
This commit is contained in:
26
README.md
26
README.md
@ -53,14 +53,14 @@ There are two functionally-equivalent build systems supported by kissfft:
|
|||||||
|
|
||||||
To build kissfft, the following build environment can be used:
|
To build kissfft, the following build environment can be used:
|
||||||
|
|
||||||
- GNU build environment with GCC, Clang and GNU Make or CMake (>= 3.6)
|
- GNU build environment with GCC, Clang and GNU Make or CMake (>= 3.10)
|
||||||
- Microsoft Visual C++ (MSVC) with CMake (>= 3.6)
|
- Microsoft Visual C++ (MSVC) with CMake (>= 3.10)
|
||||||
|
|
||||||
Additional libraries required to build and test kissfft include:
|
Additional libraries required to build and test kissfft include:
|
||||||
|
|
||||||
- libpng for psdpng tool,
|
- libpng for psdpng tool,
|
||||||
- libfftw3 to validate kissfft results against it,
|
- libfftw3 to validate kissfft results against it,
|
||||||
- python 2/3 with Numpy to validate kissfft results against it.
|
- Python 3 with Numpy to validate kissfft results against it.
|
||||||
- OpenMP supported by GCC, Clang or MSVC for multi-core FFT transformations
|
- OpenMP supported by GCC, Clang or MSVC for multi-core FFT transformations
|
||||||
|
|
||||||
While no tests have been performed to date, kissfft can likely be built using
|
While no tests have been performed to date, kissfft can likely be built using
|
||||||
@ -104,13 +104,13 @@ Both Make and CMake builds are easily configurable:
|
|||||||
For example, to build kissfft as a static library with 'int16_t' datatype and
|
For example, to build kissfft as a static library with 'int16_t' datatype and
|
||||||
OpenMP support using Make, run the command from kissfft source tree:
|
OpenMP support using Make, run the command from kissfft source tree:
|
||||||
|
|
||||||
```
|
```bash
|
||||||
make KISSFFT_DATATYPE=int16_t KISSFFT_STATIC=1 KISSFFT_OPENMP=1 all
|
make KISSFFT_DATATYPE=int16_t KISSFFT_STATIC=1 KISSFFT_OPENMP=1 all
|
||||||
```
|
```
|
||||||
|
|
||||||
The same configuration for CMake is:
|
The same configuration for CMake is:
|
||||||
|
|
||||||
```
|
```bash
|
||||||
mkdir build && cd build
|
mkdir build && cd build
|
||||||
cmake -DKISSFFT_DATATYPE=int16_t -DKISSFFT_STATIC=ON -DKISSFFT_OPENMP=ON ..
|
cmake -DKISSFFT_DATATYPE=int16_t -DKISSFFT_STATIC=ON -DKISSFFT_OPENMP=ON ..
|
||||||
make all
|
make all
|
||||||
@ -119,13 +119,13 @@ make all
|
|||||||
To specify '/tmp/1234' as installation prefix directory, run:
|
To specify '/tmp/1234' as installation prefix directory, run:
|
||||||
|
|
||||||
|
|
||||||
```
|
```bash
|
||||||
make PREFIX=/tmp/1234 KISSFFT_DATATYPE=int16_t KISSFFT_STATIC=1 KISSFFT_OPENMP=1 install
|
make PREFIX=/tmp/1234 KISSFFT_DATATYPE=int16_t KISSFFT_STATIC=1 KISSFFT_OPENMP=1 install
|
||||||
```
|
```
|
||||||
|
|
||||||
or
|
or
|
||||||
|
|
||||||
```
|
```bash
|
||||||
mkdir build && cd build
|
mkdir build && cd build
|
||||||
cmake -DCMAKE_INSTALL_PREFIX=/tmp/1234 -DKISSFFT_DATATYPE=int16_t -DKISSFFT_STATIC=ON -DKISSFFT_OPENMP=ON ..
|
cmake -DCMAKE_INSTALL_PREFIX=/tmp/1234 -DKISSFFT_DATATYPE=int16_t -DKISSFFT_STATIC=ON -DKISSFFT_OPENMP=ON ..
|
||||||
make all
|
make all
|
||||||
@ -137,13 +137,13 @@ make install
|
|||||||
To validate the build configured as an example above, run the following command from
|
To validate the build configured as an example above, run the following command from
|
||||||
kissfft source tree:
|
kissfft source tree:
|
||||||
|
|
||||||
```
|
```bash
|
||||||
make KISSFFT_DATATYPE=int16_t KISSFFT_STATIC=1 KISSFFT_OPENMP=1 testsingle
|
make KISSFFT_DATATYPE=int16_t KISSFFT_STATIC=1 KISSFFT_OPENMP=1 testsingle
|
||||||
```
|
```
|
||||||
|
|
||||||
if using Make, or:
|
if using Make, or:
|
||||||
|
|
||||||
```
|
```bash
|
||||||
make test
|
make test
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -152,7 +152,7 @@ if using CMake.
|
|||||||
To test all possible build configurations, please run an extended testsuite from
|
To test all possible build configurations, please run an extended testsuite from
|
||||||
kissfft source tree:
|
kissfft source tree:
|
||||||
|
|
||||||
```
|
```bash
|
||||||
sh test/kissfft-testsuite.sh
|
sh test/kissfft-testsuite.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -211,12 +211,12 @@ Transforming 5 minutes of CD quality audio takes less than a second (nfft=1024).
|
|||||||
|
|
||||||
## UNDER THE HOOD
|
## UNDER THE HOOD
|
||||||
|
|
||||||
Kiss FFT uses a time decimation, mixed-radix, out-of-place FFT. If you give it an input buffer
|
Kiss FFT uses a time decimation, mixed-radix, out-of-place FFT. If you give it an input buffer<br>
|
||||||
and output buffer that are the same, a temporary buffer will be created to hold the data.
|
and output buffer that are the same, a temporary buffer will be created to hold the data.
|
||||||
|
|
||||||
No static data is used. The core routines of kiss_fft are thread-safe (but not all of the tools directory).[
|
No static data is used. The core routines of kiss_fft are thread-safe (but not all of the tools directory).
|
||||||
|
|
||||||
No scaling is done for the floating point version (for speed).
|
No scaling is done for the floating point version (for speed).<br>
|
||||||
Scaling is done both ways for the fixed-point version (for overflow prevention).
|
Scaling is done both ways for the fixed-point version (for overflow prevention).
|
||||||
|
|
||||||
Optimized butterflies are used for factors 2,3,4, and 5.
|
Optimized butterflies are used for factors 2,3,4, and 5.
|
||||||
|
|||||||
Reference in New Issue
Block a user