modern_fft_lib Module


Uses

  • module~~modern_fft_lib~~UsesGraph module~modern_fft_lib modern_fft_lib module~precision_def precision_def module~modern_fft_lib->module~precision_def iso_c_binding iso_c_binding module~modern_fft_lib->iso_c_binding

Used by

  • module~~modern_fft_lib~~UsedByGraph module~modern_fft_lib modern_fft_lib module~prl_fft prl_fft module~prl_fft->module~modern_fft_lib module~psolve psolve module~psolve->module~prl_fft module~init_beam_part_distrib init_beam_part_distrib module~init_beam_part_distrib->module~psolve module~pic_out_util pic_out_util module~pic_out_util->module~psolve program~aladyn aladyn program~aladyn->module~init_beam_part_distrib program~aladyn->module~pic_out_util

Contents

fftw_plan_dft fftw_plan_dft_1d fftw_plan_dft_2d fftw_plan_dft_3d fftw_plan_many_dft fftw_plan_guru_dft fftw_plan_guru_split_dft fftw_plan_guru64_dft fftw_plan_guru64_split_dft fftw_plan_many_dft_r2c fftw_plan_dft_r2c fftw_plan_dft_r2c_1d fftw_plan_dft_r2c_2d fftw_plan_dft_r2c_3d fftw_plan_many_dft_c2r fftw_plan_dft_c2r fftw_plan_dft_c2r_1d fftw_plan_dft_c2r_2d fftw_plan_dft_c2r_3d fftw_plan_guru_dft_r2c fftw_plan_guru_dft_c2r fftw_plan_guru_split_dft_r2c fftw_plan_guru_split_dft_c2r fftw_plan_guru64_dft_r2c fftw_plan_guru64_dft_c2r fftw_plan_guru64_split_dft_r2c fftw_plan_guru64_split_dft_c2r fftw_plan_many_r2r fftw_plan_r2r fftw_plan_r2r_1d fftw_plan_r2r_2d fftw_plan_r2r_3d fftw_plan_guru_r2r fftw_plan_guru64_r2r fftw_init_threads fftw_export_wisdom_to_filename fftw_export_wisdom_to_string fftw_import_system_wisdom fftw_import_wisdom_from_filename fftw_import_wisdom_from_file fftw_import_wisdom_from_string fftw_import_wisdom fftw_sprint_plan fftw_malloc fftw_alloc_real fftw_alloc_complex fftw_estimate_cost fftw_cost fftw_alignment_of fftw_execute_dft fftw_execute_split_dft fftw_execute_dft_r2c fftw_execute_dft_c2r fftw_execute_split_dft_r2c fftw_execute_split_dft_c2r fftw_execute_r2r fftw_destroy_plan fftw_forget_wisdom fftw_cleanup fftw_set_timelimit fftw_plan_with_nthreads fftw_cleanup_threads fftw_make_planner_thread_safe fftw_export_wisdom_to_file fftw_export_wisdom fftw_fprint_plan fftw_print_plan fftw_free fftw_flops fftwf_plan_dft fftwf_plan_dft_1d fftwf_plan_dft_2d fftwf_plan_dft_3d fftwf_plan_many_dft fftwf_plan_guru_dft fftwf_plan_guru_split_dft fftwf_plan_guru64_dft fftwf_plan_guru64_split_dft fftwf_plan_many_dft_r2c fftwf_plan_dft_r2c fftwf_plan_dft_r2c_1d fftwf_plan_dft_r2c_2d fftwf_plan_dft_r2c_3d fftwf_plan_many_dft_c2r fftwf_plan_dft_c2r fftwf_plan_dft_c2r_1d fftwf_plan_dft_c2r_2d fftwf_plan_dft_c2r_3d fftwf_plan_guru_dft_r2c fftwf_plan_guru_dft_c2r fftwf_plan_guru_split_dft_r2c fftwf_plan_guru_split_dft_c2r fftwf_plan_guru64_dft_r2c fftwf_plan_guru64_dft_c2r fftwf_plan_guru64_split_dft_r2c fftwf_plan_guru64_split_dft_c2r fftwf_plan_many_r2r fftwf_plan_r2r fftwf_plan_r2r_1d fftwf_plan_r2r_2d fftwf_plan_r2r_3d fftwf_plan_guru_r2r fftwf_plan_guru64_r2r fftwf_init_threads fftwf_export_wisdom_to_filename fftwf_export_wisdom_to_string fftwf_import_system_wisdom fftwf_import_wisdom_from_filename fftwf_import_wisdom_from_file fftwf_import_wisdom_from_string fftwf_import_wisdom fftwf_sprint_plan fftwf_malloc fftwf_alloc_real fftwf_alloc_complex fftwf_estimate_cost fftwf_cost fftwf_alignment_of fftwf_execute_dft fftwf_execute_split_dft fftwf_execute_dft_r2c fftwf_execute_dft_c2r fftwf_execute_split_dft_r2c fftwf_execute_split_dft_c2r fftwf_execute_r2r fftwf_destroy_plan fftwf_forget_wisdom fftwf_cleanup fftwf_set_timelimit fftwf_plan_with_nthreads fftwf_cleanup_threads fftwf_make_planner_thread_safe fftwf_export_wisdom_to_file fftwf_export_wisdom fftwf_fprint_plan fftwf_print_plan fftwf_free fftwf_flops

Variables

TypeVisibility AttributesNameInitial
integer, public, parameter:: C_FFTW_R2R_KIND =C_INT32_T
integer(kind=C_INT), public, parameter:: FFTW_R2HC =0
integer(kind=C_INT), public, parameter:: FFTW_HC2R =1
integer(kind=C_INT), public, parameter:: FFTW_DHT =2
integer(kind=C_INT), public, parameter:: FFTW_REDFT00 =3
integer(kind=C_INT), public, parameter:: FFTW_REDFT01 =4
integer(kind=C_INT), public, parameter:: FFTW_REDFT10 =5
integer(kind=C_INT), public, parameter:: FFTW_REDFT11 =6
integer(kind=C_INT), public, parameter:: FFTW_RODFT00 =7
integer(kind=C_INT), public, parameter:: FFTW_RODFT01 =8
integer(kind=C_INT), public, parameter:: FFTW_RODFT10 =9
integer(kind=C_INT), public, parameter:: FFTW_RODFT11 =10
integer(kind=C_INT), public, parameter:: FFTW_FORWARD =-1
integer(kind=C_INT), public, parameter:: FFTW_BACKWARD =+1
integer(kind=C_INT), public, parameter:: FFTW_MEASURE =0
integer(kind=C_INT), public, parameter:: FFTW_DESTROY_INPUT =1
integer(kind=C_INT), public, parameter:: FFTW_UNALIGNED =2
integer(kind=C_INT), public, parameter:: FFTW_CONSERVE_MEMORY =4
integer(kind=C_INT), public, parameter:: FFTW_EXHAUSTIVE =8
integer(kind=C_INT), public, parameter:: FFTW_PRESERVE_INPUT =16
integer(kind=C_INT), public, parameter:: FFTW_PATIENT =32
integer(kind=C_INT), public, parameter:: FFTW_ESTIMATE =64
integer(kind=C_INT), public, parameter:: FFTW_WISDOM_ONLY =2097152
integer(kind=C_INT), public, parameter:: FFTW_ESTIMATE_PATIENT =128
integer(kind=C_INT), public, parameter:: FFTW_BELIEVE_PCOST =256
integer(kind=C_INT), public, parameter:: FFTW_NO_DFT_R2HC =512
integer(kind=C_INT), public, parameter:: FFTW_NO_NONTHREADED =1024
integer(kind=C_INT), public, parameter:: FFTW_NO_BUFFERING =2048
integer(kind=C_INT), public, parameter:: FFTW_NO_INDIRECT_OP =4096
integer(kind=C_INT), public, parameter:: FFTW_ALLOW_LARGE_GENERIC =8192
integer(kind=C_INT), public, parameter:: FFTW_NO_RANK_SPLITS =16384
integer(kind=C_INT), public, parameter:: FFTW_NO_VRANK_SPLITS =32768
integer(kind=C_INT), public, parameter:: FFTW_NO_VRECURSE =65536
integer(kind=C_INT), public, parameter:: FFTW_NO_SIMD =131072
integer(kind=C_INT), public, parameter:: FFTW_NO_SLOW =262144
integer(kind=C_INT), public, parameter:: FFTW_NO_FIXED_RADIX_LARGE_N =524288
integer(kind=C_INT), public, parameter:: FFTW_ALLOW_PRUNING =1048576
real(kind=C_DOUBLE), public, pointer:: in1_1d(:)

