/* PIP - Platform Independent Primitives Class for FFT, IFFT and Hilbert transformations Ivan Pelipenko peri4ko@yandex.ru, Andrey Bychkov work.a.b@yandex.ru This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #include "pifft.h" #include "pifft_p.h" #define _PIFFTW_CPP(type) \ _PIFFTW_P_##type##_::_PIFFTW_P_##type##_() { \ impl = new PIFFTW_Private(); \ ; \ } \ _PIFFTW_P_##type##_::~_PIFFTW_P_##type##_() { \ delete (PIFFTW_Private *)impl; \ } \ const PIVector> & _PIFFTW_P_##type##_::calcFFT(const PIVector> & in) { \ return ((PIFFTW_Private *)impl)->calcFFT(in); \ } \ const PIVector> & _PIFFTW_P_##type##_::calcFFTR(const PIVector & in) { \ return ((PIFFTW_Private *)impl)->calcFFT(in); \ } \ const PIVector> & _PIFFTW_P_##type##_::calcFFTI(const PIVector> & in) { \ return ((PIFFTW_Private *)impl)->calcFFTinverse(in); \ } \ void _PIFFTW_P_##type##_::preparePlan(int size, int op) { \ return ((PIFFTW_Private *)impl)->preparePlan(size, op); \ } _PIFFTW_CPP(float) _PIFFTW_CPP(double) _PIFFTW_CPP(ldouble)