23 #if ! defined (octave_oct_fftw_h) 24 #define octave_oct_fftw_h 1 26 #include "octave-config.h" 65 static bool instance_ok (
void);
74 ? instance->do_create_plan (dir, rank,
dims, howmany, stride,
85 ? instance->do_create_plan (rank,
dims, howmany, stride, dist,
94 return instance_ok () ? instance->do_method () : dummy;
101 return instance_ok () ? instance->do_method (_meth) : dummy;
104 static void threads (
int nt);
108 return instance_ok () ? instance->nthreads : 0;
128 FftwMethod do_method (
void);
130 FftwMethod do_method (FftwMethod _meth);
211 static bool instance_ok (
void);
219 return instance_ok ()
220 ? instance->do_create_plan (dir, rank,
dims, howmany, stride,
230 return instance_ok ()
231 ? instance->do_create_plan (rank,
dims, howmany, stride, dist,
240 return instance_ok () ? instance->do_method () : dummy;
247 return instance_ok () ? instance->do_method (_meth) : dummy;
250 static void threads (
int nt);
254 return instance_ok () ? instance->nthreads : 0;
274 FftwMethod do_method (
void);
276 FftwMethod do_method (FftwMethod _meth);
334 fftw (
void) =
delete;
340 fftw& operator = (
const fftw&) =
delete;
342 static int fft (
const double *in,
Complex *out,
size_t npts,
358 static int fft (
const float *in,
FloatComplex *out,
size_t npts,
379 #if defined (OCTAVE_USE_DEPRECATED_FUNCTIONS) 381 OCTAVE_DEPRECATED (4.4,
"use 'octave::fftw_version' instead")
382 static inline
std::
string 383 octave_fftw_version (
void)
388 OCTAVE_DEPRECATED (4.4,
"use 'octave::fftwf_version' instead")
389 static inline
std::
string 390 octave_fftwf_version (
void)
395 OCTAVE_DEPRECATED (4.4,
"use 'octave::fftw_planner' instead")
396 typedef
octave::fftw_planner octave_fftw_planner;
398 OCTAVE_DEPRECATED (4.4, "use '
octave::float_fftw_planner'
instead")
399 typedef
octave::float_fftw_planner octave_float_fftw_planner;
402 typedef
octave::fftw octave_fftw;
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 FftwMethod method(void)
F77_RET_T const F77_REAL const F77_REAL F77_REAL &F77_RET_T const F77_DBLE const F77_DBLE F77_DBLE &F77_RET_T const F77_DBLE F77_DBLE &F77_RET_T const F77_REAL F77_REAL &F77_RET_T const F77_DBLE const F77_DBLE F77_DBLE * d
static FftwMethod method(void)
static void cleanup_instance(void)
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)
std::string fftwf_version(void)
std::string fftw_version(void)
static fftw_planner * instance
static float_fftw_planner * instance
the exceeded dimensions are set to if fewer subscripts than dimensions are the exceeding dimensions are merged into the final requested dimension For consider the following dims
static FftwMethod method(FftwMethod _meth)
static void * 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 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 FloatComplex *in, FloatComplex *out)
std::complex< float > FloatComplex
static void cleanup_instance(void)
std::complex< double > Complex
static FftwMethod method(FftwMethod _meth)
Vector representing the dimensions (size) of an Array.
If this string is the system will ring the terminal sometimes it is useful to be able to print the original representation of the string