Array for the FFT along x

real(kind=C_DOUBLE), public, pointer:: in2_1d(:)

Array for the FFT along y

real(kind=C_DOUBLE), public, pointer:: in3_1d(:)

Array for the FFT along z

type(C_PTR), public :: data1_sc

C Pointers assigned to the arrays

type(C_PTR), public :: data2_sc

C Pointers assigned to the arrays

type(C_PTR), public :: data3_sc

C Pointers assigned to the arrays

type(C_PTR), public :: plan1_s

Plans of the sine and cosine FFT along x

type(C_PTR), public :: plan1_c

Plans of the sine and cosine FFT along x

type(C_PTR), public :: plan2_s

Plans of the sine and cosine FFT along y

type(C_PTR), public :: plan2_c

Plans of the sine and cosine FFT along y

type(C_PTR), public :: plan3_s

Plans of the sine and cosine FFT along z

type(C_PTR), public :: plan3_c

Plans of the sine and cosine FFT along z

type(C_PTR), public :: plan1
type(C_PTR), public :: iplan1
type(C_PTR), public :: plan2
type(C_PTR), public :: iplan2
type(C_PTR), public :: plan3
type(C_PTR), public :: iplan3
real(kind=C_DOUBLE), public, pointer:: w1_re(:)
real(kind=C_DOUBLE), public, pointer:: w2_re(:)
real(kind=C_DOUBLE), public, pointer:: w3_re(:)
complex(kind=C_DOUBLE_COMPLEX), public, pointer:: w1_cplx(:)
complex(kind=C_DOUBLE_COMPLEX), public, pointer:: w2_cplx(:)
complex(kind=C_DOUBLE_COMPLEX), public, pointer:: w3_cplx(:)
type(C_PTR), public :: data1
type(C_PTR), public :: data2
type(C_PTR), public :: data3
real(kind=dp), public, allocatable:: cw(:,:)
real(kind=dp), public, allocatable:: w1_st(:)
real(kind=dp), public, allocatable:: cfhx(:)
real(kind=dp), public, allocatable:: sfhx(:)
real(kind=dp), public, allocatable:: cfhy(:)
real(kind=dp), public, allocatable:: sfhy(:)
real(kind=dp), public, allocatable:: cfhz(:)
real(kind=dp), public, allocatable:: sfhz(:)

Interfaces

