/*
|
/*
|
fft.h
|
* fft.h
|
|
*
|
*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
* Include file for fft.c.
|
|
*
|
|
*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
*
|
|
* This file part of: SExtractor
|
|
*
|
|
* Copyright: (C) 2007-2010 IAP/CNRS/UPMC
|
*
|
*
|
* Part of: A program that uses FFTs
|
* Author: Emmanuel Bertin (IAP)
|
*
|
*
|
* Author: E.BERTIN (IAP)
|
* License: GNU General Public License
|
*
|
*
|
* Contents: Include for fft.c.
|
* 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 <http://www.gnu.org/licenses/>.
|
*
|
*
|
* Last modify: 08/10/2009
|
* Last modified: 11/10/2010
|
*
|
*
|
*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
*/
|
|
|
|
#ifndef _FITSCAT_H_
|
#ifndef _FITSCAT_H_
|
#include "fits/fitscat.h"
|
#include "fits/fitscat.h"
|
#endif
|
#endif
|
|
|
/*---------------------------- Internal constants ---------------------------*/
|
/*---------------------------- Internal constants ---------------------------*/
|
|
|
/*------------------------------- Other Macros ------------------------------*/
|
/*------------------------------- Other Macros ------------------------------*/
|
#define QFFTWMALLOC(ptr, typ, nel) \
|
#define QFFTWMALLOC(ptr, typ, nel) \
|
{if (!(ptr = (typ *)fftwf_malloc((size_t)(nel)*sizeof(typ)))) \
|
{if (!(ptr = (typ *)fftwf_malloc((size_t)(nel)*sizeof(typ)))) \
|
error(EXIT_FAILURE, "Not enough memory for ", \
|
error(EXIT_FAILURE, "Not enough memory for ", \
|
#ptr " (" #nel " elements) !");;}
|
#ptr " (" #nel " elements) !");;}
|
#define QFFTWFREE(ptr) fftwf_free(ptr)
|
#define QFFTWFREE(ptr) fftwf_free(ptr)
|
|
|
/*--------------------------- structure definitions -------------------------*/
|
/*--------------------------- structure definitions -------------------------*/
|
|
|
/*---------------------------------- protos --------------------------------*/
|
/*---------------------------------- protos --------------------------------*/
|
extern void fft_conv(float *data1, float *fdata2, int *size),
|
extern void fft_conv(float *data1, float *fdata2, int *size),
|
fft_end(),
|
fft_end(),
|
fft_init(int nthreads),
|
fft_init(int nthreads),
|
fft_reset(void);
|
fft_reset(void);
|
|
|
extern float *fft_rtf(float *data, int *size);
|
extern float *fft_rtf(float *data, int *size);
|
|
|