23#include <lal/LALDatatypes.h>
25#if defined(__cplusplus)
51#define COMPLEXFFTH_ENULL 1
52#define COMPLEXFFTH_ENNUL 2
53#define COMPLEXFFTH_ESIZE 4
54#define COMPLEXFFTH_ESZMM 8
55#define COMPLEXFFTH_ESLEN 16
56#define COMPLEXFFTH_ESAME 32
57#define COMPLEXFFTH_EALOC 64
58#define COMPLEXFFTH_EFFTW 128
59#define COMPLEXFFTH_ESNGL 256
60#define COMPLEXFFTH_EINTL 512
61#define COMPLEXFFTH_ESIGN 1024
65#define COMPLEXFFTH_MSGENULL "Null pointer"
66#define COMPLEXFFTH_MSGENNUL "Non-null pointer"
67#define COMPLEXFFTH_MSGESIZE "Invalid input size"
68#define COMPLEXFFTH_MSGESZMM "Size mismatch"
69#define COMPLEXFFTH_MSGESLEN "Invalid/mismatched sequence lengths"
70#define COMPLEXFFTH_MSGESAME "Input/Output data vectors are the same"
71#define COMPLEXFFTH_MSGEALOC "Memory allocation failed"
72#define COMPLEXFFTH_MSGEFFTW "Error in FFTW"
73#define COMPLEXFFTH_MSGESNGL "FFTW library is not single-precision"
74#define COMPLEXFFTH_MSGEINTL "Error in Intel FFT library"
75#define COMPLEXFFTH_MSGESIGN "Unknown sign of transform in plan"
82#define tagComplexFFTPlan tagCOMPLEX8FFTPlan
83#define ComplexFFTPlan COMPLEX8FFTPlan
363#elif defined(__cplusplus)
COMPLEX8FFTPlan * XLALCreateReverseCOMPLEX8FFTPlan(UINT4 size, int measurelvl)
Returns a new COMPLEX8FFTPlan for a reverse transform.
COMPLEX8FFTPlan * XLALCreateForwardCOMPLEX8FFTPlan(UINT4 size, int measurelvl)
Returns a new COMPLEX8FFTPlan for a forward transform.
COMPLEX16FFTPlan * XLALCreateReverseCOMPLEX16FFTPlan(UINT4 size, int measurelvl)
Returns a new COMPLEX16FFTPlan for a reverse transform.
COMPLEX16FFTPlan * XLALCreateForwardCOMPLEX16FFTPlan(UINT4 size, int measurelvl)
Returns a new COMPLEX16FFTPlan for a forward transform.
COMPLEX8FFTPlan * XLALCreateCOMPLEX8FFTPlan(UINT4 size, int fwdflg, int measurelvl)
Returns a new COMPLEX8FFTPlan A COMPLEX8FFTPlan is required to perform a FFT that involves complex da...
int XLALCOMPLEX8VectorFFT(COMPLEX8Vector *_LAL_RESTRICT_ output, const COMPLEX8Vector *_LAL_RESTRICT_ input, const COMPLEX8FFTPlan *plan)
Perform a COMPLEX8Vector to COMPLEX8Vector FFT.
COMPLEX16FFTPlan * XLALCreateCOMPLEX16FFTPlan(UINT4 size, int fwdflg, int measurelvl)
Returns a new COMPLEX16FFTPlan.
void XLALDestroyCOMPLEX16FFTPlan(COMPLEX16FFTPlan *plan)
Destroys a COMPLEX16FFTPlan.
int XLALCOMPLEX16VectorFFT(COMPLEX16Vector *_LAL_RESTRICT_ output, const COMPLEX16Vector *_LAL_RESTRICT_ input, const COMPLEX16FFTPlan *plan)
Perform a COMPLEX16Vector to COMPLEX16Vector FFT.
void XLALDestroyCOMPLEX8FFTPlan(COMPLEX8FFTPlan *plan)
Destroys a COMPLEX8FFTPlan.
uint32_t UINT4
Four-byte unsigned integer.
Vector of type COMPLEX16, see DATATYPE-Vector types for more details.
Vector of type COMPLEX8, see DATATYPE-Vector types for more details.
Plan to perform an FFT of COMPLEX16 data.
fftw_plan plan
the FFTW plan
UINT4 size
length of the complex data vector for this plan
Plan to perform an FFT of COMPLEX8 data.
void output(int gps_sec, int output_type)