manpagez: man pages & more
info fftw3
Home | html | info | man
[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

7.1.1 Extended and quadruple precision in Fortran

If FFTW is compiled in long double (extended) precision (see section Installation and Customization), you may be able to call the resulting fftwl_ routines (see section Precision) from Fortran if your compiler supports the C_LONG_DOUBLE_COMPLEX type code.

Because some Fortran compilers do not support C_LONG_DOUBLE_COMPLEX, the fftwl_ declarations are segregated into a separate interface file fftw3l.f03, which you should include in addition to fftw3.f03 (which declares precision-independent ‘FFTW_’ constants):

  use, intrinsic :: iso_c_binding 
  include 'fftw3.f03'
  include 'fftw3l.f03'

We also support using the nonstandard __float128 quadruple-precision type provided by recent versions of gcc on 32- and 64-bit x86 hardware (see section Installation and Customization), using the corresponding real(16) and complex(16) types supported by gfortran. The quadruple-precision ‘fftwq_’ functions (see section Precision) are declared in a fftw3q.f03 interface file, which should be included in addition to fftw3l.f03, as above. You should also link with -lfftw3q -lquadmath -lm as in C.


This document was generated on March 17, 2014 using texi2html 5.0.

© manpagez.com 2000-2024
Individual documents may contain additional copyright information.