Re: [eigen] Problem with fft and custom allocator

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]


Am 27.03.2016 um 22:58 schrieb Matthias Pospiech:
Hello,
I am using the FFT of eigen, however with a custom allocator.
The custom one is based on the code from Nicolai M. Josuttis
http://www.josuttis.com/libbook/memory/myalloc.hpp.html
with fftw_malloc and fftw_free instead of new and delete.
The class is called
fftalloc.

This simple code however fails:

	std::vector<complex<double>,fftalloc<complex<double> > > data(N);
	std::vector<complex<double>,fftalloc<complex<double> > > dataFourier(N);

	FFT<double> fft;
	fft.fwd(dataFourier, data);

I solved it by defining a new set of functions:


void fwd( std::vector<Complex,fftalloc<Complex> > & dst, const vector<_Input,fftalloc<_Input> > & src)
void
inv( std::vector<_Output,fftalloc<_Output> > & dst, const std::vector<Complex,fftalloc<Complex> >& src, Index nfft=-1)

it compiles now and the result of ifft(fft(A)) differs now from A by << 1e-16

The only restriction is now, that either non or both arrays must be defined with or without the extra allocator.

Matthias



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/