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 * XLALCreateCOMPLEX8FFTPlan(UINT4 size, int fwdflg, int measurelvl)
Returns a new COMPLEX8FFTPlan A COMPLEX8FFTPlan is required to perform a FFT that involves complex da...
COMPLEX8FFTPlan * XLALCreateReverseCOMPLEX8FFTPlan(UINT4 size, int measurelvl)
Returns a new COMPLEX8FFTPlan for a reverse transform.
int XLALCOMPLEX8VectorFFT(COMPLEX8Vector *_LAL_RESTRICT_ output, const COMPLEX8Vector *_LAL_RESTRICT_ input, const COMPLEX8FFTPlan *plan)
Perform a COMPLEX8Vector to COMPLEX8Vector FFT.
void XLALDestroyCOMPLEX16FFTPlan(COMPLEX16FFTPlan *plan)
Destroys a COMPLEX16FFTPlan.
COMPLEX8FFTPlan * XLALCreateForwardCOMPLEX8FFTPlan(UINT4 size, int measurelvl)
Returns a new COMPLEX8FFTPlan for a forward transform.
COMPLEX16FFTPlan * XLALCreateForwardCOMPLEX16FFTPlan(UINT4 size, int measurelvl)
Returns a new COMPLEX16FFTPlan for a forward transform.
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.
COMPLEX16FFTPlan * XLALCreateCOMPLEX16FFTPlan(UINT4 size, int fwdflg, int measurelvl)
Returns a new COMPLEX16FFTPlan.
COMPLEX16FFTPlan * XLALCreateReverseCOMPLEX16FFTPlan(UINT4 size, int measurelvl)
Returns a new COMPLEX16FFTPlan for a reverse transform.
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)