|
void | AnyDST::ExpandR2R (amrex::FArrayBox &dst, amrex::FArrayBox &src) |
| Extend src into a symmetrized larger array dst. More...
|
|
void | AnyDST::ShrinkC2R (amrex::FArrayBox &dst, amrex::BaseFab< amrex::GpuComplex< amrex::Real >> &src) |
| Extract symmetrical src array into smaller array dst. More...
|
|
void | AnyDST::ToComplex (const amrex::Real *const AMREX_RESTRICT in, amrex::GpuComplex< amrex::Real > *const AMREX_RESTRICT out, const int n_data, const int n_batch) |
| Make Complex array out of Real array to prepare for fft. out[idx] = -in[2*idx-2] + in[2*idx] + i*in[2*idx-1] for each column with in[-1] = 0; in[-2] = -in[0]; in[n_data] = 0; in[n_data+1] = -in[n_data-1]. More...
|
|
void | AnyDST::C2Rfft (AnyFFT::VendorFFTPlan &plan, amrex::GpuComplex< amrex::Real > *AMREX_RESTRICT in, amrex::Real *const AMREX_RESTRICT out, rocfft_execution_info execinfo) |
|
void | AnyDST::ToSine (const amrex::Real *const AMREX_RESTRICT in, amrex::Real *const AMREX_RESTRICT out, const int n_data, const int n_batch) |
| Make Sine-space Real array out of array from fft. out[idx] = 0.5 *(in[n_data-idx] - in[idx+1] + (in[n_data-idx] + in[idx+1])/ (2*sin((idx+1)*pi/(n_data+1)))) for each column. More...
|
|
void | AnyDST::Transpose (const amrex::Real *const AMREX_RESTRICT in, amrex::Real *const AMREX_RESTRICT out, const int n_data, const int n_batch) |
| Transpose input matrix out[idy][idx] = in[idx][idy]. More...
|
|
DSTplan | AnyDST::CreatePlan (const amrex::IntVect &real_size, amrex::FArrayBox *position_array, amrex::FArrayBox *fourier_array) |
| create FFT plan for the backend FFT library. More...
|
|
void | AnyDST::DestroyPlan (DSTplan &dst_plan) |
| Destroy library FFT plan. More...
|
|
template<AnyDST::direction d> |
void | AnyDST::Execute (DSTplan &dst_plan) |
| Perform FFT with backend library. More...
|
|
template void | AnyDST::Execute< direction::forward > (DSTplan &dst_plan) |
|
template void | AnyDST::Execute< direction::backward > (DSTplan &dst_plan) |
|