GNU Octave  4.0.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | List of all members
octave_fftw_planner Class Reference

#include "oct-fftw.h"

Collaboration diagram for octave_fftw_planner:
Collaboration graph
[legend]

Public Types

enum  FftwMethod {
  UNKNOWN = -1, ESTIMATE, MEASURE, PATIENT,
  EXHAUSTIVE, HYBRID
}
 

Public Member Functions

 ~octave_fftw_planner (void)
 

Static Public Member Functions

static fftw_plan 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 fftw_plan 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 bool instance_ok (void)
 
static FftwMethod method (void)
 
static FftwMethod method (FftwMethod _meth)
 
static void threads (int _nthreads)
 
static int threads ()
 

Protected Member Functions

 octave_fftw_planner (void)
 

Private Member Functions

 octave_fftw_planner (const octave_fftw_planner &)
 
fftw_plan 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)
 
fftw_plan 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)
 
FftwMethod do_method (void)
 
FftwMethod do_method (FftwMethod _meth)
 
octave_fftw_planneroperator= (const octave_fftw_planner &)
 

Static Private Member Functions

static void cleanup_instance (void)
 

Private Attributes

octave_idx_type d [2]
 
octave_idx_type h [2]
 
bool inplace [2]
 
FftwMethod meth
 
dim_vector n [2]
 
int nthreads
 
fftw_plan plan [2]
 
int r [2]
 
octave_idx_type rd
 
octave_idx_type rh
 
dim_vector rn
 
fftw_plan rplan
 
int rr
 
octave_idx_type rs
 
bool rsimd_align
 
octave_idx_type s [2]
 
bool simd_align [2]
 

Static Private Attributes

static octave_fftw_plannerinstance = 0
 

Detailed Description

Definition at line 37 of file oct-fftw.h.

Member Enumeration Documentation

Enumerator
UNKNOWN 
ESTIMATE 
MEASURE 
PATIENT 
EXHAUSTIVE 
HYBRID 

Definition at line 49 of file oct-fftw.h.

Constructor & Destructor Documentation

octave_fftw_planner::octave_fftw_planner ( void  )
protected

Definition at line 62 of file oct-fftw.cc.

References d, h, inplace, n, nthreads, plan, r, s, and simd_align.

Referenced by instance_ok().

octave_fftw_planner::~octave_fftw_planner ( void  )

Definition at line 86 of file oct-fftw.cc.

References plan, and rplan.

octave_fftw_planner::octave_fftw_planner ( const octave_fftw_planner )
private

Member Function Documentation

static void octave_fftw_planner::cleanup_instance ( void  )
inlinestaticprivate

Definition at line 130 of file oct-fftw.h.

Referenced by instance_ok().

static fftw_plan octave_fftw_planner::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 
)
inlinestatic
static fftw_plan octave_fftw_planner::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 
)
inlinestatic

Definition at line 76 of file oct-fftw.h.

fftw_plan octave_fftw_planner::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 
)
private
fftw_plan octave_fftw_planner::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 
)
private
octave_fftw_planner::FftwMethod octave_fftw_planner::do_method ( void  )
private

Definition at line 374 of file oct-fftw.cc.

References meth.

octave_fftw_planner::FftwMethod octave_fftw_planner::do_method ( FftwMethod  _meth)
private

Definition at line 380 of file oct-fftw.cc.

References ESTIMATE, EXHAUSTIVE, HYBRID, MEASURE, meth, PATIENT, plan, rplan, and UNKNOWN.

bool octave_fftw_planner::instance_ok ( void  )
static
static FftwMethod octave_fftw_planner::method ( void  )
inlinestatic

Definition at line 88 of file oct-fftw.h.

Referenced by Gfftw().

static FftwMethod octave_fftw_planner::method ( FftwMethod  _meth)
inlinestatic

Definition at line 95 of file oct-fftw.h.

octave_fftw_planner& octave_fftw_planner::operator= ( const octave_fftw_planner )
private
static void octave_fftw_planner::threads ( int  _nthreads)
inlinestatic

Definition at line 103 of file oct-fftw.h.

static int octave_fftw_planner::threads ( )
inlinestatic

Definition at line 114 of file oct-fftw.h.

Referenced by Gfftw().

Member Data Documentation

octave_idx_type octave_fftw_planner::d[2]
private

Definition at line 155 of file oct-fftw.h.

Referenced by do_create_plan(), and octave_fftw_planner().

octave_idx_type octave_fftw_planner::h[2]
private

Definition at line 164 of file oct-fftw.h.

Referenced by do_create_plan(), and octave_fftw_planner().

bool octave_fftw_planner::inplace[2]
private

Definition at line 170 of file oct-fftw.h.

Referenced by do_create_plan(), and octave_fftw_planner().

octave_fftw_planner * octave_fftw_planner::instance = 0
staticprivate

Definition at line 128 of file oct-fftw.h.

Referenced by instance_ok().

FftwMethod octave_fftw_planner::meth
private

Definition at line 147 of file oct-fftw.h.

Referenced by do_create_plan(), and do_method().

dim_vector octave_fftw_planner::n[2]
private

Definition at line 167 of file oct-fftw.h.

Referenced by do_create_plan(), and octave_fftw_planner().

int octave_fftw_planner::nthreads
private

Definition at line 194 of file oct-fftw.h.

Referenced by octave_fftw_planner().

fftw_plan octave_fftw_planner::plan[2]
private

Definition at line 152 of file oct-fftw.h.

Referenced by do_create_plan(), do_method(), octave_fftw_planner(), and ~octave_fftw_planner().

int octave_fftw_planner::r[2]
private

Definition at line 161 of file oct-fftw.h.

Referenced by do_create_plan(), and octave_fftw_planner().

octave_idx_type octave_fftw_planner::rd
private

Definition at line 176 of file oct-fftw.h.

Referenced by do_create_plan().

octave_idx_type octave_fftw_planner::rh
private

Definition at line 185 of file oct-fftw.h.

Referenced by do_create_plan().

dim_vector octave_fftw_planner::rn
private

Definition at line 188 of file oct-fftw.h.

Referenced by do_create_plan().

fftw_plan octave_fftw_planner::rplan
private

Definition at line 173 of file oct-fftw.h.

Referenced by do_create_plan(), do_method(), and ~octave_fftw_planner().

int octave_fftw_planner::rr
private

Definition at line 182 of file oct-fftw.h.

Referenced by do_create_plan().

octave_idx_type octave_fftw_planner::rs
private

Definition at line 179 of file oct-fftw.h.

Referenced by do_create_plan().

bool octave_fftw_planner::rsimd_align
private

Definition at line 190 of file oct-fftw.h.

Referenced by do_create_plan().

octave_idx_type octave_fftw_planner::s[2]
private

Definition at line 158 of file oct-fftw.h.

Referenced by do_create_plan(), and octave_fftw_planner().

bool octave_fftw_planner::simd_align[2]
private

Definition at line 169 of file oct-fftw.h.

Referenced by do_create_plan(), and octave_fftw_planner().


The documentation for this class was generated from the following files: