Octopus
fftw_oct_m Module Reference

Functions/Subroutines

subroutine, public fftw_prepare_plan (plan, dim, n, howmany, is_real, sign, flags_, din_, cin_, cout_)
 
subroutine, public fftw_get_dims (rs_n, is_real, fs_n)
 
subroutine, public fftw_alloc_memory (rs_dims, is_real, fs_dims, drs_data, zrs_data, fs_data)
 Allocate the FFTW work buffers from the rank-4 (batch-last) dimension arrays (see fft_pack). More...
 
subroutine, public fftw_free_memory (is_real, drs_data, zrs_data, fs_data)
 
subroutine, public fftw_prepare_plan_single (plan, dim, n, howmany, is_real, sign, flags, sin_, cin_, cout_)
 Single-precision counterpart of fftw_prepare_plan. Only the aligned-memory path is supported (the single-precision FFT is always allocated with aligned FFTW buffers), so the real/complex work arrays are passed in. More...
 
subroutine, public fftw_alloc_memory_single (rs_dims, is_real, fs_dims, srs_data, crs_data, cfs_data)
 
subroutine, public fftw_free_memory_single (is_real, srs_data, crs_data, cfs_data)
 

Function/Subroutine Documentation

◆ fftw_prepare_plan()

subroutine, public fftw_oct_m::fftw_prepare_plan ( type(c_ptr), intent(inout)  plan,
integer, intent(in)  dim,
integer, dimension(:), intent(in), contiguous  n,
integer(c_int), intent(in)  howmany,
logical, intent(in)  is_real,
integer, intent(in)  sign,
integer, intent(in)  flags_,
real(real64), dimension(:,:,:,:), intent(in), optional, target, contiguous  din_,
complex(real64), dimension(:,:,:,:), intent(in), optional, target, contiguous  cin_,
complex(real64), dimension(:,:,:,:), intent(in), optional, target, contiguous  cout_ 
)

Definition at line 196 of file fftw.F90.

◆ fftw_get_dims()

subroutine, public fftw_oct_m::fftw_get_dims ( integer, dimension(:), intent(in), contiguous  rs_n,
logical, intent(in)  is_real,
integer, dimension(:), intent(out), contiguous  fs_n 
)

Definition at line 334 of file fftw.F90.

◆ fftw_alloc_memory()

subroutine, public fftw_oct_m::fftw_alloc_memory ( integer, dimension(4), intent(in)  rs_dims,
logical, intent(in)  is_real,
integer, dimension(4), intent(in)  fs_dims,
real(real64), dimension(:,:,:,:), intent(inout), pointer  drs_data,
complex(real64), dimension(:,:,:,:), intent(inout), pointer  zrs_data,
complex(real64), dimension(:,:,:,:), intent(inout), pointer  fs_data 
)

Allocate the FFTW work buffers from the rank-4 (batch-last) dimension arrays (see fft_pack).

Parameters
[in]rs_dimsreal-space dimensions including the batch axis
[in]fs_dimsFourier-space dimensions including the batch axis

Definition at line 349 of file fftw.F90.

◆ fftw_free_memory()

subroutine, public fftw_oct_m::fftw_free_memory ( logical, intent(in)  is_real,
real(real64), dimension(:,:,:,:), intent(inout), pointer  drs_data,
complex(real64), dimension(:,:,:,:), intent(inout), pointer  zrs_data,
complex(real64), dimension(:,:,:,:), intent(inout), pointer  fs_data 
)

Definition at line 376 of file fftw.F90.

◆ fftw_prepare_plan_single()

subroutine, public fftw_oct_m::fftw_prepare_plan_single ( type(c_ptr), intent(inout)  plan,
integer, intent(in)  dim,
integer, dimension(:), intent(in), contiguous  n,
integer(c_int), intent(in)  howmany,
logical, intent(in)  is_real,
integer, intent(in)  sign,
integer, intent(in)  flags,
real(real32), dimension(:,:,:,:), intent(in), optional, target, contiguous  sin_,
complex(real32), dimension(:,:,:,:), intent(in), optional, target, contiguous  cin_,
complex(real32), dimension(:,:,:,:), intent(in), optional, target, contiguous  cout_ 
)

Single-precision counterpart of fftw_prepare_plan. Only the aligned-memory path is supported (the single-precision FFT is always allocated with aligned FFTW buffers), so the real/complex work arrays are passed in.

Definition at line 407 of file fftw.F90.

◆ fftw_alloc_memory_single()

subroutine, public fftw_oct_m::fftw_alloc_memory_single ( integer, dimension(4), intent(in)  rs_dims,
logical, intent(in)  is_real,
integer, dimension(4), intent(in)  fs_dims,
real(real32), dimension(:,:,:,:), intent(inout), pointer  srs_data,
complex(real32), dimension(:,:,:,:), intent(inout), pointer  crs_data,
complex(real32), dimension(:,:,:,:), intent(inout), pointer  cfs_data 
)

Definition at line 472 of file fftw.F90.

◆ fftw_free_memory_single()

subroutine, public fftw_oct_m::fftw_free_memory_single ( logical, intent(in)  is_real,
real(real32), dimension(:,:,:,:), intent(inout), pointer  srs_data,
complex(real32), dimension(:,:,:,:), intent(inout), pointer  crs_data,
complex(real32), dimension(:,:,:,:), intent(inout), pointer  cfs_data 
)

Definition at line 499 of file fftw.F90.