shared
 All Classes Functions Variables Typedefs Enumerations Enumerator Friends
Static Public Member Functions | List of all members
Plan Class Reference

A class for executing and manipulating FFTW3 plans. More...

#include <Plan.hpp>

Static Public Member Functions

static void transform (JNIEnv *env, jobject thisObj, jdoubleArray in, jdoubleArray out)
 Performs an out-of-place transform. More...
 
static jbyteArray create (JNIEnv *env, jobject thisObj, jint type, jintArray dims, jint logicalMode)
 Creates a pointer to the native peer. More...
 
static void destroy (JNIEnv *env, jobject thisObj)
 Destroys the native peer. More...
 
static jstring exportWisdom (JNIEnv *env)
 Exports learned wisdom to a string. More...
 
static void importWisdom (JNIEnv *env, jstring wisdom)
 Imports wisdom from a string. More...
 
static void getTransformParameters (jint &inLen, jint &outLen, jdouble &scalingFactor, jint type, const jint *dimsArr, jint nDims)
 Gets the transform parameters. More...
 
static fftw_plan createPlan (jint type, const jint *dimsArr, jint nDims, jint logicalMode, jint inLen, jint outLen)
 Creates a native plan. More...
 
static void executePlan (jint type, fftw_plan plan, jdouble *inArr, jint inLen, jdouble *outArr, jint outLen, jdouble scalingFactor)
 Executes a native plan. More...
 
static void executePlanCToR (fftw_plan plan, jdouble *inArr, jdouble *outArr, jint inLen)
 Executes a complex-to-real transform, which requires special handling because it destroys its input. More...
 
static void init (JNIEnv *env)
 Initializes the Plan class. More...
 
static void destroy (JNIEnv *env)
 Destroys the Plan class. More...
 

Detailed Description

A class for executing and manipulating FFTW3 plans.

Member Function Documentation

jbyteArray Plan::create ( JNIEnv *  env,
jobject  thisObj,
jint  type,
jintArray  dims,
jint  logicalMode 
)
static

Creates a pointer to the native peer.

Parameters
envthe JNI environment.
thisObjthis object.
typethe transform type.
dimsthe dimensions.
logicalModethe transform mode.
Returns
a pointer to the native peer.
fftw_plan Plan::createPlan ( jint  type,
const jint *  dimsArr,
jint  nDims,
jint  logicalMode,
jint  inLen,
jint  outLen 
)
inlinestatic

Creates a native plan.

Parameters
typethe transform type.
dimsArrthe dimensions.
nDimsthe number of dimensions.
logicalModethe transform mode.
inLenthe input array length.
outLenthe output array length.
Returns
the native plan.
void Plan::destroy ( JNIEnv *  env,
jobject  thisObj 
)
static

Destroys the native peer.

Parameters
envthe JNI environment.
thisObjthis object.
void Plan::destroy ( JNIEnv *  env)
static

Destroys the Plan class.

Parameters
envthe JNI environment.
void Plan::executePlan ( jint  type,
fftw_plan  plan,
jdouble *  inArr,
jint  inLen,
jdouble *  outArr,
jint  outLen,
jdouble  scalingFactor 
)
inlinestatic

Executes a native plan.

Parameters
typethe transform type.
planthe native plan.
inArrthe input array.
inLenthe input array length.
outArrthe output array.
outLenthe output array length.
scalingFactorthe scaling factor.
void Plan::executePlanCToR ( fftw_plan  plan,
jdouble *  inArr,
jdouble *  outArr,
jint  inLen 
)
static

Executes a complex-to-real transform, which requires special handling because it destroys its input.

Parameters
planthe native plan.
inArrthe input array.
outArrthe output array.
inLenthe input array length.
jstring Plan::exportWisdom ( JNIEnv *  env)
static

Exports learned wisdom to a string.

Parameters
envthe JNI environment.
Returns
the wisdom.
void Plan::getTransformParameters ( jint &  inLen,
jint &  outLen,
jdouble &  scalingFactor,
jint  type,
const jint *  dimsArr,
jint  nDims 
)
inlinestatic

Gets the transform parameters.

Parameters
inLenthe determined input array size.
outLenthe determined output array size.
scalingFactorthe determined scaling factor.
typethe transform type.
dimsArrthe dimensions.
nDimsthe number of dimensions.
void Plan::importWisdom ( JNIEnv *  env,
jstring  wisdom 
)
static

Imports wisdom from a string.

Parameters
envthe JNI environment.
wisdomthe source of wisdom.
void Plan::init ( JNIEnv *  env)
static

Initializes the Plan class.

Parameters
envthe JNI environment.
void Plan::transform ( JNIEnv *  env,
jobject  thisObj,
jdoubleArray  in,
jdoubleArray  out 
)
static

Performs an out-of-place transform.

Parameters
envthe JNI environment.
thisObjthis object.
inthe input array.
outthe output array.