GNU Octave  4.2.1
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 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 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 bool instance_ok (void)
 
static FftwMethod method (void)
 
static FftwMethod method (FftwMethod _meth)
 
static void threads (int nt)
 
static int threads (void)
 

Protected Member Functions

 octave_fftw_planner (void)
 

Private Member Functions

 octave_fftw_planner (const octave_fftw_planner &)
 
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)
 
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)
 
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
 
void * plan [2]
 
int r [2]
 
octave_idx_type rd
 
octave_idx_type rh
 
dim_vector rn
 
void * 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 33 of file oct-fftw.h.

Member Enumeration Documentation

Enumerator
UNKNOWN 
ESTIMATE 
MEASURE 
PATIENT 
EXHAUSTIVE 
HYBRID 

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

Constructor & Destructor Documentation

octave_fftw_planner::octave_fftw_planner ( void  )
protected

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

References d, h, inplace, n, nthreads, OCTAVE_NPROC_CURRENT, octave_num_processors_wrapper(), plan, r, s, and simd_align.

Referenced by instance_ok().

octave_fftw_planner::~octave_fftw_planner ( void  )

Definition at line 92 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 111 of file oct-fftw.h.

Referenced by instance_ok().

static void* 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 void* 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 70 of file oct-fftw.h.

void * 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
void * 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 393 of file oct-fftw.cc.

References meth.

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

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

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

bool octave_fftw_planner::instance_ok ( void  )
static

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

References singleton_cleanup_list::add(), cleanup_instance(), instance, octave_fftw_planner(), and retval.

Referenced by threads().

static FftwMethod octave_fftw_planner::method ( void  )
inlinestatic

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

Referenced by Gfftw().

static FftwMethod octave_fftw_planner::method ( FftwMethod  _meth)
inlinestatic

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

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

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

References instance, instance_ok(), nthreads, plan, rplan, and threads().

static int octave_fftw_planner::threads ( void  )
inlinestatic

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

Referenced by Gfftw(), and threads().

Member Data Documentation

octave_idx_type octave_fftw_planner::d[2]
private

Definition at line 136 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 145 of file oct-fftw.h.

Referenced by do_create_plan(), and octave_fftw_planner().

bool octave_fftw_planner::inplace[2]
private

Definition at line 151 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 109 of file oct-fftw.h.

Referenced by instance_ok(), and threads().

FftwMethod octave_fftw_planner::meth
private

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

Referenced by do_create_plan(), and do_method().

dim_vector octave_fftw_planner::n[2]
private

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

Referenced by do_create_plan(), and octave_fftw_planner().

int octave_fftw_planner::nthreads
private

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

Referenced by octave_fftw_planner(), and threads().

void* octave_fftw_planner::plan[2]
private
int octave_fftw_planner::r[2]
private

Definition at line 142 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 157 of file oct-fftw.h.

Referenced by do_create_plan().

octave_idx_type octave_fftw_planner::rh
private

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

Referenced by do_create_plan().

dim_vector octave_fftw_planner::rn
private

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

Referenced by do_create_plan().

void* octave_fftw_planner::rplan
private

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

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

int octave_fftw_planner::rr
private

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

Referenced by do_create_plan().

octave_idx_type octave_fftw_planner::rs
private

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

Referenced by do_create_plan().

bool octave_fftw_planner::rsimd_align
private

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

Referenced by do_create_plan().

octave_idx_type octave_fftw_planner::s[2]
private

Definition at line 139 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 150 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: