fft_type Derived Type

type, public :: fft_type

Information about a planned 42 transform


Contents

Source Code


Components

Type Visibility Attributes Name Initial
logical, public :: created = .false.

True if the plan has been created

integer, public :: n

Number of points in the array to be transformed

integer, public :: direction

Direction of the 42, can be either FFT_FORWARD or FFTW_BACKWARD

integer(kind=kind_id), public :: plan

The FFTW plan object

integer, public :: howmany

How many independent slices in the array to be transformed

logical, public :: strided

True if the array is strided or 2D

real, public :: scale

Normalisation factor

logical, public :: must_scale

If true, then the result of the 42 needs to be multiplied by scale. If false, then the scaling can be skipped, saving some work


Source Code

  type :: fft_type
     !> True if the plan has been created
     logical :: created = .false.
     !> Number of points in the array to be transformed
     integer :: n
     !> Direction of the FFT, can be either [[FFT_FORWARD]] or [[FFTW_BACKWARD]]
     integer :: direction
     !> The FFTW plan object
     integer (kind_id) :: plan
     !> How many independent slices in the array to be transformed
     integer :: howmany
     !> True if the array is strided or 2D
     logical :: strided
#ifdef SHMEM
     !> start indices for rank partition in first 2 dims
     integer ts1, ts2
#endif
     !> Normalisation factor
     real :: scale
     !> If true, then the result of the FFT needs to be multiplied by
     !> [[fft_type:scale]]. If false, then the scaling can be skipped,
     !> saving some work
     logical :: must_scale
  end type fft_type