this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Update documentation

Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>

+213
+99
README
··· 43 43 The core fft and most tools/ code can be compiled to use float, double, 44 44 Q15 short or Q31 samples. The default is float. 45 45 46 + BUILDING: 47 + 48 + There are two functionally-equivalent build systems supported by kissfft: 49 + 50 + * Make (traditional Makefiles for Unix / Linux systems) 51 + * CMake (more modern and feature-rich build system developed by Kitware) 52 + 53 + To build kissfft, the following build environment can be used: 54 + 55 + * GNU build environment with GCC, Clang and GNU Make or CMake (>= 3.6) 56 + * Microsoft Visual C++ (MSVC) with CMake (>= 3.6) 57 + 58 + Additional libraries required to build and test kissfft include: 59 + 60 + * libpng for psdpng tool, 61 + * libfftw3 to validate kissfft results against it, 62 + * python 2/3 with Numpy to validate kissfft results against it. 63 + * OpenMP supported by GCC, Clang or MSVC for multi-core FFT transformations 64 + 65 + Environments like Cygwin and MinGW can be highly likely used to build kissfft 66 + targeting Windows platform, but no tests were performed to the date. 67 + 68 + Both Make and CMake builds are easily configurable: 69 + 70 + * 'KISSFFT_DATATYPE=<datatype>' (for Make) or '-DKISSFFT_DATATYPE=<datatype>' 71 + (for CMake) denote the principal datatype used by kissfft. It can be one 72 + of the following: 73 + 74 + * float (default) 75 + * double 76 + * int16_t 77 + * int32_t 78 + * SIMD (requires SSE instruction set support on target CPU) 79 + 80 + * 'KISSFFT_OPENMP=1' (for Make) or '-DKISSFFT_OPENMP=ON' (for CMake) builds kissfft 81 + with OpenMP support. Please note that a supported compiler is required and this 82 + option is turned off by default. 83 + 84 + * 'KISSFFT_STATIC=1' (for Make) or '-DKISSFFT_STATIC=ON' (for CMake) instructs 85 + the builder to create static library ('.lib' for Windows / '.a' for Unix or Linux). 86 + By default, this option is turned off and the shared library is created 87 + ('.dll' for Windows, '.so' for Linux or Unix, '.dylib' for Mac OSX) 88 + 89 + * '-DKISSFFT_TEST=OFF' (for CMake) disables building tests for kissfft. On Make, 90 + building tests is done separately by 'make testall' or 'make testsingle', so 91 + no specific setting is required. 92 + 93 + * 'KISSFFT_TOOLS=0' (for Make) or '-DKISSFFT_TOOLS=OFF' (for CMake) builds kissfft 94 + without command-line tools like 'fastconv'. By default the tools are built. 95 + 96 + * 'KISSFFT_USE_ALLOCA=1' (for Make) or '-DKISSFFT_USE_ALLOCA=ON' (for CMake) 97 + build kissfft with 'alloca' usage instead of 'malloc' / 'free'. 98 + 99 + * "PREFIX=/full/path/to/installation/prefix/directory" (for Make) or 100 + "-DCMAKE_INSTALL_PREFIX=/full/path/to/installation/prefix/directory' (for CMake) 101 + specifies the prefix directory to install kissfft into. 102 + 103 + For example, to build kissfft as a static library with 'int16_t' datatype and 104 + OpenMP support using Make, run the command from kissfft source tree: 105 + 106 + make KISSFFT_DATATYPE=int16_t KISSFFT_STATIC=1 KISSFFT_OPENMP=1 all 107 + 108 + The same configuration for CMake is: 109 + 110 + mkdir build && cd build 111 + cmake -DKISSFFT_DATATYPE=int16_t -DKISSFFT_STATIC=ON -DKISSFFT_OPENMP=ON .. 112 + make all 113 + 114 + To specify '/tmp/1234' as installation prefix directory, run: 115 + 116 + make PREFIX=/tmp/1234 KISSFFT_DATATYPE=int16_t KISSFFT_STATIC=1 KISSFFT_OPENMP=1 install 117 + 118 + or 119 + 120 + mkdir build && cd build 121 + cmake -DCMAKE_INSTALL_PREFIX=/tmp/1234 -DKISSFFT_DATATYPE=int16_t -DKISSFFT_STATIC=ON -DKISSFFT_OPENMP=ON .. 122 + make all 123 + make install 124 + 125 + TESTING: 126 + 127 + To validate the build configured as an example above, run the following command from 128 + kissfft source tree: 129 + 130 + make KISSFFT_DATATYPE=int16_t KISSFFT_STATIC=1 KISSFFT_OPENMP=1 testsingle 131 + 132 + if using Make, or: 133 + 134 + make test 135 + 136 + if using CMake. 137 + 138 + To test all possible build configurations, please run an extended testsuite from 139 + kissfft source tree: 140 + 141 + sh test/kissfft-testsuite.sh 142 + 143 + Please note that the extended testsuite takes around 20-40 minutes depending on device 144 + it runs on. This testsuite is useful for reporting bugs or testing the pull requests. 46 145 47 146 BACKGROUND: 48 147
+114
README.md
··· 44 44 The core fft and most tools/ code can be compiled to use float, double, 45 45 Q15 short or Q31 samples. The default is float. 46 46 47 + ## BUILDING: 48 + 49 + There are two functionally-equivalent build systems supported by kissfft: 50 + 51 + - Make (traditional Makefiles for Unix / Linux systems) 52 + - CMake (more modern and feature-rich build system developed by Kitware) 53 + 54 + To build kissfft, the following build environment can be used: 55 + 56 + - GNU build environment with GCC, Clang and GNU Make or CMake (>= 3.6) 57 + - Microsoft Visual C++ (MSVC) with CMake (>= 3.6) 58 + 59 + Additional libraries required to build and test kissfft include: 60 + 61 + - libpng for psdpng tool, 62 + - libfftw3 to validate kissfft results against it, 63 + - python 2/3 with Numpy to validate kissfft results against it. 64 + - OpenMP supported by GCC, Clang or MSVC for multi-core FFT transformations 65 + 66 + Environments like Cygwin and MinGW can be highly likely used to build kissfft 67 + targeting Windows platform, but no tests were performed to the date. 68 + 69 + Both Make and CMake builds are easily configurable: 70 + 71 + - `KISSFFT_DATATYPE=<datatype>` (for Make) or `-DKISSFFT_DATATYPE=<datatype>` 72 + (for CMake) denote the principal datatype used by kissfft. It can be one 73 + of the following: 74 + 75 + - float (default) 76 + - double 77 + - int16_t 78 + - int32_t 79 + - SIMD (requires SSE instruction set support on target CPU) 80 + 81 + - `KISSFFT_OPENMP=1` (for Make) or `-DKISSFFT_OPENMP=ON` (for CMake) builds kissfft 82 + with OpenMP support. Please note that a supported compiler is required and this 83 + option is turned off by default. 84 + 85 + - `KISSFFT_STATIC=1` (for Make) or `-DKISSFFT_STATIC=ON` (for CMake) instructs 86 + the builder to create static library ('.lib' for Windows / '.a' for Unix or Linux). 87 + By default, this option is turned off and the shared library is created 88 + ('.dll' for Windows, '.so' for Linux or Unix, '.dylib' for Mac OSX) 89 + 90 + - `-DKISSFFT_TEST=OFF` (for CMake) disables building tests for kissfft. On Make, 91 + building tests is done separately by 'make testall' or 'make testsingle', so 92 + no specific setting is required. 93 + 94 + - `KISSFFT_TOOLS=0` (for Make) or `-DKISSFFT_TOOLS=OFF` (for CMake) builds kissfft 95 + without command-line tools like 'fastconv'. By default the tools are built. 96 + 97 + - `KISSFFT_USE_ALLOCA=1` (for Make) or `-DKISSFFT_USE_ALLOCA=ON` (for CMake) 98 + build kissfft with 'alloca' usage instead of 'malloc' / 'free'. 99 + 100 + - `PREFIX=/full/path/to/installation/prefix/directory` (for Make) or 101 + `-DCMAKE_INSTALL_PREFIX=/full/path/to/installation/prefix/directory` (for CMake) 102 + specifies the prefix directory to install kissfft into. 103 + 104 + For example, to build kissfft as a static library with 'int16_t' datatype and 105 + OpenMP support using Make, run the command from kissfft source tree: 106 + 107 + ``` 108 + make KISSFFT_DATATYPE=int16_t KISSFFT_STATIC=1 KISSFFT_OPENMP=1 all 109 + ``` 110 + 111 + The same configuration for CMake is: 112 + 113 + ``` 114 + mkdir build && cd build 115 + cmake -DKISSFFT_DATATYPE=int16_t -DKISSFFT_STATIC=ON -DKISSFFT_OPENMP=ON .. 116 + make all 117 + ``` 118 + 119 + To specify '/tmp/1234' as installation prefix directory, run: 120 + 121 + 122 + ``` 123 + make PREFIX=/tmp/1234 KISSFFT_DATATYPE=int16_t KISSFFT_STATIC=1 KISSFFT_OPENMP=1 install 124 + ``` 125 + 126 + or 127 + 128 + ``` 129 + mkdir build && cd build 130 + cmake -DCMAKE_INSTALL_PREFIX=/tmp/1234 -DKISSFFT_DATATYPE=int16_t -DKISSFFT_STATIC=ON -DKISSFFT_OPENMP=ON .. 131 + make all 132 + make install 133 + ``` 134 + 135 + ## TESTING: 136 + 137 + To validate the build configured as an example above, run the following command from 138 + kissfft source tree: 139 + 140 + ``` 141 + make KISSFFT_DATATYPE=int16_t KISSFFT_STATIC=1 KISSFFT_OPENMP=1 testsingle 142 + ``` 143 + 144 + if using Make, or: 145 + 146 + ``` 147 + make test 148 + ``` 149 + 150 + if using CMake. 151 + 152 + To test all possible build configurations, please run an extended testsuite from 153 + kissfft source tree: 154 + 155 + ``` 156 + sh test/kissfft-testsuite.sh 157 + ``` 158 + 159 + Please note that the extended testsuite takes around 20-40 minutes depending on device 160 + it runs on. This testsuite is useful for reporting bugs or testing the pull requests. 47 161 48 162 ## BACKGROUND 49 163