interface

  • public function fftw_plan_dft(rank, n, in, out, sign, flags) bind(C, name='fftw_plan_dft')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: rank
    integer(kind=C_INT), intent(in), dimension(*):: n
    complex(kind=C_DOUBLE_COMPLEX), intent(out), dimension(*):: in
    complex(kind=C_DOUBLE_COMPLEX), intent(out), dimension(*):: out
    integer(kind=C_INT), value:: sign
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftw_plan_dft_1d(n, in, out, sign, flags) bind(C, name='fftw_plan_dft_1d')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: n
    complex(kind=C_DOUBLE_COMPLEX), intent(out), dimension(*):: in
    complex(kind=C_DOUBLE_COMPLEX), intent(out), dimension(*):: out
    integer(kind=C_INT), value:: sign
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftw_plan_dft_2d(n0, n1, in, out, sign, flags) bind(C, name='fftw_plan_dft_2d')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: n0
    integer(kind=C_INT), value:: n1
    complex(kind=C_DOUBLE_COMPLEX), intent(out), dimension(*):: in
    complex(kind=C_DOUBLE_COMPLEX), intent(out), dimension(*):: out
    integer(kind=C_INT), value:: sign
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftw_plan_dft_3d(n0, n1, n2, in, out, sign, flags) bind(C, name='fftw_plan_dft_3d')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: n0
    integer(kind=C_INT), value:: n1
    integer(kind=C_INT), value:: n2
    complex(kind=C_DOUBLE_COMPLEX), intent(out), dimension(*):: in
    complex(kind=C_DOUBLE_COMPLEX), intent(out), dimension(*):: out
    integer(kind=C_INT), value:: sign
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftw_plan_many_dft(rank, n, howmany, in, inembed, istride, idist, out, onembed, ostride, odist, sign, flags) bind(C, name='fftw_plan_many_dft')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: rank
    integer(kind=C_INT), intent(in), dimension(*):: n
    integer(kind=C_INT), value:: howmany
    complex(kind=C_DOUBLE_COMPLEX), intent(out), dimension(*):: in
    integer(kind=C_INT), intent(in), dimension(*):: inembed
    integer(kind=C_INT), value:: istride
    integer(kind=C_INT), value:: idist
    complex(kind=C_DOUBLE_COMPLEX), intent(out), dimension(*):: out
    integer(kind=C_INT), intent(in), dimension(*):: onembed
    integer(kind=C_INT), value:: ostride
    integer(kind=C_INT), value:: odist
    integer(kind=C_INT), value:: sign
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftw_plan_guru_dft(rank, dims, howmany_rank, howmany_dims, in, out, sign, flags) bind(C, name='fftw_plan_guru_dft')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: rank
    type(fftw_iodim), intent(in), dimension(*):: dims
    integer(kind=C_INT), value:: howmany_rank
    type(fftw_iodim), intent(in), dimension(*):: howmany_dims
    complex(kind=C_DOUBLE_COMPLEX), intent(out), dimension(*):: in
    complex(kind=C_DOUBLE_COMPLEX), intent(out), dimension(*):: out
    integer(kind=C_INT), value:: sign
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftw_plan_guru_split_dft(rank, dims, howmany_rank, howmany_dims, ri, ii, ro, io, flags) bind(C, name='fftw_plan_guru_split_dft')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: rank
    type(fftw_iodim), intent(in), dimension(*):: dims
    integer(kind=C_INT), value:: howmany_rank
    type(fftw_iodim), intent(in), dimension(*):: howmany_dims
    real(kind=C_DOUBLE), intent(out), dimension(*):: ri
    real(kind=C_DOUBLE), intent(out), dimension(*):: ii
    real(kind=C_DOUBLE), intent(out), dimension(*):: ro
    real(kind=C_DOUBLE), intent(out), dimension(*):: io
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftw_plan_guru64_dft(rank, dims, howmany_rank, howmany_dims, in, out, sign, flags) bind(C, name='fftw_plan_guru64_dft')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: rank
    type(fftw_iodim64), intent(in), dimension(*):: dims
    integer(kind=C_INT), value:: howmany_rank
    type(fftw_iodim64), intent(in), dimension(*):: howmany_dims
    complex(kind=C_DOUBLE_COMPLEX), intent(out), dimension(*):: in
    complex(kind=C_DOUBLE_COMPLEX), intent(out), dimension(*):: out
    integer(kind=C_INT), value:: sign
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftw_plan_guru64_split_dft(rank, dims, howmany_rank, howmany_dims, ri, ii, ro, io, flags) bind(C, name='fftw_plan_guru64_split_dft')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: rank
    type(fftw_iodim64), intent(in), dimension(*):: dims
    integer(kind=C_INT), value:: howmany_rank
    type(fftw_iodim64), intent(in), dimension(*):: howmany_dims
    real(kind=C_DOUBLE), intent(out), dimension(*):: ri
    real(kind=C_DOUBLE), intent(out), dimension(*):: ii
    real(kind=C_DOUBLE), intent(out), dimension(*):: ro
    real(kind=C_DOUBLE), intent(out), dimension(*):: io
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftw_plan_many_dft_r2c(rank, n, howmany, in, inembed, istride, idist, out, onembed, ostride, odist, flags) bind(C, name='fftw_plan_many_dft_r2c')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: rank
    integer(kind=C_INT), intent(in), dimension(*):: n
    integer(kind=C_INT), value:: howmany
    real(kind=C_DOUBLE), intent(out), dimension(*):: in
    integer(kind=C_INT), intent(in), dimension(*):: inembed
    integer(kind=C_INT), value:: istride
    integer(kind=C_INT), value:: idist
    complex(kind=C_DOUBLE_COMPLEX), intent(out), dimension(*):: out
    integer(kind=C_INT), intent(in), dimension(*):: onembed
    integer(kind=C_INT), value:: ostride
    integer(kind=C_INT), value:: odist
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftw_plan_dft_r2c(rank, n, in, out, flags) bind(C, name='fftw_plan_dft_r2c')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: rank
    integer(kind=C_INT), intent(in), dimension(*):: n
    real(kind=C_DOUBLE), intent(out), dimension(*):: in
    complex(kind=C_DOUBLE_COMPLEX), intent(out), dimension(*):: out
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftw_plan_dft_r2c_1d(n, in, out, flags) bind(C, name='fftw_plan_dft_r2c_1d')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: n
    real(kind=C_DOUBLE), intent(out), dimension(*):: in
    complex(kind=C_DOUBLE_COMPLEX), intent(out), dimension(*):: out
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftw_plan_dft_r2c_2d(n0, n1, in, out, flags) bind(C, name='fftw_plan_dft_r2c_2d')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: n0
    integer(kind=C_INT), value:: n1
    real(kind=C_DOUBLE), intent(out), dimension(*):: in
    complex(kind=C_DOUBLE_COMPLEX), intent(out), dimension(*):: out
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftw_plan_dft_r2c_3d(n0, n1, n2, in, out, flags) bind(C, name='fftw_plan_dft_r2c_3d')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: n0
    integer(kind=C_INT), value:: n1
    integer(kind=C_INT), value:: n2
    real(kind=C_DOUBLE), intent(out), dimension(*):: in
    complex(kind=C_DOUBLE_COMPLEX), intent(out), dimension(*):: out
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftw_plan_many_dft_c2r(rank, n, howmany, in, inembed, istride, idist, out, onembed, ostride, odist, flags) bind(C, name='fftw_plan_many_dft_c2r')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: rank
    integer(kind=C_INT), intent(in), dimension(*):: n
    integer(kind=C_INT), value:: howmany
    complex(kind=C_DOUBLE_COMPLEX), intent(out), dimension(*):: in
    integer(kind=C_INT), intent(in), dimension(*):: inembed
    integer(kind=C_INT), value:: istride
    integer(kind=C_INT), value:: idist
    real(kind=C_DOUBLE), intent(out), dimension(*):: out
    integer(kind=C_INT), intent(in), dimension(*):: onembed
    integer(kind=C_INT), value:: ostride
    integer(kind=C_INT), value:: odist
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftw_plan_dft_c2r(rank, n, in, out, flags) bind(C, name='fftw_plan_dft_c2r')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: rank
    integer(kind=C_INT), intent(in), dimension(*):: n
    complex(kind=C_DOUBLE_COMPLEX), intent(out), dimension(*):: in
    real(kind=C_DOUBLE), intent(out), dimension(*):: out
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftw_plan_dft_c2r_1d(n, in, out, flags) bind(C, name='fftw_plan_dft_c2r_1d')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: n
    complex(kind=C_DOUBLE_COMPLEX), intent(out), dimension(*):: in
    real(kind=C_DOUBLE), intent(out), dimension(*):: out
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftw_plan_dft_c2r_2d(n0, n1, in, out, flags) bind(C, name='fftw_plan_dft_c2r_2d')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: n0
    integer(kind=C_INT), value:: n1
    complex(kind=C_DOUBLE_COMPLEX), intent(out), dimension(*):: in
    real(kind=C_DOUBLE), intent(out), dimension(*):: out
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftw_plan_dft_c2r_3d(n0, n1, n2, in, out, flags) bind(C, name='fftw_plan_dft_c2r_3d')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: n0
    integer(kind=C_INT), value:: n1
    integer(kind=C_INT), value:: n2
    complex(kind=C_DOUBLE_COMPLEX), intent(out), dimension(*):: in
    real(kind=C_DOUBLE), intent(out), dimension(*):: out
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftw_plan_guru_dft_r2c(rank, dims, howmany_rank, howmany_dims, in, out, flags) bind(C, name='fftw_plan_guru_dft_r2c')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: rank
    type(fftw_iodim), intent(in), dimension(*):: dims
    integer(kind=C_INT), value:: howmany_rank
    type(fftw_iodim), intent(in), dimension(*):: howmany_dims
    real(kind=C_DOUBLE), intent(out), dimension(*):: in
    complex(kind=C_DOUBLE_COMPLEX), intent(out), dimension(*):: out
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftw_plan_guru_dft_c2r(rank, dims, howmany_rank, howmany_dims, in, out, flags) bind(C, name='fftw_plan_guru_dft_c2r')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: rank
    type(fftw_iodim), intent(in), dimension(*):: dims
    integer(kind=C_INT), value:: howmany_rank
    type(fftw_iodim), intent(in), dimension(*):: howmany_dims
    complex(kind=C_DOUBLE_COMPLEX), intent(out), dimension(*):: in
    real(kind=C_DOUBLE), intent(out), dimension(*):: out
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftw_plan_guru_split_dft_r2c(rank, dims, howmany_rank, howmany_dims, in, ro, io, flags) bind(C, name='fftw_plan_guru_split_dft_r2c')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: rank
    type(fftw_iodim), intent(in), dimension(*):: dims
    integer(kind=C_INT), value:: howmany_rank
    type(fftw_iodim), intent(in), dimension(*):: howmany_dims
    real(kind=C_DOUBLE), intent(out), dimension(*):: in
    real(kind=C_DOUBLE), intent(out), dimension(*):: ro
    real(kind=C_DOUBLE), intent(out), dimension(*):: io
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftw_plan_guru_split_dft_c2r(rank, dims, howmany_rank, howmany_dims, ri, ii, out, flags) bind(C, name='fftw_plan_guru_split_dft_c2r')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: rank
    type(fftw_iodim), intent(in), dimension(*):: dims
    integer(kind=C_INT), value:: howmany_rank
    type(fftw_iodim), intent(in), dimension(*):: howmany_dims
    real(kind=C_DOUBLE), intent(out), dimension(*):: ri
    real(kind=C_DOUBLE), intent(out), dimension(*):: ii
    real(kind=C_DOUBLE), intent(out), dimension(*):: out
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftw_plan_guru64_dft_r2c(rank, dims, howmany_rank, howmany_dims, in, out, flags) bind(C, name='fftw_plan_guru64_dft_r2c')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: rank
    type(fftw_iodim64), intent(in), dimension(*):: dims
    integer(kind=C_INT), value:: howmany_rank
    type(fftw_iodim64), intent(in), dimension(*):: howmany_dims
    real(kind=C_DOUBLE), intent(out), dimension(*):: in
    complex(kind=C_DOUBLE_COMPLEX), intent(out), dimension(*):: out
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftw_plan_guru64_dft_c2r(rank, dims, howmany_rank, howmany_dims, in, out, flags) bind(C, name='fftw_plan_guru64_dft_c2r')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: rank
    type(fftw_iodim64), intent(in), dimension(*):: dims
    integer(kind=C_INT), value:: howmany_rank
    type(fftw_iodim64), intent(in), dimension(*):: howmany_dims
    complex(kind=C_DOUBLE_COMPLEX), intent(out), dimension(*):: in
    real(kind=C_DOUBLE), intent(out), dimension(*):: out
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftw_plan_guru64_split_dft_r2c(rank, dims, howmany_rank, howmany_dims, in, ro, io, flags) bind(C, name='fftw_plan_guru64_split_dft_r2c')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: rank
    type(fftw_iodim64), intent(in), dimension(*):: dims
    integer(kind=C_INT), value:: howmany_rank
    type(fftw_iodim64), intent(in), dimension(*):: howmany_dims
    real(kind=C_DOUBLE), intent(out), dimension(*):: in
    real(kind=C_DOUBLE), intent(out), dimension(*):: ro
    real(kind=C_DOUBLE), intent(out), dimension(*):: io
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftw_plan_guru64_split_dft_c2r(rank, dims, howmany_rank, howmany_dims, ri, ii, out, flags) bind(C, name='fftw_plan_guru64_split_dft_c2r')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: rank
    type(fftw_iodim64), intent(in), dimension(*):: dims
    integer(kind=C_INT), value:: howmany_rank
    type(fftw_iodim64), intent(in), dimension(*):: howmany_dims
    real(kind=C_DOUBLE), intent(out), dimension(*):: ri
    real(kind=C_DOUBLE), intent(out), dimension(*):: ii
    real(kind=C_DOUBLE), intent(out), dimension(*):: out
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftw_plan_many_r2r(rank, n, howmany, in, inembed, istride, idist, out, onembed, ostride, odist, kind, flags) bind(C, name='fftw_plan_many_r2r')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: rank
    integer(kind=C_INT), intent(in), dimension(*):: n
    integer(kind=C_INT), value:: howmany
    real(kind=C_DOUBLE), intent(out), dimension(*):: in
    integer(kind=C_INT), intent(in), dimension(*):: inembed
    integer(kind=C_INT), value:: istride
    integer(kind=C_INT), value:: idist
    real(kind=C_DOUBLE), intent(out), dimension(*):: out
    integer(kind=C_INT), intent(in), dimension(*):: onembed
    integer(kind=C_INT), value:: ostride
    integer(kind=C_INT), value:: odist
    integer(kind=C_FFTW_R2R_KIND), intent(in), dimension(*):: kind
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftw_plan_r2r(rank, n, in, out, kind, flags) bind(C, name='fftw_plan_r2r')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: rank
    integer(kind=C_INT), intent(in), dimension(*):: n
    real(kind=C_DOUBLE), intent(out), dimension(*):: in
    real(kind=C_DOUBLE), intent(out), dimension(*):: out
    integer(kind=C_FFTW_R2R_KIND), intent(in), dimension(*):: kind
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftw_plan_r2r_1d(n, in, out, kind, flags) bind(C, name='fftw_plan_r2r_1d')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: n
    real(kind=C_DOUBLE), intent(out), dimension(*):: in
    real(kind=C_DOUBLE), intent(out), dimension(*):: out
    integer(kind=C_FFTW_R2R_KIND), value:: kind
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftw_plan_r2r_2d(n0, n1, in, out, kind0, kind1, flags) bind(C, name='fftw_plan_r2r_2d')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: n0
    integer(kind=C_INT), value:: n1
    real(kind=C_DOUBLE), intent(out), dimension(*):: in
    real(kind=C_DOUBLE), intent(out), dimension(*):: out
    integer(kind=C_FFTW_R2R_KIND), value:: kind0
    integer(kind=C_FFTW_R2R_KIND), value:: kind1
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftw_plan_r2r_3d(n0, n1, n2, in, out, kind0, kind1, kind2, flags) bind(C, name='fftw_plan_r2r_3d')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: n0
    integer(kind=C_INT), value:: n1
    integer(kind=C_INT), value:: n2
    real(kind=C_DOUBLE), intent(out), dimension(*):: in
    real(kind=C_DOUBLE), intent(out), dimension(*):: out
    integer(kind=C_FFTW_R2R_KIND), value:: kind0
    integer(kind=C_FFTW_R2R_KIND), value:: kind1
    integer(kind=C_FFTW_R2R_KIND), value:: kind2
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftw_plan_guru_r2r(rank, dims, howmany_rank, howmany_dims, in, out, kind, flags) bind(C, name='fftw_plan_guru_r2r')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: rank
    type(fftw_iodim), intent(in), dimension(*):: dims
    integer(kind=C_INT), value:: howmany_rank
    type(fftw_iodim), intent(in), dimension(*):: howmany_dims
    real(kind=C_DOUBLE), intent(out), dimension(*):: in
    real(kind=C_DOUBLE), intent(out), dimension(*):: out
    integer(kind=C_FFTW_R2R_KIND), intent(in), dimension(*):: kind
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftw_plan_guru64_r2r(rank, dims, howmany_rank, howmany_dims, in, out, kind, flags) bind(C, name='fftw_plan_guru64_r2r')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: rank
    type(fftw_iodim64), intent(in), dimension(*):: dims
    integer(kind=C_INT), value:: howmany_rank
    type(fftw_iodim64), intent(in), dimension(*):: howmany_dims
    real(kind=C_DOUBLE), intent(out), dimension(*):: in
    real(kind=C_DOUBLE), intent(out), dimension(*):: out
    integer(kind=C_FFTW_R2R_KIND), intent(in), dimension(*):: kind
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftw_init_threads() bind(C, name='fftw_init_threads')

    Arguments

    None

    Return Value integer(kind=C_INT)

interface

  • public function fftw_export_wisdom_to_filename(filename) bind(C, name='fftw_export_wisdom_to_filename')

    Arguments

    Type IntentOptional AttributesName
    character(len=C_CHAR), intent(in), dimension(*):: filename

    Return Value integer(kind=C_INT)

interface

  • public function fftw_export_wisdom_to_string() bind(C, name='fftw_export_wisdom_to_string')

    Arguments

    None

    Return Value type(C_PTR)

interface

  • public function fftw_import_system_wisdom() bind(C, name='fftw_import_system_wisdom')

    Arguments

    None

    Return Value integer(kind=C_INT)

interface

  • public function fftw_import_wisdom_from_filename(filename) bind(C, name='fftw_import_wisdom_from_filename')

    Arguments

    Type IntentOptional AttributesName
    character(len=C_CHAR), intent(in), dimension(*):: filename

    Return Value integer(kind=C_INT)

interface

  • public function fftw_import_wisdom_from_file(input_file) bind(C, name='fftw_import_wisdom_from_file')

    Arguments

    Type IntentOptional AttributesName
    type(C_PTR), value:: input_file

    Return Value integer(kind=C_INT)

interface

  • public function fftw_import_wisdom_from_string(input_string) bind(C, name='fftw_import_wisdom_from_string')

    Arguments

    Type IntentOptional AttributesName
    character(len=C_CHAR), intent(in), dimension(*):: input_string

    Return Value integer(kind=C_INT)

interface

  • public function fftw_import_wisdom(read_char, data) bind(C, name='fftw_import_wisdom')

    Arguments

    Type IntentOptional AttributesName
    type(C_FUNPTR), value:: read_char
    type(C_PTR), value:: data

    Return Value integer(kind=C_INT)

interface

  • public function fftw_sprint_plan(p) bind(C, name='fftw_sprint_plan')

    Arguments

    Type IntentOptional AttributesName
    type(C_PTR), value:: p

    Return Value type(C_PTR)

interface

  • public function fftw_malloc(n) bind(C, name='fftw_malloc')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_SIZE_T), value:: n

    Return Value type(C_PTR)

interface

  • public function fftw_alloc_real(n) bind(C, name='fftw_alloc_real')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_SIZE_T), value:: n

    Return Value type(C_PTR)

interface

  • public function fftw_alloc_complex(n) bind(C, name='fftw_alloc_complex')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_SIZE_T), value:: n

    Return Value type(C_PTR)

interface

  • public function fftw_estimate_cost(p) bind(C, name='fftw_estimate_cost')

    Arguments

    Type IntentOptional AttributesName
    type(C_PTR), value:: p

    Return Value real(kind=C_DOUBLE)

interface

  • public function fftw_cost(p) bind(C, name='fftw_cost')

    Arguments

    Type IntentOptional AttributesName
    type(C_PTR), value:: p

    Return Value real(kind=C_DOUBLE)

interface

  • public function fftw_alignment_of(p) bind(C, name='fftw_alignment_of')

    Arguments

    Type IntentOptional AttributesName
    real(kind=C_DOUBLE), intent(out), dimension(*):: p

    Return Value integer(kind=C_INT)

interface

  • public subroutine fftw_execute_dft(p, in, out) bind(C, name="0")

    Arguments

    Type IntentOptional AttributesName
    type(C_PTR), value:: p
    complex(kind=C_DOUBLE_COMPLEX), intent(inout), dimension(*):: in
    complex(kind=C_DOUBLE_COMPLEX), intent(out), dimension(*):: out

interface

  • public subroutine fftw_execute_split_dft(p, ri, ii, ro, io) bind(C, name="0")

    Arguments

    Type IntentOptional AttributesName
    type(C_PTR), value:: p
    real(kind=C_DOUBLE), intent(inout), dimension(*):: ri
    real(kind=C_DOUBLE), intent(inout), dimension(*):: ii
    real(kind=C_DOUBLE), intent(out), dimension(*):: ro
    real(kind=C_DOUBLE), intent(out), dimension(*):: io

interface

  • public subroutine fftw_execute_dft_r2c(p, in, out) bind(C, name="0")

    Arguments

    Type IntentOptional AttributesName
    type(C_PTR), value:: p
    real(kind=C_DOUBLE), intent(inout), dimension(*):: in
    complex(kind=C_DOUBLE_COMPLEX), intent(out), dimension(*):: out

interface

  • public subroutine fftw_execute_dft_c2r(p, in, out) bind(C, name="0")

    Arguments

    Type IntentOptional AttributesName
    type(C_PTR), value:: p
    complex(kind=C_DOUBLE_COMPLEX), intent(inout), dimension(*):: in
    real(kind=C_DOUBLE), intent(out), dimension(*):: out

interface

  • public subroutine fftw_execute_split_dft_r2c(p, in, ro, io) bind(C, name="0")

    Arguments

    Type IntentOptional AttributesName
    type(C_PTR), value:: p
    real(kind=C_DOUBLE), intent(inout), dimension(*):: in
    real(kind=C_DOUBLE), intent(out), dimension(*):: ro
    real(kind=C_DOUBLE), intent(out), dimension(*):: io

interface

  • public subroutine fftw_execute_split_dft_c2r(p, ri, ii, out) bind(C, name="0")

    Arguments

    Type IntentOptional AttributesName
    type(C_PTR), value:: p
    real(kind=C_DOUBLE), intent(inout), dimension(*):: ri
    real(kind=C_DOUBLE), intent(inout), dimension(*):: ii
    real(kind=C_DOUBLE), intent(out), dimension(*):: out

interface

  • public subroutine fftw_execute_r2r(p, in, out) bind(C, name="0")

    Arguments

    Type IntentOptional AttributesName
    type(C_PTR), value:: p
    real(kind=C_DOUBLE), intent(inout), dimension(*):: in
    real(kind=C_DOUBLE), intent(out), dimension(*):: out

interface

  • public subroutine fftw_destroy_plan(p) bind(C, name="0")

    Arguments

    Type IntentOptional AttributesName
    type(C_PTR), value:: p

interface

  • public subroutine fftw_forget_wisdom() bind(C, name="0")

    Arguments

    None

interface

  • public subroutine fftw_cleanup() bind(C, name="0")

    Arguments

    None

interface

  • public subroutine fftw_set_timelimit(t) bind(C, name="0")

    Arguments

    Type IntentOptional AttributesName
    real(kind=C_DOUBLE), value:: t

interface

  • public subroutine fftw_plan_with_nthreads(nthreads) bind(C, name="0")

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: nthreads

interface

  • public subroutine fftw_cleanup_threads() bind(C, name="0")

    Arguments

    None

interface

  • public subroutine fftw_make_planner_thread_safe() bind(C, name="0")

    Arguments

    None

interface

  • public subroutine fftw_export_wisdom_to_file(output_file) bind(C, name="0")

    Arguments

    Type IntentOptional AttributesName
    type(C_PTR), value:: output_file

interface

  • public subroutine fftw_export_wisdom(write_char, data) bind(C, name="0")

    Arguments

    Type IntentOptional AttributesName
    type(C_FUNPTR), value:: write_char
    type(C_PTR), value:: data

interface

  • public subroutine fftw_fprint_plan(p, output_file) bind(C, name="0")

    Arguments

    Type IntentOptional AttributesName
    type(C_PTR), value:: p
    type(C_PTR), value:: output_file

interface

  • public subroutine fftw_print_plan(p) bind(C, name="0")

    Arguments

    Type IntentOptional AttributesName
    type(C_PTR), value:: p

interface

  • public subroutine fftw_free(p) bind(C, name="0")

    Arguments

    Type IntentOptional AttributesName
    type(C_PTR), value:: p

interface

  • public subroutine fftw_flops(p, add, mul, fmas) bind(C, name="0")

    Arguments

    Type IntentOptional AttributesName
    type(C_PTR), value:: p
    real(kind=C_DOUBLE), intent(out) :: add
    real(kind=C_DOUBLE), intent(out) :: mul
    real(kind=C_DOUBLE), intent(out) :: fmas

