Fftw with single precision?

Greetings everyone,

I have been reading about the possibility of doing an fft with single precision instead of double precision, here: fftw.org/fftw2_doc/fftw_6.html . It looks like something like this could work

TVirtualFFT *fft = TVirtualFFT::FFT(1, &N, "C2CFORWARD M K");
 float R_time[100]; float I_time[100];
 fft->SetPointsComplex(R, I);
 float R_frequency[100]; float I_frequency[100];
 fft->GetPointsComplex(R_frequency, I_frequency);

as long as the single precision fftw libraries are linked to the Root installation, and as long as we include something like #include <srfftw.h> instead of #include <rfftw.h>. In the meantime I am looking over the documentation for the interface class TVirtualFFT.h and I do not see a straightforward way to implement this.

Am I missing something, or would I need to start from scratch with a brand new interface class in order to do a single precision fft … ? Thanks in advance for any thoughts.


I found that it is probably better to run the fft outside of Root, via micro.stanford.edu/wiki/Install_ … nd_Install . Then the results can be read and plotted inside Root.