Fourier_Transform Derived Type

type, public :: Fourier_Transform


Inherits

type~~fourier_transform~~InheritsGraph type~fourier_transform Fourier_Transform type~fftplan FFTPlan type~fourier_transform->type~fftplan fft_plan type~fftalgorithm FFTAlgorithm type~fftplan->type~fftalgorithm algorithm type~splitradixtwiddles SplitRadixTwiddles type~fftplan->type~splitradixtwiddles split_radix_twiddles type~twiddles_sp Twiddles_sp type~fftplan->type~twiddles_sp twiddles type~decimationmethod DecimationMethod type~fftalgorithm->type~decimationmethod decimation_method type~splitradixindices SplitRadixindices type~splitradixtwiddles->type~splitradixindices indices

Components

Type Visibility Attributes Name Initial
type(FFTPlan), public :: fft_plan

Type-Bound Procedures

generic, public :: dft => dft_cmplx_sp, dft_cmplx_dp, dft_cmplx_qp

  • private interface dft_cmplx_sp()

    Arguments

    None
  • private interface dft_cmplx_dp()

    Arguments

    None
  • private interface dft_cmplx_qp()

    Arguments

    None

generic, public :: dft => dft_real_sp, dft_real_dp, dft_real_qp

  • private interface dft_real_sp()

    Arguments

    None
  • private interface dft_real_dp()

    Arguments

    None
  • private interface dft_real_qp()

    Arguments

    None

generic, public :: dft => dft2_cmplx_sp, dft2_cmplx_dp, dft2_cmplx_qp

  • private interface dft2_cmplx_sp()

    Arguments

    None
  • private interface dft2_cmplx_dp()

    Arguments

    None
  • private interface dft2_cmplx_qp()

    Arguments

    None

generic, public :: dft => dft2_real_sp, dft2_real_dp, dft2_real_qp

  • private interface dft2_real_sp()

    Arguments

    None
  • private interface dft2_real_dp()

    Arguments

    None
  • private interface dft2_real_qp()

    Arguments

    None

generic, public :: dft => dft3_cmplx_sp, dft3_cmplx_dp, dft3_cmplx_qp

  • private interface dft3_cmplx_sp()

    Arguments

    None
  • private interface dft3_cmplx_dp()

    Arguments

    None
  • private interface dft3_cmplx_qp()

    Arguments

    None

generic, public :: dft => dft3_real_sp, dft3_real_dp, dft3_real_qp

  • private interface dft3_real_sp()

    Arguments

    None
  • private interface dft3_real_dp()

    Arguments

    None
  • private interface dft3_real_qp()

    Arguments

    None

generic, public :: idft => idft_cmplx_sp, idft_cmplx_dp, idft_cmplx_qp

  • private interface idft_cmplx_sp()

    Arguments

    None
  • private interface idft_cmplx_dp()

    Arguments

    None
  • private interface idft_cmplx_qp()

    Arguments

    None

generic, public :: idft => idft_real_sp, idft_real_dp, idft_real_qp

  • private interface idft_real_sp()

    Arguments

    None
  • private interface idft_real_dp()

    Arguments

    None
  • private interface idft_real_qp()

    Arguments

    None

generic, public :: idft => idft2_cmplx_sp, idft2_cmplx_dp, idft2_cmplx_qp

  • private interface idft2_cmplx_sp()

    Arguments

    None
  • private interface idft2_cmplx_dp()

    Arguments

    None
  • private interface idft2_cmplx_qp()

    Arguments

    None

generic, public :: idft => idft2_real_sp, idft2_real_dp, idft2_real_qp

  • private interface idft2_real_sp()

    Arguments

    None
  • private interface idft2_real_dp()

    Arguments

    None
  • private interface idft2_real_qp()

    Arguments

    None

generic, public :: idft => idft3_cmplx_sp, idft3_cmplx_dp, idft3_cmplx_qp

  • private interface idft3_cmplx_sp()

    Arguments

    None
  • private interface idft3_cmplx_dp()

    Arguments

    None
  • private interface idft3_cmplx_qp()

    Arguments

    None

generic, public :: idft => idft3_real_sp, idft3_real_dp, idft3_real_qp

  • private interface idft3_real_sp()

    Arguments

    None
  • private interface idft3_real_dp()

    Arguments

    None
  • private interface idft3_real_qp()

    Arguments

    None

generic, public :: init_fft_plan => init_fft_plan_sp

  • private interface init_fft_plan_sp()

    Arguments

    None

generic, public :: fft => fft_cmplx_sp

  • private interface fft_cmplx_sp()

    Arguments

    None

generic, public :: destroy_fft_plan => destroy_fft_plan_sp

  • private interface destroy_fft_plan_sp()

    Arguments

    None

Source Code

    type :: Fourier_Transform
        type(FFTPlan) :: fft_plan
    contains
        procedure, nopass, private :: dft_cmplx_sp, dft_cmplx_dp, dft_cmplx_qp
        generic :: dft => dft_cmplx_sp, dft_cmplx_dp, dft_cmplx_qp
        procedure, nopass, private :: dft_real_sp, dft_real_dp, dft_real_qp
        generic :: dft => dft_real_sp, dft_real_dp, dft_real_qp
        procedure, nopass, private :: dft2_cmplx_sp, dft2_cmplx_dp, dft2_cmplx_qp
        generic :: dft => dft2_cmplx_sp, dft2_cmplx_dp, dft2_cmplx_qp
        procedure, nopass, private :: dft2_real_sp, dft2_real_dp, dft2_real_qp
        generic :: dft => dft2_real_sp, dft2_real_dp, dft2_real_qp
        procedure, nopass, private :: dft3_cmplx_sp, dft3_cmplx_dp, dft3_cmplx_qp
        generic :: dft => dft3_cmplx_sp, dft3_cmplx_dp, dft3_cmplx_qp
        procedure, nopass, private :: dft3_real_sp, dft3_real_dp, dft3_real_qp
        generic :: dft => dft3_real_sp, dft3_real_dp, dft3_real_qp

        procedure, nopass, private :: idft_cmplx_sp, idft_cmplx_dp, idft_cmplx_qp
        generic :: idft => idft_cmplx_sp, idft_cmplx_dp, idft_cmplx_qp
        procedure, nopass, private :: idft_real_sp, idft_real_dp, idft_real_qp
        generic :: idft => idft_real_sp, idft_real_dp, idft_real_qp
        procedure, nopass, private :: idft2_cmplx_sp, idft2_cmplx_dp, idft2_cmplx_qp
        generic :: idft => idft2_cmplx_sp, idft2_cmplx_dp, idft2_cmplx_qp
        procedure, nopass, private :: idft2_real_sp, idft2_real_dp, idft2_real_qp
        generic :: idft => idft2_real_sp, idft2_real_dp, idft2_real_qp
        procedure, nopass, private :: idft3_cmplx_sp, idft3_cmplx_dp, idft3_cmplx_qp
        generic :: idft => idft3_cmplx_sp, idft3_cmplx_dp, idft3_cmplx_qp
        procedure, nopass, private :: idft3_real_sp, idft3_real_dp, idft3_real_qp
        generic :: idft => idft3_real_sp, idft3_real_dp, idft3_real_qp

        procedure, private :: init_fft_plan_sp
        generic :: init_fft_plan => init_fft_plan_sp

        procedure, private :: fft_cmplx_sp
        generic :: fft => fft_cmplx_sp

        procedure, private :: destroy_fft_plan_sp
        generic :: destroy_fft_plan => destroy_fft_plan_sp
    end type Fourier_Transform