#include "oct-fftw.h"
Public Types | |
enum | FftwMethod { UNKNOWN = -1 , ESTIMATE , MEASURE , PATIENT , EXHAUSTIVE , HYBRID } |
Public Member Functions | |
fftw_planner (const fftw_planner &)=delete | |
~fftw_planner (void) | |
fftw_planner & | operator= (const fftw_planner &)=delete |
Static Public Member Functions | |
static void * | create_plan (const int rank, const dim_vector &dims, octave_idx_type howmany, octave_idx_type stride, octave_idx_type dist, const double *in, Complex *out) |
static void * | create_plan (int dir, const int rank, const dim_vector &dims, octave_idx_type howmany, octave_idx_type stride, octave_idx_type dist, const Complex *in, Complex *out) |
static bool | instance_ok (void) |
static FftwMethod | method (FftwMethod meth) |
static FftwMethod | method (void) |
static void | threads (int nt) |
static int | threads (void) |
Protected Member Functions | |
fftw_planner (void) | |
Private Member Functions | |
void * | do_create_plan (const int rank, const dim_vector &dims, octave_idx_type howmany, octave_idx_type stride, octave_idx_type dist, const double *in, Complex *out) |
void * | do_create_plan (int dir, const int rank, const dim_vector &dims, octave_idx_type howmany, octave_idx_type stride, octave_idx_type dist, const Complex *in, Complex *out) |
FftwMethod | do_method (FftwMethod meth) |
FftwMethod | do_method (void) |
Static Private Member Functions | |
static void | cleanup_instance (void) |
Private Attributes | |
octave_idx_type | m_d [2] |
octave_idx_type | m_h [2] |
bool | m_inplace [2] |
FftwMethod | m_meth |
dim_vector | m_n [2] |
int | m_nthreads |
void * | m_plan [2] |
int | m_r [2] |
octave_idx_type | m_rd |
octave_idx_type | m_rh |
dim_vector | m_rn |
void * | m_rplan |
int | m_rr |
octave_idx_type | m_rs |
bool | m_rsimd_align |
octave_idx_type | m_s [2] |
bool | m_simd_align [2] |
Static Private Attributes | |
static fftw_planner * | s_instance = nullptr |
Definition at line 40 of file oct-fftw.h.
Enumerator | |
---|---|
UNKNOWN | |
ESTIMATE | |
MEASURE | |
PATIENT | |
EXHAUSTIVE | |
HYBRID |
Definition at line 58 of file oct-fftw.h.
|
protected |
Definition at line 68 of file oct-fftw.cc.
References m_d, m_h, m_inplace, m_n, m_nthreads, m_plan, m_r, m_s, m_simd_align, OCTAVE_NPROC_CURRENT_OVERRIDABLE, and octave_num_processors_wrapper().
Referenced by instance_ok().
|
delete |
fftw_planner::~fftw_planner | ( | void | ) |
Definition at line 100 of file oct-fftw.cc.
|
inlinestaticprivate |
Definition at line 118 of file oct-fftw.h.
Referenced by instance_ok().
|
inlinestatic |
Definition at line 83 of file oct-fftw.h.
|
inlinestatic |
Definition at line 71 of file oct-fftw.h.
Referenced by fftw::fft(), fftw::fftNd(), fftw::ifft(), and fftw::ifftNd().
|
private |
Definition at line 280 of file oct-fftw.cc.
References CHECK_SIMD_ALIGNMENT, ESTIMATE, EXHAUSTIVE, HYBRID, m_meth, m_rd, m_rh, m_rn, m_rplan, m_rr, m_rs, m_rsimd_align, MEASURE, nn, OCTAVE_LOCAL_BUFFER, PATIENT, and UNKNOWN.
|
private |
Definition at line 155 of file oct-fftw.cc.
References CHECK_SIMD_ALIGNMENT, ESTIMATE, EXHAUSTIVE, HYBRID, m_d, m_h, m_inplace, m_meth, m_n, m_plan, m_r, m_s, m_simd_align, MEASURE, nn, OCTAVE_LOCAL_BUFFER, PATIENT, and UNKNOWN.
|
private |
|
private |
Definition at line 398 of file oct-fftw.cc.
References m_meth.
|
static |
Definition at line 118 of file oct-fftw.cc.
References fftw_planner(), singleton_cleanup_list::add(), cleanup_instance(), and s_instance.
Referenced by threads().
|
inlinestatic |
Definition at line 100 of file oct-fftw.h.
|
inlinestatic |
Definition at line 93 of file oct-fftw.h.
Referenced by Ffftw().
|
delete |
|
static |
Definition at line 132 of file oct-fftw.cc.
References instance_ok(), m_nthreads, m_plan, m_rplan, s_instance, and threads().
|
inlinestatic |
Definition at line 109 of file oct-fftw.h.
|
private |
Definition at line 144 of file oct-fftw.h.
Referenced by fftw_planner(), and do_create_plan().
|
private |
Definition at line 153 of file oct-fftw.h.
Referenced by fftw_planner(), and do_create_plan().
|
private |
Definition at line 159 of file oct-fftw.h.
Referenced by fftw_planner(), and do_create_plan().
|
private |
Definition at line 136 of file oct-fftw.h.
Referenced by do_create_plan(), and do_method().
|
private |
Definition at line 156 of file oct-fftw.h.
Referenced by fftw_planner(), and do_create_plan().
|
private |
Definition at line 183 of file oct-fftw.h.
Referenced by fftw_planner(), and threads().
|
private |
Definition at line 141 of file oct-fftw.h.
Referenced by fftw_planner(), ~fftw_planner(), do_create_plan(), do_method(), and threads().
|
private |
Definition at line 150 of file oct-fftw.h.
Referenced by fftw_planner(), and do_create_plan().
|
private |
Definition at line 165 of file oct-fftw.h.
Referenced by do_create_plan().
|
private |
Definition at line 174 of file oct-fftw.h.
Referenced by do_create_plan().
|
private |
Definition at line 177 of file oct-fftw.h.
Referenced by do_create_plan().
|
private |
Definition at line 162 of file oct-fftw.h.
Referenced by ~fftw_planner(), do_create_plan(), do_method(), and threads().
|
private |
Definition at line 171 of file oct-fftw.h.
Referenced by do_create_plan().
|
private |
Definition at line 168 of file oct-fftw.h.
Referenced by do_create_plan().
|
private |
Definition at line 179 of file oct-fftw.h.
Referenced by do_create_plan().
|
private |
Definition at line 147 of file oct-fftw.h.
Referenced by fftw_planner(), and do_create_plan().
|
private |
Definition at line 158 of file oct-fftw.h.
Referenced by fftw_planner(), and do_create_plan().
|
staticprivate |
Definition at line 116 of file oct-fftw.h.
Referenced by instance_ok(), and threads().