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

7.1 Overview of Fortran interface

FFTW provides a file fftw3.f03 that defines Fortran 2003 interfaces for all of its C routines, except for the MPI routines described elsewhere, which can be found in the same directory as fftw3.h (the C header file). In any Fortran subroutine where you want to use FFTW functions, you should begin with:

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

This includes the interface definitions and the standard iso_c_binding module (which defines the equivalents of C types). You can also put the FFTW functions into a module if you prefer (see section Defining an FFTW module).

At this point, you can now call anything in the FFTW C interface directly, almost exactly as in C other than minor changes in syntax. For example:

  type(C_PTR) :: plan
  complex(C_DOUBLE_COMPLEX), dimension(1024,1000) :: in, out
  plan = fftw_plan_dft_2d(1000,1024, in,out, FFTW_FORWARD,FFTW_ESTIMATE)
  ...
  call fftw_execute_dft(plan, in, out)
  ...
  call fftw_destroy_plan(plan)

A few important things to keep in mind are:


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

This document was generated on March 3, 2012 using texi2html 5.0.

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