/* * fft.h * * Include file for fft.c. * *%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% * * This file part of: SExtractor * * Copyright: (C) 2007-2022 IAP/CNRS/SorbonneU * * License: GNU General Public License * * SExtractor is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * SExtractor 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 General Public License for more details. * You should have received a copy of the GNU General Public License * along with SExtractor. If not, see . * * Last modified: 07/09/2022 * *%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ #ifndef _FITSCAT_H_ #include "fits/fitscat.h" #endif #ifndef FFTW3_H #include FFTW_H #endif /*---------------------------- Internal constants ---------------------------*/ /*------------------------------- Other Macros ------------------------------*/ #define QFFTWF_MALLOC(ptr, typ, nel) \ {if (!(ptr = (typ *)fftwf_malloc((size_t)(nel)*sizeof(typ)))) \ { \ sprintf(gstr, #ptr " (" #nel "=%zd elements) " \ "at line %d in module " __FILE__ " !", \ (size_t)(nel)*sizeof(typ), __LINE__); \ error(EXIT_FAILURE, "Could not allocate memory for ", gstr);\ }; \ } #define QFFTWF_FREE(ptr) \ {fftwf_free(ptr); ptr=NULL;} /*--------------------------- structure definitions -------------------------*/ /*---------------------------------- protos --------------------------------*/ extern void fft_conv(float *data1, float *fdata2, int *size), fft_end(void), fft_init(int nthreads), fft_reset(void); extern float *fft_rtf(float *data, int *size);