Page
Library
Module
Module type
Parameter
Class
Class type
Source
Fftw3.DDouble precision FFTW.
type float_elt = Bigarray.float64_eltPrecision of float numbers.
type complex_elt = Bigarray.complex64_eltPrecision of complex numbers.
val float : (float, float_elt) Bigarray.kindFloat of the precision of this module. Use this to create precision independent code.
val complex : (Complex.t, complex_elt) Bigarray.kindComplex of the precision of this module. Use this to create precision independent code.
type measure = | EstimateNo measurements are made, use a simple heuristic to pick a (probably sub-optimal) plan quickly.
*)| MeasureFind an optimized plan by actually computing several FFTs and measuring their execution time.
*)| PatientLike Measure, but considers a wider range of algorithms and often produces a "more optimal" plan at the expense of several times longer planning time.
| ExhaustiveLike Patient, but considers an even wider range of algorithms, including many that are thought unlikely to be fast, to produce the most optimal plan but with a substantially increased planning time.
Planning-rigor flags.
type r2r_kind = | R2HCreal to halfcomplex
*)| HC2Rhalfcomplex to real
*)| DHTdiscrete Hartley Transform
*)| REDFT00real-even DFT: even around j=0 and even around j=n-1
*)| REDFT01real-even DFT: even around j=0 and odd around j=n
*)| REDFT10real-even DFT: even around j=-0.5 and even around j=n-0.5
*)| REDFT11real-even DFT: even around j=-0.5 and odd around j=n-0.5
*)| RODFT00real-odd DFT; odd around j=-1 and odd around j=n
*)| RODFT01real-odd DFT; odd around j=-1 and even around j=n-1
*)| RODFT10real-odd DFT; odd around j=-0.5 and odd around j=n-0.5
*)| RODFT11real-odd DFT; odd around j=-0.5 and even around j=n-0.5
*)Real-to-Real transform kinds. The real-even (resp. real-odd) DFT are somtimes called Discrete Cosine Transform (DCT) (resp. Discrete Sine Transform (DST)). Note that the explanations of the various transforms are for an input array of dimension n and C layout (i.e. the input array is input[0..n-1]). The logical size N is N=2(n-1) for REDFT00, N=2(n+1) for RODFT00, and N=2n otherwise. See the FFTW manual for more details.
val exec : 'a plan -> unitexec plan executes the plan on the arrays given at the creation of this plan. This is the normal way to execute any kind of plan.
This function is thread safe (and may run the actual computation on a different core than the main program).
module Guru : sig ... endGuru execution of plans.
module Genarray : sig ... endFFT of Bigarray.Genarray.
module Array1 : sig ... endFFT of Bigarray.Array1.
module Array2 : sig ... endFFT of Bigarray.Array2.
module Array3 : sig ... endFFT of Bigarray.Array3.