interface

  • public function fftwf_plan_dft(rank, n, in, out, sign, flags) bind(C, name='fftwf_plan_dft')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: rank
    integer(kind=C_INT), intent(in), dimension(*):: n
    complex(kind=C_FLOAT_COMPLEX), intent(out), dimension(*):: in
    complex(kind=C_FLOAT_COMPLEX), intent(out), dimension(*):: out
    integer(kind=C_INT), value:: sign
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftwf_plan_dft_1d(n, in, out, sign, flags) bind(C, name='fftwf_plan_dft_1d')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: n
    complex(kind=C_FLOAT_COMPLEX), intent(out), dimension(*):: in
    complex(kind=C_FLOAT_COMPLEX), intent(out), dimension(*):: out
    integer(kind=C_INT), value:: sign
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftwf_plan_dft_2d(n0, n1, in, out, sign, flags) bind(C, name='fftwf_plan_dft_2d')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: n0
    integer(kind=C_INT), value:: n1
    complex(kind=C_FLOAT_COMPLEX), intent(out), dimension(*):: in
    complex(kind=C_FLOAT_COMPLEX), intent(out), dimension(*):: out
    integer(kind=C_INT), value:: sign
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftwf_plan_dft_3d(n0, n1, n2, in, out, sign, flags) bind(C, name='fftwf_plan_dft_3d')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: n0
    integer(kind=C_INT), value:: n1
    integer(kind=C_INT), value:: n2
    complex(kind=C_FLOAT_COMPLEX), intent(out), dimension(*):: in
    complex(kind=C_FLOAT_COMPLEX), intent(out), dimension(*):: out
    integer(kind=C_INT), value:: sign
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftwf_plan_many_dft(rank, n, howmany, in, inembed, istride, idist, out, onembed, ostride, odist, sign, flags) bind(C, name='fftwf_plan_many_dft')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: rank
    integer(kind=C_INT), intent(in), dimension(*):: n
    integer(kind=C_INT), value:: howmany
    complex(kind=C_FLOAT_COMPLEX), intent(out), dimension(*):: in
    integer(kind=C_INT), intent(in), dimension(*):: inembed
    integer(kind=C_INT), value:: istride
    integer(kind=C_INT), value:: idist
    complex(kind=C_FLOAT_COMPLEX), intent(out), dimension(*):: out
    integer(kind=C_INT), intent(in), dimension(*):: onembed
    integer(kind=C_INT), value:: ostride
    integer(kind=C_INT), value:: odist
    integer(kind=C_INT), value:: sign
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftwf_plan_guru_dft(rank, dims, howmany_rank, howmany_dims, in, out, sign, flags) bind(C, name='fftwf_plan_guru_dft')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: rank
    type(fftwf_iodim), intent(in), dimension(*):: dims
    integer(kind=C_INT), value:: howmany_rank
    type(fftwf_iodim), intent(in), dimension(*):: howmany_dims
    complex(kind=C_FLOAT_COMPLEX), intent(out), dimension(*):: in
    complex(kind=C_FLOAT_COMPLEX), intent(out), dimension(*):: out
    integer(kind=C_INT), value:: sign
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftwf_plan_guru_split_dft(rank, dims, howmany_rank, howmany_dims, ri, ii, ro, io, flags) bind(C, name='fftwf_plan_guru_split_dft')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: rank
    type(fftwf_iodim), intent(in), dimension(*):: dims
    integer(kind=C_INT), value:: howmany_rank
    type(fftwf_iodim), intent(in), dimension(*):: howmany_dims
    real(kind=C_FLOAT), intent(out), dimension(*):: ri
    real(kind=C_FLOAT), intent(out), dimension(*):: ii
    real(kind=C_FLOAT), intent(out), dimension(*):: ro
    real(kind=C_FLOAT), intent(out), dimension(*):: io
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftwf_plan_guru64_dft(rank, dims, howmany_rank, howmany_dims, in, out, sign, flags) bind(C, name='fftwf_plan_guru64_dft')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: rank
    type(fftwf_iodim64), intent(in), dimension(*):: dims
    integer(kind=C_INT), value:: howmany_rank
    type(fftwf_iodim64), intent(in), dimension(*):: howmany_dims
    complex(kind=C_FLOAT_COMPLEX), intent(out), dimension(*):: in
    complex(kind=C_FLOAT_COMPLEX), intent(out), dimension(*):: out
    integer(kind=C_INT), value:: sign
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftwf_plan_guru64_split_dft(rank, dims, howmany_rank, howmany_dims, ri, ii, ro, io, flags) bind(C, name='fftwf_plan_guru64_split_dft')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: rank
    type(fftwf_iodim64), intent(in), dimension(*):: dims
    integer(kind=C_INT), value:: howmany_rank
    type(fftwf_iodim64), intent(in), dimension(*):: howmany_dims
    real(kind=C_FLOAT), intent(out), dimension(*):: ri
    real(kind=C_FLOAT), intent(out), dimension(*):: ii
    real(kind=C_FLOAT), intent(out), dimension(*):: ro
    real(kind=C_FLOAT), intent(out), dimension(*):: io
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftwf_plan_many_dft_r2c(rank, n, howmany, in, inembed, istride, idist, out, onembed, ostride, odist, flags) bind(C, name='fftwf_plan_many_dft_r2c')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: rank
    integer(kind=C_INT), intent(in), dimension(*):: n
    integer(kind=C_INT), value:: howmany
    real(kind=C_FLOAT), intent(out), dimension(*):: in
    integer(kind=C_INT), intent(in), dimension(*):: inembed
    integer(kind=C_INT), value:: istride
    integer(kind=C_INT), value:: idist
    complex(kind=C_FLOAT_COMPLEX), intent(out), dimension(*):: out
    integer(kind=C_INT), intent(in), dimension(*):: onembed
    integer(kind=C_INT), value:: ostride
    integer(kind=C_INT), value:: odist
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftwf_plan_dft_r2c(rank, n, in, out, flags) bind(C, name='fftwf_plan_dft_r2c')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: rank
    integer(kind=C_INT), intent(in), dimension(*):: n
    real(kind=C_FLOAT), intent(out), dimension(*):: in
    complex(kind=C_FLOAT_COMPLEX), intent(out), dimension(*):: out
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftwf_plan_dft_r2c_1d(n, in, out, flags) bind(C, name='fftwf_plan_dft_r2c_1d')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: n
    real(kind=C_FLOAT), intent(out), dimension(*):: in
    complex(kind=C_FLOAT_COMPLEX), intent(out), dimension(*):: out
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftwf_plan_dft_r2c_2d(n0, n1, in, out, flags) bind(C, name='fftwf_plan_dft_r2c_2d')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: n0
    integer(kind=C_INT), value:: n1
    real(kind=C_FLOAT), intent(out), dimension(*):: in
    complex(kind=C_FLOAT_COMPLEX), intent(out), dimension(*):: out
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftwf_plan_dft_r2c_3d(n0, n1, n2, in, out, flags) bind(C, name='fftwf_plan_dft_r2c_3d')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: n0
    integer(kind=C_INT), value:: n1
    integer(kind=C_INT), value:: n2
    real(kind=C_FLOAT), intent(out), dimension(*):: in
    complex(kind=C_FLOAT_COMPLEX), intent(out), dimension(*):: out
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftwf_plan_many_dft_c2r(rank, n, howmany, in, inembed, istride, idist, out, onembed, ostride, odist, flags) bind(C, name='fftwf_plan_many_dft_c2r')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: rank
    integer(kind=C_INT), intent(in), dimension(*):: n
    integer(kind=C_INT), value:: howmany
    complex(kind=C_FLOAT_COMPLEX), intent(out), dimension(*):: in
    integer(kind=C_INT), intent(in), dimension(*):: inembed
    integer(kind=C_INT), value:: istride
    integer(kind=C_INT), value:: idist
    real(kind=C_FLOAT), intent(out), dimension(*):: out
    integer(kind=C_INT), intent(in), dimension(*):: onembed
    integer(kind=C_INT), value:: ostride
    integer(kind=C_INT), value:: odist
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftwf_plan_dft_c2r(rank, n, in, out, flags) bind(C, name='fftwf_plan_dft_c2r')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: rank
    integer(kind=C_INT), intent(in), dimension(*):: n
    complex(kind=C_FLOAT_COMPLEX), intent(out), dimension(*):: in
    real(kind=C_FLOAT), intent(out), dimension(*):: out
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftwf_plan_dft_c2r_1d(n, in, out, flags) bind(C, name='fftwf_plan_dft_c2r_1d')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: n
    complex(kind=C_FLOAT_COMPLEX), intent(out), dimension(*):: in
    real(kind=C_FLOAT), intent(out), dimension(*):: out
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftwf_plan_dft_c2r_2d(n0, n1, in, out, flags) bind(C, name='fftwf_plan_dft_c2r_2d')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: n0
    integer(kind=C_INT), value:: n1
    complex(kind=C_FLOAT_COMPLEX), intent(out), dimension(*):: in
    real(kind=C_FLOAT), intent(out), dimension(*):: out
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftwf_plan_dft_c2r_3d(n0, n1, n2, in, out, flags) bind(C, name='fftwf_plan_dft_c2r_3d')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: n0
    integer(kind=C_INT), value:: n1
    integer(kind=C_INT), value:: n2
    complex(kind=C_FLOAT_COMPLEX), intent(out), dimension(*):: in
    real(kind=C_FLOAT), intent(out), dimension(*):: out
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftwf_plan_guru_dft_r2c(rank, dims, howmany_rank, howmany_dims, in, out, flags) bind(C, name='fftwf_plan_guru_dft_r2c')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: rank
    type(fftwf_iodim), intent(in), dimension(*):: dims
    integer(kind=C_INT), value:: howmany_rank
    type(fftwf_iodim), intent(in), dimension(*):: howmany_dims
    real(kind=C_FLOAT), intent(out), dimension(*):: in
    complex(kind=C_FLOAT_COMPLEX), intent(out), dimension(*):: out
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftwf_plan_guru_dft_c2r(rank, dims, howmany_rank, howmany_dims, in, out, flags) bind(C, name='fftwf_plan_guru_dft_c2r')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: rank
    type(fftwf_iodim), intent(in), dimension(*):: dims
    integer(kind=C_INT), value:: howmany_rank
    type(fftwf_iodim), intent(in), dimension(*):: howmany_dims
    complex(kind=C_FLOAT_COMPLEX), intent(out), dimension(*):: in
    real(kind=C_FLOAT), intent(out), dimension(*):: out
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftwf_plan_guru_split_dft_r2c(rank, dims, howmany_rank, howmany_dims, in, ro, io, flags) bind(C, name='fftwf_plan_guru_split_dft_r2c')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: rank
    type(fftwf_iodim), intent(in), dimension(*):: dims
    integer(kind=C_INT), value:: howmany_rank
    type(fftwf_iodim), intent(in), dimension(*):: howmany_dims
    real(kind=C_FLOAT), intent(out), dimension(*):: in
    real(kind=C_FLOAT), intent(out), dimension(*):: ro
    real(kind=C_FLOAT), intent(out), dimension(*):: io
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftwf_plan_guru_split_dft_c2r(rank, dims, howmany_rank, howmany_dims, ri, ii, out, flags) bind(C, name='fftwf_plan_guru_split_dft_c2r')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: rank
    type(fftwf_iodim), intent(in), dimension(*):: dims
    integer(kind=C_INT), value:: howmany_rank
    type(fftwf_iodim), intent(in), dimension(*):: howmany_dims
    real(kind=C_FLOAT), intent(out), dimension(*):: ri
    real(kind=C_FLOAT), intent(out), dimension(*):: ii
    real(kind=C_FLOAT), intent(out), dimension(*):: out
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftwf_plan_guru64_dft_r2c(rank, dims, howmany_rank, howmany_dims, in, out, flags) bind(C, name='fftwf_plan_guru64_dft_r2c')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: rank
    type(fftwf_iodim64), intent(in), dimension(*):: dims
    integer(kind=C_INT), value:: howmany_rank
    type(fftwf_iodim64), intent(in), dimension(*):: howmany_dims
    real(kind=C_FLOAT), intent(out), dimension(*):: in
    complex(kind=C_FLOAT_COMPLEX), intent(out), dimension(*):: out
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftwf_plan_guru64_dft_c2r(rank, dims, howmany_rank, howmany_dims, in, out, flags) bind(C, name='fftwf_plan_guru64_dft_c2r')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: rank
    type(fftwf_iodim64), intent(in), dimension(*):: dims
    integer(kind=C_INT), value:: howmany_rank
    type(fftwf_iodim64), intent(in), dimension(*):: howmany_dims
    complex(kind=C_FLOAT_COMPLEX), intent(out), dimension(*):: in
    real(kind=C_FLOAT), intent(out), dimension(*):: out
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftwf_plan_guru64_split_dft_r2c(rank, dims, howmany_rank, howmany_dims, in, ro, io, flags) bind(C, name='fftwf_plan_guru64_split_dft_r2c')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: rank
    type(fftwf_iodim64), intent(in), dimension(*):: dims
    integer(kind=C_INT), value:: howmany_rank
    type(fftwf_iodim64), intent(in), dimension(*):: howmany_dims
    real(kind=C_FLOAT), intent(out), dimension(*):: in
    real(kind=C_FLOAT), intent(out), dimension(*):: ro
    real(kind=C_FLOAT), intent(out), dimension(*):: io
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftwf_plan_guru64_split_dft_c2r(rank, dims, howmany_rank, howmany_dims, ri, ii, out, flags) bind(C, name='fftwf_plan_guru64_split_dft_c2r')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: rank
    type(fftwf_iodim64), intent(in), dimension(*):: dims
    integer(kind=C_INT), value:: howmany_rank
    type(fftwf_iodim64), intent(in), dimension(*):: howmany_dims
    real(kind=C_FLOAT), intent(out), dimension(*):: ri
    real(kind=C_FLOAT), intent(out), dimension(*):: ii
    real(kind=C_FLOAT), intent(out), dimension(*):: out
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftwf_plan_many_r2r(rank, n, howmany, in, inembed, istride, idist, out, onembed, ostride, odist, kind, flags) bind(C, name='fftwf_plan_many_r2r')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: rank
    integer(kind=C_INT), intent(in), dimension(*):: n
    integer(kind=C_INT), value:: howmany
    real(kind=C_FLOAT), intent(out), dimension(*):: in
    integer(kind=C_INT), intent(in), dimension(*):: inembed
    integer(kind=C_INT), value:: istride
    integer(kind=C_INT), value:: idist
    real(kind=C_FLOAT), intent(out), dimension(*):: out
    integer(kind=C_INT), intent(in), dimension(*):: onembed
    integer(kind=C_INT), value:: ostride
    integer(kind=C_INT), value:: odist
    integer(kind=C_FFTW_R2R_KIND), intent(in), dimension(*):: kind
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftwf_plan_r2r(rank, n, in, out, kind, flags) bind(C, name='fftwf_plan_r2r')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: rank
    integer(kind=C_INT), intent(in), dimension(*):: n
    real(kind=C_FLOAT), intent(out), dimension(*):: in
    real(kind=C_FLOAT), intent(out), dimension(*):: out
    integer(kind=C_FFTW_R2R_KIND), intent(in), dimension(*):: kind
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftwf_plan_r2r_1d(n, in, out, kind, flags) bind(C, name='fftwf_plan_r2r_1d')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: n
    real(kind=C_FLOAT), intent(out), dimension(*):: in
    real(kind=C_FLOAT), intent(out), dimension(*):: out
    integer(kind=C_FFTW_R2R_KIND), value:: kind
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftwf_plan_r2r_2d(n0, n1, in, out, kind0, kind1, flags) bind(C, name='fftwf_plan_r2r_2d')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: n0
    integer(kind=C_INT), value:: n1
    real(kind=C_FLOAT), intent(out), dimension(*):: in
    real(kind=C_FLOAT), intent(out), dimension(*):: out
    integer(kind=C_FFTW_R2R_KIND), value:: kind0
    integer(kind=C_FFTW_R2R_KIND), value:: kind1
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftwf_plan_r2r_3d(n0, n1, n2, in, out, kind0, kind1, kind2, flags) bind(C, name='fftwf_plan_r2r_3d')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: n0
    integer(kind=C_INT), value:: n1
    integer(kind=C_INT), value:: n2
    real(kind=C_FLOAT), intent(out), dimension(*):: in
    real(kind=C_FLOAT), intent(out), dimension(*):: out
    integer(kind=C_FFTW_R2R_KIND), value:: kind0
    integer(kind=C_FFTW_R2R_KIND), value:: kind1
    integer(kind=C_FFTW_R2R_KIND), value:: kind2
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftwf_plan_guru_r2r(rank, dims, howmany_rank, howmany_dims, in, out, kind, flags) bind(C, name='fftwf_plan_guru_r2r')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: rank
    type(fftwf_iodim), intent(in), dimension(*):: dims
    integer(kind=C_INT), value:: howmany_rank
    type(fftwf_iodim), intent(in), dimension(*):: howmany_dims
    real(kind=C_FLOAT), intent(out), dimension(*):: in
    real(kind=C_FLOAT), intent(out), dimension(*):: out
    integer(kind=C_FFTW_R2R_KIND), intent(in), dimension(*):: kind
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftwf_plan_guru64_r2r(rank, dims, howmany_rank, howmany_dims, in, out, kind, flags) bind(C, name='fftwf_plan_guru64_r2r')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: rank
    type(fftwf_iodim64), intent(in), dimension(*):: dims
    integer(kind=C_INT), value:: howmany_rank
    type(fftwf_iodim64), intent(in), dimension(*):: howmany_dims
    real(kind=C_FLOAT), intent(out), dimension(*):: in
    real(kind=C_FLOAT), intent(out), dimension(*):: out
    integer(kind=C_FFTW_R2R_KIND), intent(in), dimension(*):: kind
    integer(kind=C_INT), value:: flags

    Return Value type(C_PTR)

interface

  • public function fftwf_init_threads() bind(C, name='fftwf_init_threads')

    Arguments

    None

    Return Value integer(kind=C_INT)

interface

  • public function fftwf_export_wisdom_to_filename(filename) bind(C, name='fftwf_export_wisdom_to_filename')

    Arguments

    Type IntentOptional AttributesName
    character(len=C_CHAR), intent(in), dimension(*):: filename

    Return Value integer(kind=C_INT)

interface

  • public function fftwf_export_wisdom_to_string() bind(C, name='fftwf_export_wisdom_to_string')

    Arguments

    None

    Return Value type(C_PTR)

interface

  • public function fftwf_import_system_wisdom() bind(C, name='fftwf_import_system_wisdom')

    Arguments

    None

    Return Value integer(kind=C_INT)

interface

  • public function fftwf_import_wisdom_from_filename(filename) bind(C, name='fftwf_import_wisdom_from_filename')

    Arguments

    Type IntentOptional AttributesName
    character(len=C_CHAR), intent(in), dimension(*):: filename

    Return Value integer(kind=C_INT)

interface

  • public function fftwf_import_wisdom_from_file(input_file) bind(C, name='fftwf_import_wisdom_from_file')

    Arguments

    Type IntentOptional AttributesName
    type(C_PTR), value:: input_file

    Return Value integer(kind=C_INT)

interface

  • public function fftwf_import_wisdom_from_string(input_string) bind(C, name='fftwf_import_wisdom_from_string')

    Arguments

    Type IntentOptional AttributesName
    character(len=C_CHAR), intent(in), dimension(*):: input_string

    Return Value integer(kind=C_INT)

interface

  • public function fftwf_import_wisdom(read_char, data) bind(C, name='fftwf_import_wisdom')

    Arguments

    Type IntentOptional AttributesName
    type(C_FUNPTR), value:: read_char
    type(C_PTR), value:: data

    Return Value integer(kind=C_INT)

interface

  • public function fftwf_sprint_plan(p) bind(C, name='fftwf_sprint_plan')

    Arguments

    Type IntentOptional AttributesName
    type(C_PTR), value:: p

    Return Value type(C_PTR)

interface

  • public function fftwf_malloc(n) bind(C, name='fftwf_malloc')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_SIZE_T), value:: n

    Return Value type(C_PTR)

interface

  • public function fftwf_alloc_real(n) bind(C, name='fftwf_alloc_real')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_SIZE_T), value:: n

    Return Value type(C_PTR)

interface

  • public function fftwf_alloc_complex(n) bind(C, name='fftwf_alloc_complex')

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_SIZE_T), value:: n

    Return Value type(C_PTR)

interface

  • public function fftwf_estimate_cost(p) bind(C, name='fftwf_estimate_cost')

    Arguments

    Type IntentOptional AttributesName
    type(C_PTR), value:: p

    Return Value real(kind=C_DOUBLE)

interface

  • public function fftwf_cost(p) bind(C, name='fftwf_cost')

    Arguments

    Type IntentOptional AttributesName
    type(C_PTR), value:: p

    Return Value real(kind=C_DOUBLE)

