Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
einsteinathome
libclfft
Commits
9c5a4b48
Commit
9c5a4b48
authored
Sep 21, 2012
by
Heinz-Bernd Eggenstein
Browse files
added comments in header file for extended plan generation function
parent
dc050e3a
Changes
1
Hide whitespace changes
Inline
Side-by-side
include/clFFT.h
View file @
9c5a4b48
...
...
@@ -98,6 +98,25 @@ typedef enum
clFFT_InterleavedComplexFormat
=
1
}
clFFT_DataFormat
;
// enum for twiddle factor method selection (essentially different methods to evaluate
// sin(x) and cos(x) on a grid x_k= 2*pi*k/N for some N, k=0..N-1 )
//
// clFFT_native_trig : the original method, using native_sin, native_cos
// : NOTE: precision is hardware dependent, see OpenCL 1.1 spec
// clFFT_sincosfunc : alternative method using sincos function (slow in most
// : implementations, accuracy as defined in OpenCL 1.1 spec
// clFFT_BigLUT : alternative version using Lookup tables stored as part of the
// : plan. The LUTs size grow with O(sqrt(N)) , where N is the
// : total size of the transform (over all dimensions). This should
// : be the most accurate option and have much better performance than
// : with option clFFT_sincosfunc
// clFFT_TaylorLUT : alternative method using a constant size Look-Up-Table and Taylor
// : series approx of sin,cos
// clFFT_RFU{n} : reserved for future use, so that clFFT_TwiddleFactorMethod may use
// : the lower 3 bits of the flags argument to clFFT_CreatePlanAdv.
// : All options are mutually exclusive.
typedef
enum
{
clFFT_native_trig
=
0
,
...
...
@@ -133,6 +152,27 @@ typedef void* clFFT_Plan;
clFFT_Plan
clFFT_CreatePlan
(
cl_context
context
,
clFFT_Dim3
n
,
clFFT_Dimension
dim
,
clFFT_DataFormat
dataFormat
,
cl_int
*
error_code
);
/**
* Extended plan constructor, allows to specify plan options in the flags parameter.
* Currently only values of the enumeration clFFT_TwiddleFactorMethod are supported to
* choose the method for twiddle factor computations.
*
* Param:
* context : cl_context to use
* n : transform lengths in (up to) 3 dimensions
* dim : dimension of the transform
* dataFormat: see clFFT_DataFormat type
* flags : plan generation options. Use OR to specify more than one option
* (currently only the mutually exclusive enumeration values of
* clFFT_TwiddleFactorMethod are supported)
* error_code: pointer to error code, in case of error
*
* Returns:
* freshly allocated clFFT_Plan object holding the plan for the specified transform.
* Can be reused for several FFT plan executions.
* The caller is responsible to deallocate this object after use.
*/
clFFT_Plan
clFFT_CreatePlanAdv
(
cl_context
context
,
clFFT_Dim3
n
,
clFFT_Dimension
dim
,
clFFT_DataFormat
dataFormat
,
unsigned
long
flags
,
cl_int
*
error_code
);
void
clFFT_DestroyPlan
(
clFFT_Plan
plan
);
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment