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