26 #if ! defined (octave_oct_fftw_h)
27 #define octave_oct_fftw_h 1
29 #include "octave-config.h"
68 static bool instance_ok (
void);
77 ? instance->do_create_plan (dir, rank, dims, howmany, stride,
88 ? instance->do_create_plan (rank, dims, howmany, stride, dist,
97 return instance_ok () ? instance->do_method () : dummy;
104 return instance_ok () ? instance->do_method (_meth) : dummy;
107 static void threads (
int nt);
111 return instance_ok () ? instance->nthreads : 0;
121 do_create_plan (
int dir,
const int rank,
const dim_vector& dims,
127 do_create_plan (
const int rank,
const dim_vector& dims,
131 FftwMethod do_method (
void);
133 FftwMethod do_method (FftwMethod _meth);
214 static bool instance_ok (
void);
222 return instance_ok ()
223 ? instance->do_create_plan (dir, rank, dims, howmany, stride,
233 return instance_ok ()
234 ? instance->do_create_plan (rank, dims, howmany, stride, dist,
243 return instance_ok () ? instance->do_method () : dummy;
250 return instance_ok () ? instance->do_method (_meth) : dummy;
253 static void threads (
int nt);
257 return instance_ok () ? instance->nthreads : 0;
267 do_create_plan (
int dir,
const int rank,
const dim_vector& dims,
273 do_create_plan (
const int rank,
const dim_vector& dims,
277 FftwMethod do_method (
void);
279 FftwMethod do_method (FftwMethod _meth);
345 static int fft (
const double *in,
Complex *out,
size_t npts,
361 static int fft (
const float *in,
FloatComplex *out,
size_t npts,
Vector representing the dimensions (size) of an Array.
fftw_planner(const fftw_planner &)=delete
static fftw_planner * instance
static FftwMethod method(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)
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(FftwMethod _meth)
static void cleanup_instance(void)
fftw(const fftw &)=delete
static void cleanup_instance(void)
float_fftw_planner(const float_fftw_planner &)=delete
static FftwMethod method(void)
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)
static float_fftw_planner * instance
F77_RET_T const F77_DBLE const F77_DBLE F77_DBLE * d
std::string fftw_version(void)
std::string fftwf_version(void)
std::complex< double > Complex
std::complex< float > FloatComplex