interface

  • public function fftwf_alignment_of(p) bind(C, name='fftwf_alignment_of')

    Arguments

    Type IntentOptional AttributesName
    real(kind=C_FLOAT), intent(out), dimension(*):: p

    Return Value integer(kind=C_INT)

interface

  • public subroutine fftwf_execute_dft(p, in, out) bind(C, name="0")

    Arguments

    Type IntentOptional AttributesName
    type(C_PTR), value:: p
    complex(kind=C_FLOAT_COMPLEX), intent(inout), dimension(*):: in
    complex(kind=C_FLOAT_COMPLEX), intent(out), dimension(*):: out

interface

  • public subroutine fftwf_execute_split_dft(p, ri, ii, ro, io) bind(C, name="0")

    Arguments

    Type IntentOptional AttributesName
    type(C_PTR), value:: p
    real(kind=C_FLOAT), intent(inout), dimension(*):: ri
    real(kind=C_FLOAT), intent(inout), dimension(*):: ii
    real(kind=C_FLOAT), intent(out), dimension(*):: ro
    real(kind=C_FLOAT), intent(out), dimension(*):: io

interface

  • public subroutine fftwf_execute_dft_r2c(p, in, out) bind(C, name="0")

    Arguments

    Type IntentOptional AttributesName
    type(C_PTR), value:: p
    real(kind=C_FLOAT), intent(inout), dimension(*):: in
    complex(kind=C_FLOAT_COMPLEX), intent(out), dimension(*):: out

interface

  • public subroutine fftwf_execute_dft_c2r(p, in, out) bind(C, name="0")

    Arguments

    Type IntentOptional AttributesName
    type(C_PTR), value:: p
    complex(kind=C_FLOAT_COMPLEX), intent(inout), dimension(*):: in
    real(kind=C_FLOAT), intent(out), dimension(*):: out

interface

  • public subroutine fftwf_execute_split_dft_r2c(p, in, ro, io) bind(C, name="0")

    Arguments

    Type IntentOptional AttributesName
    type(C_PTR), value:: p
    real(kind=C_FLOAT), intent(inout), dimension(*):: in
    real(kind=C_FLOAT), intent(out), dimension(*):: ro
    real(kind=C_FLOAT), intent(out), dimension(*):: io

interface

  • public subroutine fftwf_execute_split_dft_c2r(p, ri, ii, out) bind(C, name="0")

    Arguments

    Type IntentOptional AttributesName
    type(C_PTR), value:: p
    real(kind=C_FLOAT), intent(inout), dimension(*):: ri
    real(kind=C_FLOAT), intent(inout), dimension(*):: ii
    real(kind=C_FLOAT), intent(out), dimension(*):: out

interface

  • public subroutine fftwf_execute_r2r(p, in, out) bind(C, name="0")

    Arguments

    Type IntentOptional AttributesName
    type(C_PTR), value:: p
    real(kind=C_FLOAT), intent(inout), dimension(*):: in
    real(kind=C_FLOAT), intent(out), dimension(*):: out

interface

  • public subroutine fftwf_destroy_plan(p) bind(C, name="0")

    Arguments

    Type IntentOptional AttributesName
    type(C_PTR), value:: p

interface

  • public subroutine fftwf_forget_wisdom() bind(C, name="0")

    Arguments

    None

interface

  • public subroutine fftwf_cleanup() bind(C, name="0")

    Arguments

    None

interface

  • public subroutine fftwf_set_timelimit(t) bind(C, name="0")

    Arguments

    Type IntentOptional AttributesName
    real(kind=C_DOUBLE), value:: t

interface

  • public subroutine fftwf_plan_with_nthreads(nthreads) bind(C, name="0")

    Arguments

    Type IntentOptional AttributesName
    integer(kind=C_INT), value:: nthreads

interface

  • public subroutine fftwf_cleanup_threads() bind(C, name="0")

    Arguments

    None

interface

  • public subroutine fftwf_make_planner_thread_safe() bind(C, name="0")

    Arguments

    None

interface

  • public subroutine fftwf_export_wisdom_to_file(output_file) bind(C, name="0")

    Arguments

    Type IntentOptional AttributesName
    type(C_PTR), value:: output_file

interface

  • public subroutine fftwf_export_wisdom(write_char, data) bind(C, name="0")

    Arguments

    Type IntentOptional AttributesName
    type(C_FUNPTR), value:: write_char
    type(C_PTR), value:: data

interface

  • public subroutine fftwf_fprint_plan(p, output_file) bind(C, name="0")

    Arguments

    Type IntentOptional AttributesName
    type(C_PTR), value:: p
    type(C_PTR), value:: output_file

interface

  • public subroutine fftwf_print_plan(p) bind(C, name="0")

    Arguments

    Type IntentOptional AttributesName
    type(C_PTR), value:: p

interface

  • public subroutine fftwf_free(p) bind(C, name="0")

    Arguments

    Type IntentOptional AttributesName
    type(C_PTR), value:: p

interface

  • public subroutine fftwf_flops(p, add, mul, fmas) bind(C, name="0")

    Arguments

    Type IntentOptional AttributesName
    type(C_PTR), value:: p
    real(kind=C_DOUBLE), intent(out) :: add
    real(kind=C_DOUBLE), intent(out) :: mul
    real(kind=C_DOUBLE), intent(out) :: fmas

Derived Types

type, public, bind(C) :: fftw_iodim

Components

TypeVisibility AttributesNameInitial
integer(kind=C_INT), public :: n
integer(kind=C_INT), public :: is
integer(kind=C_INT), public :: os

type, public, bind(C) :: fftw_iodim64

Components

TypeVisibility AttributesNameInitial
integer(kind=C_INTPTR_T), public :: n
integer(kind=C_INTPTR_T), public :: is
integer(kind=C_INTPTR_T), public :: os

type, public, bind(C) :: fftwf_iodim

Components

TypeVisibility AttributesNameInitial
integer(kind=C_INT), public :: n
integer(kind=C_INT), public :: is
integer(kind=C_INT), public :: os

type, public, bind(C) :: fftwf_iodim64

Components

TypeVisibility AttributesNameInitial
integer(kind=C_INTPTR_T), public :: n
integer(kind=C_INTPTR_T), public :: is
integer(kind=C_INTPTR_T), public :: os

Functions

public pure function logical_dimension(kind_flag, N) result(log_dim)

Returns the logical dimension given the FFT Kind. To be generalized for other applications than FFTW_RODFT00 and FFTW_REDFT00

Arguments

Type IntentOptional AttributesName
integer(kind=C_INTPTR_T), intent(in) :: kind_flag
integer, intent(in) :: N

Return Value integer

public pure function determine_kind(sym_index) result(kind)

Converts the integer flag sym into the proper FFT kind

Arguments

Type IntentOptional AttributesName
integer, intent(in) :: sym_index

Return Value integer(kind=C_INTPTR_T)


Subroutines

public subroutine ftw_init(n1, n2, n3, ind_ft)

Initialization of all the FFT variables and plans

Arguments

Type IntentOptional AttributesName
integer, intent(in) :: n1
integer, intent(in) :: n2
integer, intent(in) :: n3
integer, intent(in) :: ind_ft

public subroutine ftw_end()

Routines that ends all the FFTs. It destroys the existing plans and deallocates the arrays.

Arguments

None

public subroutine ftw1d_st(w, n1, n2, n3, is, dir)

Arguments

Type IntentOptional AttributesName
real(kind=dp), intent(inout) :: w(:,:,:)

WARNING: Not used in the code, need to be checked

integer, intent(in) :: n1
integer, intent(in) :: n2
integer, intent(in) :: n3
integer, intent(in) :: is
integer, intent(in) :: dir

public subroutine ftw1d(w, n1, n2, n3, is, dir)

WARNING: Still to be checked

Arguments

Type IntentOptional AttributesName
real(kind=dp), intent(inout) :: w(:,:,:)
integer, intent(in) :: n1
integer, intent(in) :: n2
integer, intent(in) :: n3
integer, intent(in) :: is
integer, intent(in) :: dir

public subroutine ftw1d_sc(w, n1, n2, n3, is, dir, sym)

Arguments

Type IntentOptional AttributesName
real(kind=dp), intent(inout) :: w(:,:,:)
integer, intent(in) :: n1
integer, intent(in) :: n2
integer, intent(in) :: n3
integer, intent(in) :: is
integer, intent(in) :: dir
integer, intent(in) :: sym