/* PIP - Platform Independent Primitives Class for FFT, IFFT and Hilbert transformations Copyright (C) 2020 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)