GNU Octave  3.8.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_float_fftw_planner Class Reference

#include "oct-fftw.h"

Collaboration diagram for octave_float_fftw_planner:
Collaboration graph
[legend]

Public Types

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

Public Member Functions

 ~octave_float_fftw_planner (void)

Static Public Member Functions

static fftwf_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 FloatComplex *in, FloatComplex *out)
static fftwf_plan create_plan (const int rank, const dim_vector dims, octave_idx_type howmany, octave_idx_type stride, octave_idx_type dist, const float *in, FloatComplex *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_float_fftw_planner (void)

Private Member Functions

 octave_float_fftw_planner (const octave_float_fftw_planner &)
fftwf_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 FloatComplex *in, FloatComplex *out)
fftwf_plan do_create_plan (const int rank, const dim_vector dims, octave_idx_type howmany, octave_idx_type stride, octave_idx_type dist, const float *in, FloatComplex *out)
FftwMethod do_method (void)
FftwMethod do_method (FftwMethod _meth)
octave_float_fftw_planneroperator= (const octave_float_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
fftwf_plan plan [2]
int r [2]
octave_idx_type rd
octave_idx_type rh
dim_vector rn
fftwf_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_float_fftw_plannerinstance = 0

Detailed Description

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

Member Enumeration Documentation

Enumerator:
UNKNOWN 
ESTIMATE 
MEASURE 
PATIENT 
EXHAUSTIVE 
HYBRID 

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

Constructor & Destructor Documentation

octave_float_fftw_planner::octave_float_fftw_planner ( void  )
protected

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

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

Referenced by instance_ok().

octave_float_fftw_planner::~octave_float_fftw_planner ( void  )

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

References plan, and rplan.

octave_float_fftw_planner::octave_float_fftw_planner ( const octave_float_fftw_planner )
private

Member Function Documentation

static void octave_float_fftw_planner::cleanup_instance ( void  )
inlinestaticprivate

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

Referenced by instance_ok().

static fftwf_plan octave_float_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 FloatComplex in,
FloatComplex out 
)
inlinestatic

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

Referenced by octave_fftw::fft(), and octave_fftw::fftNd().

static fftwf_plan octave_float_fftw_planner::create_plan ( const int  rank,
const dim_vector  dims,
octave_idx_type  howmany,
octave_idx_type  stride,
octave_idx_type  dist,
const float in,
FloatComplex out 
)
inlinestatic

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

fftwf_plan octave_float_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 FloatComplex in,
FloatComplex out 
)
private
fftwf_plan octave_float_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 float in,
FloatComplex out 
)
private
octave_float_fftw_planner::FftwMethod octave_float_fftw_planner::do_method ( void  )
private

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

References meth.

octave_float_fftw_planner::FftwMethod octave_float_fftw_planner::do_method ( FftwMethod  _meth)
private

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

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

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

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

Referenced by DEFUN_DLD().

static FftwMethod octave_float_fftw_planner::method ( FftwMethod  _meth)
inlinestatic

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

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

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

static int octave_float_fftw_planner::threads ( )
inlinestatic

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

Referenced by DEFUN_DLD().

Member Data Documentation

octave_idx_type octave_float_fftw_planner::d[2]
private

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

Referenced by do_create_plan(), and octave_float_fftw_planner().

octave_idx_type octave_float_fftw_planner::h[2]
private

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

Referenced by do_create_plan(), and octave_float_fftw_planner().

bool octave_float_fftw_planner::inplace[2]
private

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

Referenced by do_create_plan(), and octave_float_fftw_planner().

octave_float_fftw_planner * octave_float_fftw_planner::instance = 0
staticprivate

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

Referenced by instance_ok().

FftwMethod octave_float_fftw_planner::meth
private

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

Referenced by do_create_plan(), and do_method().

dim_vector octave_float_fftw_planner::n[2]
private

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

Referenced by do_create_plan(), and octave_float_fftw_planner().

int octave_float_fftw_planner::nthreads
private

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

Referenced by octave_float_fftw_planner().

fftwf_plan octave_float_fftw_planner::plan[2]
private
int octave_float_fftw_planner::r[2]
private

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

Referenced by do_create_plan(), and octave_float_fftw_planner().

octave_idx_type octave_float_fftw_planner::rd
private

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

Referenced by do_create_plan().

octave_idx_type octave_float_fftw_planner::rh
private

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

Referenced by do_create_plan().

dim_vector octave_float_fftw_planner::rn
private

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

Referenced by do_create_plan().

fftwf_plan octave_float_fftw_planner::rplan
private

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

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

int octave_float_fftw_planner::rr
private

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

Referenced by do_create_plan().

octave_idx_type octave_float_fftw_planner::rs
private

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

Referenced by do_create_plan().

bool octave_float_fftw_planner::rsimd_align
private

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

Referenced by do_create_plan().

octave_idx_type octave_float_fftw_planner::s[2]
private

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

Referenced by do_create_plan(), and octave_float_fftw_planner().

bool octave_float_fftw_planner::simd_align[2]
private

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

Referenced by do_create_plan(), and octave_float_fftw_planner().


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