vendors/fftw3/doc/html/Precision.html
Next: Memory Allocation, Previous: Complex numbers, Up: Data Types and Files [Contents][Index]
You can install single and long-double precision versions of FFTW, which replace double with float and long double, respectively (see Installation and Customization). To use these interfaces, you:
-lfftw3f or -lfftw3l instead of (or in addition to) -lfftw3. (You can link to the different-precision libraries simultaneously.)<fftw3.h> header file.fftw_complex becomes fftwf_complex, fftw_execute becomes fftwf_execute, etcetera.)double with float or long double for subroutine parameters.Depending upon your compiler and/or hardware, long double may not be any more precise than double (or may not be supported at all, although it is standard in C99).
We also support using the nonstandard __float128 quadruple-precision type provided by recent versions of gcc on 32- and 64-bit x86 hardware (see Installation and Customization). To use this type, link with -lfftw3q -lquadmath -lm (the libquadmath library provided by gcc is needed for quadruple-precision trigonometric functions) and use ‘fftwq_’ identifiers.