| BandPassTimeSeries.h | | BandPassTimeSeries.h | |
| /*************************** <lalVerbatim file="BandPassTimeSeriesHV"> | | /*************************** <lalVerbatim file="BandPassTimeSeriesHV"> | |
| Author: Creighton, T. D. | | Author: Creighton, T. D. | |
|
| $Id: BandPassTimeSeries.h,v 1.4 2000/07/23 01:15:14 jolien Exp $ | | $Id: BandPassTimeSeries.h,v 1.8 2001/08/21 04:19:53 jolien Exp $ | |
| **************************** </lalVerbatim> */ | | **************************************************** </lalVerbatim> */ | |
| | | | |
|
| /* <lalLaTeX> | | /********************************************************** <lalLaTeX> | |
| | | | |
| \section{Header \texttt{BandPassTimeSeries.h}} | | \section{Header \texttt{BandPassTimeSeries.h}} | |
| \label{s:BandPassTimeSeries.h} | | \label{s:BandPassTimeSeries.h} | |
| | | | |
| Provides routines to low- or high-pass filter a time series. | | Provides routines to low- or high-pass filter a time series. | |
| | | | |
| \subsection*{Synopsis} | | \subsection*{Synopsis} | |
| \begin{verbatim} | | \begin{verbatim} | |
|
| #include "BandPassTimeSeries.h" | | #include <lal/BandPassTimeSeries.h> | |
| \end{verbatim} | | \end{verbatim} | |
| | | | |
| \noindent This header covers routines that apply a time-domain low- or | | \noindent This header covers routines that apply a time-domain low- or | |
| high-pass filter to a data series of type \verb@<datatype>TimeSeries@. | | high-pass filter to a data series of type \verb@<datatype>TimeSeries@. | |
| Further documentation is given in the individual routines' modules. | | Further documentation is given in the individual routines' modules. | |
| | | | |
|
| </lalLaTeX> */ | | ******************************************************* </lalLaTeX> */ | |
| | | | |
| #ifndef _BANDPASSTIMESERIES_H | | #ifndef _BANDPASSTIMESERIES_H | |
| #define _BANDPASSTIMESERIES_H | | #define _BANDPASSTIMESERIES_H | |
| | | | |
|
| #include "LALStdlib.h" | | #include <lal/LALStdlib.h> | |
| #include "IIRFilter.h" | | #include <lal/IIRFilter.h> | |
| #include "ZPGFilter.h" | | #include <lal/ZPGFilter.h> | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| extern "C" { | | extern "C" { | |
|
| | | #pragma } | |
| #endif | | #endif | |
| | | | |
|
| NRCSID(BANDPASSTIMESERIESH,"$Id: BandPassTimeSeries.h,v 1.4 2000/07/23 01:1 | | NRCSID(BANDPASSTIMESERIESH,"$Id: BandPassTimeSeries.h,v 1.8 2001/08/21 04:1 | |
| 5:14 jolien Exp $"); | | 9:53 jolien Exp $"); | |
| | | | |
| /* <lalLaTeX> | | | |
| | | | |
|
| | | /********************************************************** <lalLaTeX> | |
| \subsection*{Error conditions} | | \subsection*{Error conditions} | |
|
| \begin{tabular}{|c|l|l|} | | ****************************************** </lalLaTeX><lalErrTable> */ | |
| \hline | | #define BANDPASSTIMESERIESH_ENUL 1 | |
| status & status & Explanation | | #define BANDPASSTIMESERIESH_EBAD 2 | |
| \\ | | | |
| code & description & | | #define BANDPASSTIMESERIESH_MSGENUL "Unexpected null pointer in arguments" | |
| \\ | | #define BANDPASSTIMESERIESH_MSGEBAD "Bad filter parameters" | |
| \hline | | /******************************************** </lalErrTable><lalLaTeX> | |
| \tt 1 & \tt Null pointer & Missing a required pointer. | | | |
| \\ | | \subsection*{Types} | |
| \tt 2 & \tt Bad filter parameters & Filter creation parameters outside of | | | |
| \\ | | \subsubsection*{Structure \texttt{PassBandParamStruc}} | |
| & & acceptable ranges. | | \idx[Type]{PassBandParamStruc} | |
| \\ | | | |
| \hline | | This structure stores data used for constructing a low- or high-pass | |
| \end{tabular} | | filter: either the order and characteristic frequency of the filter, | |
| | | or the frequencies and desired attenuations at the ends of some | |
| </lalLaTeX> */ | | transition band. In the latter case, a nonzero filter order parameter | |
| | | \verb@n@ indicates a maximum allowed order. The fields are: | |
| #define BANDPASSTIMESERIES_ENUL 1 | | | |
| #define BANDPASSTIMESERIES_EBAD 2 | | | |
| | | | |
| #define BANDPASSTIMESERIES_MSGENUL "Null pointer" | | | |
| #define BANDPASSTIMESERIES_MSGEBAD "Bad filter parameters" | | | |
| | | | |
| /* <lalLaTeX> | | | |
| | | | |
| \subsection*{Structures} | | | |
| | | | |
| \begin{verbatim} | | | |
| struct PassBandParamStruc | | | |
| \end{verbatim} | | | |
| \index{\verb&PassBandParamStruc&} | | | |
| | | | |
| \noindent This structure stores data used for constructing a low- or | | | |
| high-pass filter: either the order and characteristic frequency of the | | | |
| filter, or the frequencies and desired attenuations at the ends of | | | |
| some transition band. In the latter case, a nonzero filter order | | | |
| parameter n indicates a maximum allowed order. The fields are: | | | |
| | | | |
| \begin{description} | | \begin{description} | |
| \item[\texttt{CHAR *name}] A user-assigned name. | | \item[\texttt{CHAR *name}] A user-assigned name. | |
| | | | |
| \item[\texttt{INT4 n}] The maximum desired filter order (actual order | | \item[\texttt{INT4 n}] The maximum desired filter order (actual order | |
| may be less if specified attenuations do not require a high order). | | may be less if specified attenuations do not require a high order). | |
| | | | |
| \item[\texttt{REAL8 f1}, \texttt{f2}] The reference frequencies of the | | \item[\texttt{REAL8 f1}, \texttt{f2}] The reference frequencies of the | |
| transition band. | | transition band. | |
| | | | |
| \item[\texttt{REAL8 a1}, \texttt{a2}] The minimal desired attenuation | | \item[\texttt{REAL8 a1}, \texttt{a2}] The minimal desired attenuation | |
| factors at the reference frequencies. | | factors at the reference frequencies. | |
| \end{description} | | \end{description} | |
| | | | |
|
| </lalLaTeX> */ | | ******************************************************* </lalLaTeX> */ | |
| | | | |
| typedef struct tagPassBandParamStruc{ | | typedef struct tagPassBandParamStruc{ | |
| CHAR *name; | | CHAR *name; | |
| INT4 nMax; | | INT4 nMax; | |
| REAL8 f1; | | REAL8 f1; | |
| REAL8 f2; | | REAL8 f2; | |
| REAL8 a1; | | REAL8 a1; | |
| REAL8 a2; | | REAL8 a2; | |
| } PassBandParamStruc; | | } PassBandParamStruc; | |
| | | | |
| /* <lalLaTeX> | | /* <lalLaTeX> | |
| \vfill{\footnotesize\input{BandPassTimeSeriesHV}} | | \vfill{\footnotesize\input{BandPassTimeSeriesHV}} | |
| </lalLaTeX> */ | | </lalLaTeX> */ | |
| | | | |
| /* Function prototypes. */ | | /* Function prototypes. */ | |
| | | | |
| /* <lalLaTeX> | | /* <lalLaTeX> | |
| \newpage\input{ButterworthTimeSeriesC} | | \newpage\input{ButterworthTimeSeriesC} | |
| </lalLaTeX> */ | | </lalLaTeX> */ | |
|
| void LALButterworthREAL4TimeSeries(LALStatus *stat, | | void | |
| REAL4TimeSeries *series, | | LALButterworthREAL4TimeSeries( LALStatus *stat, | |
| PassBandParamStruc *params); | | REAL4TimeSeries *series, | |
| | | PassBandParamStruc *params ); | |
| void LALButterworthREAL8TimeSeries(LALStatus *stat, | | | |
| REAL8TimeSeries *series, | | void | |
| PassBandParamStruc *params); | | LALButterworthREAL8TimeSeries( LALStatus *stat, | |
| | | REAL8TimeSeries *series, | |
| | | PassBandParamStruc *params ); | |
| | | | |
| /* Chebyshev filters should also be added, but I'm too busy to write | | /* Chebyshev filters should also be added, but I'm too busy to write | |
| the routines now. */ | | the routines now. */ | |
| | | | |
| /* Test program. */ | | /* Test program. */ | |
| | | | |
| /* <lalLaTeX> | | /* <lalLaTeX> | |
| \newpage\input{BandPassTestC} | | \newpage\input{BandPassTestC} | |
| </lalLaTeX> */ | | </lalLaTeX> */ | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
|
| | | #pragma { | |
| } | | } | |
| #endif | | #endif | |
| | | | |
| #endif /* _BANDPASSTIMESERIES_H */ | | #endif /* _BANDPASSTIMESERIES_H */ | |
| | | | |
End of changes. 12 change blocks. |
| 58 lines changed or deleted | | 41 lines changed or added | |
|
| Comm.h | | Comm.h | |
|
| /*----------------------------------------------------------------------- | | /* | |
| | | * <lalVerbatim file="CommHV"> | |
| | | * $Id: Comm.h,v 1.10 2001/12/05 21:11:36 jolien Exp $ | |
| | | * </lalVerbatim> | |
| | | */ | |
| | | | |
| | | /* | |
| | | * <lalLaTeX> | |
| * | | * | |
|
| * File Name: Comm.h | | * \section{Header \texttt{Comm.h}} | |
| * | | * | |
|
| * Author: Allen, B. and Creighton, J. D. E. | | * Provides routines for MPI communication. | |
| * | | * | |
|
| * Revision: $Id: Comm.h,v 1.3 2000/07/23 01:12:39 jolien Exp $ | | * \subsection*{Synopsis} | |
| | | * \begin{verbatim} | |
| | | * #include <lal/Comm.h> | |
| | | * \end{verbatim} | |
| * | | * | |
|
| *----------------------------------------------------------------------- | | * \noindent This header covers the routines for doing MPI communication. | |
| | | * | |
| | | * </lalLaTeX> | |
| */ | | */ | |
| | | | |
| #ifndef _COMM_H | | #ifndef _COMM_H | |
| #define _COMM_H | | #define _COMM_H | |
| | | | |
|
| #include "LALDatatypes.h" | | #include <lal/LALConfig.h> | |
| #include "AVFactories.h" | | #ifdef LAL_MPI_ENABLED | |
| #include "mpi.h" | | | |
| | | #include <mpi.h> | |
| | | #include <lal/LALDatatypes.h> | |
| | | #include <lal/AVFactories.h> | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| extern "C" { | | extern "C" { | |
| #endif | | #endif | |
| | | | |
|
| NRCSID (COMMH, "$Id: Comm.h,v 1.3 2000/07/23 01:12:39 jolien Exp $"); | | NRCSID (COMMH, "$Id: Comm.h,v 1.10 2001/12/05 21:11:36 jolien Exp $"); | |
| | | | |
|
| #define COMM_ENULL 1 | | /* | |
| #define COMM_ESIZE 2 | | * <lalLaTeX> | |
| #define COMM_ESTRL 4 | | * \subsection*{Error conditions} | |
| #define COMM_EMPIE 8 | | * \input{CommHErrTab} | |
| #define COMM_ESENV 16 | | * </lalLaTeX> | |
| #define COMM_ESYSC 32 | | * | |
| | | * <lalErrTable file="CommHErrTab"> | |
| #define COMM_MSGENULL "Null pointer" | | */ | |
| #define COMM_MSGESIZE "Invalid size" | | #define COMMH_ENULL 1 | |
| #define COMM_MSGESTRL "String too long" | | #define COMMH_ENNUL 2 | |
| #define COMM_MSGEMPIE "MPI error" | | #define COMMH_ESIZE 4 | |
| #define COMM_MSGESENV "Couldn't set environment variable" | | #define COMMH_ESZMM 8 | |
| #define COMM_MSGESYSC "Error executing system command" | | #define COMMH_EMPIE 16 | |
| | | #define COMMH_EHAND 32 | |
| /* Structure for identifying processors */ | | #define COMMH_ENOBJ 64 | |
| typedef struct | | | |
| tagMPIId | | #define COMMH_MSGENULL "Null pointer" | |
| { | | #define COMMH_MSGENNUL "Non-Null pointer" | |
| INT4 numProcs; | | #define COMMH_MSGESIZE "Invalid size" | |
| INT4 myId; | | #define COMMH_MSGESZMM "Exchange size mismatch" | |
| INT4 nameLen; | | #define COMMH_MSGEMPIE "MPI error" | |
| CHAR procName[MPI_MAX_PROCESSOR_NAME]; | | #define COMMH_MSGEHAND "Wrong handshake" | |
| } | | #define COMMH_MSGENOBJ "Invalid number of objects" | |
| MPIId; | | /* | |
| | | * </lalErrTable> | |
| | | */ | |
| | | | |
|
| typedef struct | | /* | |
| tagMPIDebugParams | | * <lalLaTeX> | |
| { | | * \subsection*{Types} | |
| CHAR *debugger; | | * </lalLaTeX> | |
| CHAR *progName; | | */ | |
| INT4 delay; | | | |
| INT4 myId; | | | |
| } | | | |
| MPIDebugParams; | | | |
| | | | |
| typedef enum | | typedef enum | |
| { | | { | |
| MPIDone, | | MPIDone, | |
| MPIMisc, | | MPIMisc, | |
| MPIErr, | | MPIErr, | |
| MPIMsg, | | MPIMsg, | |
|
| | | MPICHAR, | |
| | | MPII2, | |
| | | MPII4, | |
| | | MPII8, | |
| | | MPIU2, | |
| | | MPIU4, | |
| | | MPIU8, | |
| | | MPIS, | |
| | | MPID, | |
| | | MPIC, | |
| | | MPIZ, | |
| MPICHARVector, | | MPICHARVector, | |
| MPICHARVectorData, | | MPICHARVectorData, | |
| MPII2Vector, | | MPII2Vector, | |
| MPII2VectorData, | | MPII2VectorData, | |
| MPII4Vector, | | MPII4Vector, | |
| MPII4VectorData, | | MPII4VectorData, | |
| MPII8Vector, | | MPII8Vector, | |
| MPII8VectorData, | | MPII8VectorData, | |
|
| | | MPIU2Vector, | |
| | | MPIU2VectorData, | |
| | | MPIU4Vector, | |
| | | MPIU4VectorData, | |
| | | MPIU8Vector, | |
| | | MPIU8VectorData, | |
| MPISVector, | | MPISVector, | |
| MPISVectorData, | | MPISVectorData, | |
| MPIDVector, | | MPIDVector, | |
| MPIDVectorData, | | MPIDVectorData, | |
| MPICVector, | | MPICVector, | |
| MPICVectorData, | | MPICVectorData, | |
| MPIZVector, | | MPIZVector, | |
| MPIZVectorData, | | MPIZVectorData, | |
| MPII2TimeSeries, | | MPII2TimeSeries, | |
| MPII4TimeSeries, | | MPII4TimeSeries, | |
| MPII8TimeSeries, | | MPII8TimeSeries, | |
|
| | | MPIU2TimeSeries, | |
| | | MPIU4TimeSeries, | |
| | | MPIU8TimeSeries, | |
| MPISTimeSeries, | | MPISTimeSeries, | |
| MPIDTimeSeries, | | MPIDTimeSeries, | |
| MPICTimeSeries, | | MPICTimeSeries, | |
| MPIZTimeSeries, | | MPIZTimeSeries, | |
| MPII2FrequencySeries, | | MPII2FrequencySeries, | |
| MPII4FrequencySeries, | | MPII4FrequencySeries, | |
| MPII8FrequencySeries, | | MPII8FrequencySeries, | |
|
| | | MPIU2FrequencySeries, | |
| | | MPIU4FrequencySeries, | |
| | | MPIU8FrequencySeries, | |
| MPISFrequencySeries, | | MPISFrequencySeries, | |
| MPIDFrequencySeries, | | MPIDFrequencySeries, | |
| MPICFrequencySeries, | | MPICFrequencySeries, | |
| MPIZFrequencySeries | | MPIZFrequencySeries | |
| } | | } | |
| MPIMsgCode; | | MPIMsgCode; | |
| | | | |
| typedef struct | | typedef struct | |
| tagMPIMessage | | tagMPIMessage | |
| { | | { | |
| INT4 msg; | | INT4 msg; | |
| INT4 send; | | INT4 send; | |
| INT4 source; | | INT4 source; | |
| } | | } | |
| MPIMessage; | | MPIMessage; | |
| | | | |
|
| | | /* | |
| | | * <lalLaTeX> | |
| | | * | |
| | | * \subsubsection*{Structure \texttt{MPIMessage}} | |
| | | * \idx[Type]{MPIMessage} | |
| | | * | |
| | | * This structure is sent to a remote process, via \verb+LALMPISendMsg()+, | |
| | | * to alert that process that there is a message. Note that | |
| | | * \verb+LALMPIRecvMsg()+ is the only \verb+Recv+-type function that does n | |
| | | ot | |
| | | * require the source to be identified; the receiver can then identify the | |
| | | * source from the message received. | |
| | | * | |
| | | * Essentially, \verb+LALMPISendMsg()+ and \verb+LALMPIRecvMsg()+ form a | |
| | | * handshake for a subsequent transmission, and \verb+MPIMessage+ specifies | |
| | | * the protocol. The local process uses \verb+LALMPISendMsg()+ to communic | |
| | | ate | |
| | | * with a remote process, which is waiting to hear from \emph{any} process | |
| | | * using \verb+LALMPIRecvMsg()+. The message the local process sends speci | |
| | | fies | |
| | | * \begin{enumerate} | |
| | | * \item An integer code telling the remote process what operation it sho | |
| | | uld | |
| | | * take (e.g., get ready to exchange some data, tell the remote process | |
| | | * to terminate, etc.). | |
| | | * \item A boolean integer that is zero if the remote process is expected | |
| | | * to send something to the local process, or non-zero if the local pro | |
| | | cess | |
| | | * will send something to the remote process. | |
| | | * \item An integer representing the MPI process number of the local proc | |
| | | ess. | |
| | | * \end{enumerate} | |
| | | * | |
| | | * The fields are: | |
| | | * \begin{description} | |
| | | * \item[\texttt{INT4 msg}] An integer code specifying to the receiver what | |
| | | * type of operation is to be taken. | |
| | | * \item[\texttt{INT4 send}] A boolean that is non-zero if the originator | |
| | | * of the message will be sending something to the recipiant of the messa | |
| | | ge | |
| | | * in a subsequent communication, or zero if the recipiant of the message | |
| | | * is expected to send something to the originator of the message. | |
| | | * \item[\texttt{INT4 source}] The MPI process number of the originator of | |
| | | the | |
| | | * message. | |
| | | * \end{description} | |
| | | * | |
| | | * </lalLaTeX> | |
| | | */ | |
| | | | |
| | | typedef struct | |
| | | tagExchParams | |
| | | { | |
| | | INT4 send; | |
| | | INT4 numObjects; | |
| | | INT4 partnerProcNum; | |
| | | INT4 myProcNum; | |
| | | INT4 exchObjectType; | |
| | | MPI_Comm mpiComm; | |
| | | } | |
| | | ExchParams; | |
| | | | |
| | | typedef struct | |
| | | tagInitExchParams | |
| | | { | |
| | | INT4 myProcNum; | |
| | | MPI_Comm mpiComm; | |
| | | } | |
| | | InitExchParams; | |
| | | | |
| | | /* | |
| | | * <lalLaTeX> | |
| | | * | |
| | | * \subsubsection*{Structures \texttt{ExchParams} and \texttt{InitExchParam | |
| | | s}} | |
| | | * \idx[Type]{ExchParams} | |
| | | * \idx[Type]{InitExchParams} | |
| | | * | |
| | | * These structures are used in the \verb+Exch+-type routines. The structu | |
| | | re | |
| | | * \verb+InitExchParams+ are the parameters used in initializing an exchang | |
| | | e | |
| | | * protocol using \verb+LALInitializeExchange+. The fields are: | |
| | | * \begin{description} | |
| | | * \item[\texttt{INT4 myProcNum}] The MPI process number of the local pro | |
| | | cess. | |
| | | * \item[\texttt{MPI\_Comm mpiComm}] The MPI communicator. | |
| | | * \end{description} | |
| | | * | |
| | | * The structure \verb+ExchParams+ is created by \verb+LALInitializeExchang | |
| | | e()+, | |
| | | * destroyed by \verb+LALFinalizeExchange()+, and serves as the parameter f | |
| | | or | |
| | | * the various \verb+LALExchange+$\langle\textit{type}\rangle$ functions. | |
| | | It | |
| | | * is also required as the input to \verb+LALInitializeExchange()+ for the | |
| | | * originator of the exchange request. The fields are: | |
| | | * \begin{description} | |
| | | * \item[\texttt{INT4 send}] A code that indicates whether this process i | |
| | | s | |
| | | * sending (non-zero) or recieving (zero). The process that initialize | |
| | | s | |
| | | * the exchange chooses whether it will send in the subsequent exchange | |
| | | s | |
| | | * (non-zero value for the \verb+send+ field of the input | |
| | | * \verb+ExchParams+), or receive (zero value). | |
| | | * \item[\texttt{INT4 numObjects}] The (maximum) number of objects to be | |
| | | * exchanged. (The partners in the exchange may have some mechanism to | |
| | | * decide to terminate the exchange early, e.g., by exchanging a negati | |
| | | ve | |
| | | * integer.) | |
| | | * \item[\texttt{INT4 partnerProcNum}] The MPI process number of the part | |
| | | ner | |
| | | * in the exchange. | |
| | | * \item[\texttt{INT4 myProcNum}] The MPI process number of the local pro | |
| | | cess. | |
| | | * \item[\texttt{INT4 exchObjectType}] An integer code representing the t | |
| | | ype | |
| | | * of object that will be excanged. | |
| | | * \item[\texttt{MPI\_Comm mpiComm}] The MPI communicator. | |
| | | * \end{description} | |
| | | * | |
| | | * </lalLaTeX> | |
| | | */ | |
| | | | |
| | | /* | |
| | | * <lalLaTeX> | |
| | | * \vfill{\footnotesize\input{CommHV}} | |
| | | * \newpage\input{SendRecvC} | |
| | | * \newpage\input{ExchangeC} | |
| | | * \newpage\input{SendRecvTestC} | |
| | | * \newpage\input{ExchangeTestC} | |
| | | * </lalLaTeX> | |
| | | */ | |
| | | | |
| | | void | |
| | | LALMPISendMsg( | |
| | | LALStatus *status, | |
| | | MPIMessage *msg, | |
| | | INT4 dest, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| void | | void | |
|
| LALMPIExportEnvironment ( | | LALMPIRecvMsg( | |
| LALStatus *status, | | LALStatus *status, | |
| const CHAR *env, | | MPIMessage *msg, | |
| INT4 myId | | MPI_Comm mpiComm | |
| ); | | ); | |
| | | | |
| void | | void | |
|
| LALMPIDebug ( | | LALMPISendCHAR( | |
| LALStatus *status, | | LALStatus *status, | |
| MPIDebugParams *params | | CHAR *element, | |
| | | INT4 dest, | |
| | | MPI_Comm mpiComm | |
| ); | | ); | |
| | | | |
| void | | void | |
|
| LALMPIKillScript ( | | LALMPIRecvCHAR( | |
| LALStatus *status, | | LALStatus *status, | |
|
| MPIId *id | | CHAR *element, | |
| | | INT4 dest, | |
| | | MPI_Comm mpiComm | |
| ); | | ); | |
| | | | |
| void | | void | |
|
| LALMPISendMsg ( | | LALMPISendINT2( | |
| LALStatus *status, | | LALStatus *status, | |
| MPIMessage *msg, | | INT2 *element, | |
| INT4 dest | | INT4 dest, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPIRecvINT2( | |
| | | LALStatus *status, | |
| | | INT2 *element, | |
| | | INT4 source, | |
| | | MPI_Comm mpiComm | |
| ); | | ); | |
| | | | |
| void | | void | |
|
| LALMPIRecvMsg ( | | LALMPISendINT4( | |
| LALStatus *status, | | LALStatus *status, | |
| MPIMessage *msg | | INT4 *element, | |
| | | INT4 dest, | |
| | | MPI_Comm mpiComm | |
| ); | | ); | |
| | | | |
| void | | void | |
|
| LALMPISendCHARVector ( | | LALMPIRecvINT4( | |
| LALStatus *status, | | LALStatus *status, | |
| | | INT4 *element, | |
| | | INT4 source, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPISendINT8( | |
| | | LALStatus *status, | |
| | | INT8 *element, | |
| | | INT4 dest, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPIRecvINT8( | |
| | | LALStatus *status, | |
| | | INT8 *element, | |
| | | INT4 source, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPISendUINT2( | |
| | | LALStatus *status, | |
| | | UINT2 *element, | |
| | | INT4 dest, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPIRecvUINT2( | |
| | | LALStatus *status, | |
| | | UINT2 *element, | |
| | | INT4 source, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPISendUINT4( | |
| | | LALStatus *status, | |
| | | UINT4 *element, | |
| | | INT4 dest, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPIRecvUINT4( | |
| | | LALStatus *status, | |
| | | UINT4 *element, | |
| | | INT4 source, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPISendUINT8( | |
| | | LALStatus *status, | |
| | | UINT8 *element, | |
| | | INT4 dest, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPIRecvUINT8( | |
| | | LALStatus *status, | |
| | | UINT8 *element, | |
| | | INT4 source, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPISendREAL4( | |
| | | LALStatus *status, | |
| | | REAL4 *element, | |
| | | INT4 dest, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPIRecvREAL4( | |
| | | LALStatus *status, | |
| | | REAL4 *element, | |
| | | INT4 source, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPISendREAL8( | |
| | | LALStatus *status, | |
| | | REAL8 *element, | |
| | | INT4 dest, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPIRecvREAL8( | |
| | | LALStatus *status, | |
| | | REAL8 *element, | |
| | | INT4 source, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPISendCOMPLEX8( | |
| | | LALStatus *status, | |
| | | COMPLEX8 *element, | |
| | | INT4 dest, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPIRecvCOMPLEX8( | |
| | | LALStatus *status, | |
| | | COMPLEX8 *element, | |
| | | INT4 source, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPISendCOMPLEX16( | |
| | | LALStatus *status, | |
| | | COMPLEX16 *element, | |
| | | INT4 dest, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPIRecvCOMPLEX16( | |
| | | LALStatus *status, | |
| | | COMPLEX16 *element, | |
| | | INT4 source, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPISendCHARVector( | |
| | | LALStatus *status, | |
| CHARVector *vector, | | CHARVector *vector, | |
|
| INT4 dest | | INT4 dest, | |
| | | MPI_Comm mpiComm | |
| ); | | ); | |
| | | | |
| void | | void | |
|
| LALMPIRecvCHARVector ( | | LALMPIRecvCHARVector( | |
| LALStatus *status, | | LALStatus *status, | |
| CHARVector *vector, | | CHARVector *vector, | |
|
| INT4 source | | INT4 source, | |
| | | MPI_Comm mpiComm | |
| ); | | ); | |
| | | | |
| void | | void | |
|
| LALMPISendINT2Vector ( | | LALMPISendINT2Vector( | |
| LALStatus *status, | | LALStatus *status, | |
| INT2Vector *vector, | | INT2Vector *vector, | |
|
| INT4 dest | | INT4 dest, | |
| | | MPI_Comm mpiComm | |
| ); | | ); | |
| | | | |
| void | | void | |
|
| LALMPIRecvINT2Vector ( | | LALMPIRecvINT2Vector( | |
| LALStatus *status, | | LALStatus *status, | |
| INT2Vector *vector, | | INT2Vector *vector, | |
|
| INT4 source | | INT4 source, | |
| | | MPI_Comm mpiComm | |
| ); | | ); | |
| | | | |
| void | | void | |
|
| LALMPISendREAL4Vector ( | | LALMPISendINT4Vector( | |
| LALStatus *status, | | LALStatus *status, | |
| | | INT4Vector *vector, | |
| | | INT4 dest, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPIRecvINT4Vector( | |
| | | LALStatus *status, | |
| | | INT4Vector *vector, | |
| | | INT4 source, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPISendINT8Vector( | |
| | | LALStatus *status, | |
| | | INT8Vector *vector, | |
| | | INT4 dest, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPIRecvINT8Vector( | |
| | | LALStatus *status, | |
| | | INT8Vector *vector, | |
| | | INT4 source, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPISendUINT2Vector( | |
| | | LALStatus *status, | |
| | | UINT2Vector *vector, | |
| | | INT4 dest, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPIRecvUINT2Vector( | |
| | | LALStatus *status, | |
| | | UINT2Vector *vector, | |
| | | INT4 source, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPISendUINT4Vector( | |
| | | LALStatus *status, | |
| | | UINT4Vector *vector, | |
| | | INT4 dest, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPIRecvUINT4Vector( | |
| | | LALStatus *status, | |
| | | UINT4Vector *vector, | |
| | | INT4 source, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPISendUINT8Vector( | |
| | | LALStatus *status, | |
| | | UINT8Vector *vector, | |
| | | INT4 dest, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPIRecvUINT8Vector( | |
| | | LALStatus *status, | |
| | | UINT8Vector *vector, | |
| | | INT4 source, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPISendREAL4Vector( | |
| | | LALStatus *status, | |
| REAL4Vector *vector, | | REAL4Vector *vector, | |
|
| INT4 dest | | INT4 dest, | |
| | | MPI_Comm mpiComm | |
| ); | | ); | |
| | | | |
| void | | void | |
|
| LALMPIRecvREAL4Vector ( | | LALMPIRecvREAL4Vector( | |
| LALStatus *status, | | LALStatus *status, | |
| REAL4Vector *vector, | | REAL4Vector *vector, | |
|
| INT4 source | | INT4 source, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPISendREAL8Vector( | |
| | | LALStatus *status, | |
| | | REAL8Vector *vector, | |
| | | INT4 dest, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPIRecvREAL8Vector( | |
| | | LALStatus *status, | |
| | | REAL8Vector *vector, | |
| | | INT4 source, | |
| | | MPI_Comm mpiComm | |
| ); | | ); | |
| | | | |
| void | | void | |
|
| LALMPISendCOMPLEX8Vector ( | | LALMPISendCOMPLEX8Vector( | |
| LALStatus *status, | | LALStatus *status, | |
| COMPLEX8Vector *vector, | | COMPLEX8Vector *vector, | |
|
| INT4 dest | | INT4 dest, | |
| | | MPI_Comm mpiComm | |
| ); | | ); | |
| | | | |
| void | | void | |
|
| LALMPIRecvCOMPLEX8Vector ( | | LALMPIRecvCOMPLEX8Vector( | |
| LALStatus *status, | | LALStatus *status, | |
| COMPLEX8Vector *vector, | | COMPLEX8Vector *vector, | |
|
| INT4 source | | INT4 source, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPISendCOMPLEX16Vector( | |
| | | LALStatus *status, | |
| | | COMPLEX16Vector *vector, | |
| | | INT4 dest, | |
| | | MPI_Comm mpiComm | |
| ); | | ); | |
| | | | |
| void | | void | |
|
| LALMPISendINT2TimeSeries ( | | LALMPIRecvCOMPLEX16Vector( | |
| LALStatus *status, | | LALStatus *status, | |
| | | COMPLEX16Vector *vector, | |
| | | INT4 source, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPISendINT2TimeSeries( | |
| | | LALStatus *status, | |
| INT2TimeSeries *series, | | INT2TimeSeries *series, | |
|
| INT4 dest | | INT4 dest, | |
| | | MPI_Comm mpiComm | |
| ); | | ); | |
| | | | |
| void | | void | |
|
| LALMPIRecvINT2TimeSeries ( | | LALMPIRecvINT2TimeSeries( | |
| LALStatus *status, | | LALStatus *status, | |
| INT2TimeSeries *series, | | INT2TimeSeries *series, | |
|
| INT4 source | | INT4 source, | |
| | | MPI_Comm mpiComm | |
| ); | | ); | |
| | | | |
| void | | void | |
|
| LALMPISendREAL4TimeSeries ( | | LALMPISendINT4TimeSeries( | |
| LALStatus *status, | | LALStatus *status, | |
| | | INT4TimeSeries *series, | |
| | | INT4 dest, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPIRecvINT4TimeSeries( | |
| | | LALStatus *status, | |
| | | INT4TimeSeries *series, | |
| | | INT4 source, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPISendINT8TimeSeries( | |
| | | LALStatus *status, | |
| | | INT8TimeSeries *series, | |
| | | INT4 dest, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPIRecvINT8TimeSeries( | |
| | | LALStatus *status, | |
| | | INT8TimeSeries *series, | |
| | | INT4 source, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPISendUINT2TimeSeries( | |
| | | LALStatus *status, | |
| | | UINT2TimeSeries *series, | |
| | | INT4 dest, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPIRecvUINT2TimeSeries( | |
| | | LALStatus *status, | |
| | | UINT2TimeSeries *series, | |
| | | INT4 source, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPISendUINT4TimeSeries( | |
| | | LALStatus *status, | |
| | | UINT4TimeSeries *series, | |
| | | INT4 dest, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPIRecvUINT4TimeSeries( | |
| | | LALStatus *status, | |
| | | UINT4TimeSeries *series, | |
| | | INT4 source, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPISendUINT8TimeSeries( | |
| | | LALStatus *status, | |
| | | UINT8TimeSeries *series, | |
| | | INT4 dest, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPIRecvUINT8TimeSeries( | |
| | | LALStatus *status, | |
| | | UINT8TimeSeries *series, | |
| | | INT4 source, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPISendREAL4TimeSeries( | |
| | | LALStatus *status, | |
| REAL4TimeSeries *series, | | REAL4TimeSeries *series, | |
|
| INT4 dest | | INT4 dest, | |
| | | MPI_Comm mpiComm | |
| ); | | ); | |
| | | | |
| void | | void | |
|
| LALMPIRecvREAL4TimeSeries ( | | LALMPIRecvREAL4TimeSeries( | |
| LALStatus *status, | | LALStatus *status, | |
| REAL4TimeSeries *series, | | REAL4TimeSeries *series, | |
|
| INT4 source | | INT4 source, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPISendREAL8TimeSeries( | |
| | | LALStatus *status, | |
| | | REAL8TimeSeries *series, | |
| | | INT4 dest, | |
| | | MPI_Comm mpiComm | |
| ); | | ); | |
| | | | |
| void | | void | |
|
| LALMPISendCOMPLEX8TimeSeries ( | | LALMPIRecvREAL8TimeSeries( | |
| LALStatus *status, | | LALStatus *status, | |
| | | REAL8TimeSeries *series, | |
| | | INT4 source, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPISendCOMPLEX8TimeSeries( | |
| | | LALStatus *status, | |
| COMPLEX8TimeSeries *series, | | COMPLEX8TimeSeries *series, | |
|
| INT4 dest | | INT4 dest, | |
| | | MPI_Comm mpiComm | |
| ); | | ); | |
| | | | |
| void | | void | |
|
| LALMPIRecvCOMPLEX8TimeSeries ( | | LALMPIRecvCOMPLEX8TimeSeries( | |
| LALStatus *status, | | LALStatus *status, | |
| COMPLEX8TimeSeries *series, | | COMPLEX8TimeSeries *series, | |
|
| INT4 source | | INT4 source, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPISendCOMPLEX16TimeSeries( | |
| | | LALStatus *status, | |
| | | COMPLEX16TimeSeries *series, | |
| | | INT4 dest, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPIRecvCOMPLEX16TimeSeries( | |
| | | LALStatus *status, | |
| | | COMPLEX16TimeSeries *series, | |
| | | INT4 source, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPISendINT2FrequencySeries( | |
| | | LALStatus *status, | |
| | | INT2FrequencySeries *series, | |
| | | INT4 dest, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPIRecvINT2FrequencySeries( | |
| | | LALStatus *status, | |
| | | INT2FrequencySeries *series, | |
| | | INT4 source, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPISendINT4FrequencySeries( | |
| | | LALStatus *status, | |
| | | INT4FrequencySeries *series, | |
| | | INT4 dest, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPIRecvINT4FrequencySeries( | |
| | | LALStatus *status, | |
| | | INT4FrequencySeries *series, | |
| | | INT4 source, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPISendINT8FrequencySeries( | |
| | | LALStatus *status, | |
| | | INT8FrequencySeries *series, | |
| | | INT4 dest, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPIRecvINT8FrequencySeries( | |
| | | LALStatus *status, | |
| | | INT8FrequencySeries *series, | |
| | | INT4 source, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPISendUINT2FrequencySeries( | |
| | | LALStatus *status, | |
| | | UINT2FrequencySeries *series, | |
| | | INT4 dest, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPIRecvUINT2FrequencySeries( | |
| | | LALStatus *status, | |
| | | UINT2FrequencySeries *series, | |
| | | INT4 source, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPISendUINT4FrequencySeries( | |
| | | LALStatus *status, | |
| | | UINT4FrequencySeries *series, | |
| | | INT4 dest, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPIRecvUINT4FrequencySeries( | |
| | | LALStatus *status, | |
| | | UINT4FrequencySeries *series, | |
| | | INT4 source, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPISendUINT8FrequencySeries( | |
| | | LALStatus *status, | |
| | | UINT8FrequencySeries *series, | |
| | | INT4 dest, | |
| | | MPI_Comm mpiComm | |
| ); | | ); | |
| | | | |
| void | | void | |
|
| LALMPISendREAL4FrequencySeries ( | | LALMPIRecvUINT8FrequencySeries( | |
| LALStatus *status, | | LALStatus *status, | |
| | | UINT8FrequencySeries *series, | |
| | | INT4 source, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPISendREAL4FrequencySeries( | |
| | | LALStatus *status, | |
| REAL4FrequencySeries *series, | | REAL4FrequencySeries *series, | |
|
| INT4 dest | | INT4 dest, | |
| | | MPI_Comm mpiComm | |
| ); | | ); | |
| | | | |
| void | | void | |
|
| LALMPIRecvREAL4FrequencySeries ( | | LALMPIRecvREAL4FrequencySeries( | |
| LALStatus *status, | | LALStatus *status, | |
| REAL4FrequencySeries *series, | | REAL4FrequencySeries *series, | |
|
| INT4 source | | INT4 source, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPISendREAL8FrequencySeries( | |
| | | LALStatus *status, | |
| | | REAL8FrequencySeries *series, | |
| | | INT4 dest, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPIRecvREAL8FrequencySeries( | |
| | | LALStatus *status, | |
| | | REAL8FrequencySeries *series, | |
| | | INT4 source, | |
| | | MPI_Comm mpiComm | |
| ); | | ); | |
| | | | |
| void | | void | |
|
| LALMPISendCOMPLEX8FrequencySeries ( | | LALMPISendCOMPLEX8FrequencySeries( | |
| LALStatus *status, | | LALStatus *status, | |
| COMPLEX8FrequencySeries *series, | | COMPLEX8FrequencySeries *series, | |
|
| INT4 dest | | INT4 dest, | |
| | | MPI_Comm mpiComm | |
| ); | | ); | |
| | | | |
| void | | void | |
|
| LALMPIRecvCOMPLEX8FrequencySeries ( | | LALMPIRecvCOMPLEX8FrequencySeries( | |
| LALStatus *status, | | LALStatus *status, | |
| COMPLEX8FrequencySeries *series, | | COMPLEX8FrequencySeries *series, | |
|
| INT4 source | | INT4 source, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPISendCOMPLEX16FrequencySeries( | |
| | | LALStatus *status, | |
| | | COMPLEX16FrequencySeries *series, | |
| | | INT4 dest, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALMPIRecvCOMPLEX16FrequencySeries( | |
| | | LALStatus *status, | |
| | | COMPLEX16FrequencySeries *series, | |
| | | INT4 source, | |
| | | MPI_Comm mpiComm | |
| | | ); | |
| | | | |
| | | void | |
| | | LALInitializeExchange( | |
| | | LALStatus *status, | |
| | | ExchParams **exchParamsOut, | |
| | | ExchParams *exchParamsInp, | |
| | | InitExchParams *params | |
| | | ); | |
| | | | |
| | | void | |
| | | LALFinalizeExchange( | |
| | | LALStatus *status, | |
| | | ExchParams **exchParams | |
| | | ); | |
| | | | |
| | | void | |
| | | LALExchangeCHAR( | |
| | | LALStatus *status, | |
| | | CHAR *object, | |
| | | ExchParams *exchParms | |
| | | ); | |
| | | | |
| | | void | |
| | | LALExchangeINT2( | |
| | | LALStatus *status, | |
| | | INT2 *object, | |
| | | ExchParams *exchParms | |
| | | ); | |
| | | | |
| | | void | |
| | | LALExchangeINT4( | |
| | | LALStatus *status, | |
| | | INT4 *object, | |
| | | ExchParams *exchParms | |
| | | ); | |
| | | | |
| | | void | |
| | | LALExchangeINT8( | |
| | | LALStatus *status, | |
| | | INT8 *object, | |
| | | ExchParams *exchParms | |
| | | ); | |
| | | | |
| | | void | |
| | | LALExchangeUINT2( | |
| | | LALStatus *status, | |
| | | UINT2 *object, | |
| | | ExchParams *exchParms | |
| | | ); | |
| | | | |
| | | void | |
| | | LALExchangeUINT4( | |
| | | LALStatus *status, | |
| | | UINT4 *object, | |
| | | ExchParams *exchParms | |
| | | ); | |
| | | | |
| | | void | |
| | | LALExchangeUINT8( | |
| | | LALStatus *status, | |
| | | UINT8 *object, | |
| | | ExchParams *exchParms | |
| | | ); | |
| | | | |
| | | void | |
| | | LALExchangeREAL4( | |
| | | LALStatus *status, | |
| | | REAL4 *object, | |
| | | ExchParams *exchParms | |
| | | ); | |
| | | | |
| | | void | |
| | | LALExchangeREAL8( | |
| | | LALStatus *status, | |
| | | REAL8 *object, | |
| | | ExchParams *exchParms | |
| | | ); | |
| | | | |
| | | void | |
| | | LALExchangeCOMPLEX8( | |
| | | LALStatus *status, | |
| | | COMPLEX8 *object, | |
| | | ExchParams *exchParms | |
| | | ); | |
| | | | |
| | | void | |
| | | LALExchangeCOMPLEX16( | |
| | | LALStatus *status, | |
| | | COMPLEX16 *object, | |
| | | ExchParams *exchParms | |
| | | ); | |
| | | | |
| | | void | |
| | | LALExchangeCHARVector( | |
| | | LALStatus *status, | |
| | | CHARVector *object, | |
| | | ExchParams *exchParms | |
| | | ); | |
| | | | |
| | | void | |
| | | LALExchangeINT2Vector( | |
| | | LALStatus *status, | |
| | | INT2Vector *object, | |
| | | ExchParams *exchParms | |
| | | ); | |
| | | | |
| | | void | |
| | | LALExchangeINT4Vector( | |
| | | LALStatus *status, | |
| | | INT4Vector *object, | |
| | | ExchParams *exchParms | |
| | | ); | |
| | | | |
| | | void | |
| | | LALExchangeINT8Vector( | |
| | | LALStatus *status, | |
| | | INT8Vector *object, | |
| | | ExchParams *exchParms | |
| | | ); | |
| | | | |
| | | void | |
| | | LALExchangeUINT2Vector( | |
| | | LALStatus *status, | |
| | | UINT2Vector *object, | |
| | | ExchParams *exchParms | |
| | | ); | |
| | | | |
| | | void | |
| | | LALExchangeUINT4Vector( | |
| | | LALStatus *status, | |
| | | UINT4Vector *object, | |
| | | ExchParams *exchParms | |
| | | ); | |
| | | | |
| | | void | |
| | | LALExchangeUINT8Vector( | |
| | | LALStatus *status, | |
| | | UINT8Vector *object, | |
| | | ExchParams *exchParms | |
| | | ); | |
| | | | |
| | | void | |
| | | LALExchangeREAL4Vector( | |
| | | LALStatus *status, | |
| | | REAL4Vector *object, | |
| | | ExchParams *exchParms | |
| | | ); | |
| | | | |
| | | void | |
| | | LALExchangeREAL8Vector( | |
| | | LALStatus *status, | |
| | | REAL8Vector *object, | |
| | | ExchParams *exchParms | |
| | | ); | |
| | | | |
| | | void | |
| | | LALExchangeCOMPLEX8Vector( | |
| | | LALStatus *status, | |
| | | COMPLEX8Vector *object, | |
| | | ExchParams *exchParms | |
| | | ); | |
| | | | |
| | | void | |
| | | LALExchangeCOMPLEX16Vector( | |
| | | LALStatus *status, | |
| | | COMPLEX16Vector *object, | |
| | | ExchParams *exchParms | |
| | | ); | |
| | | | |
| | | void | |
| | | LALExchangeINT2TimeSeries( | |
| | | LALStatus *status, | |
| | | INT2TimeSeries *object, | |
| | | ExchParams *exchParms | |
| | | ); | |
| | | | |
| | | void | |
| | | LALExchangeINT4TimeSeries( | |
| | | LALStatus *status, | |
| | | INT4TimeSeries *object, | |
| | | ExchParams *exchParms | |
| | | ); | |
| | | | |
| | | void | |
| | | LALExchangeINT8TimeSeries( | |
| | | LALStatus *status, | |
| | | INT8TimeSeries *object, | |
| | | ExchParams *exchParms | |
| | | ); | |
| | | | |
| | | void | |
| | | LALExchangeUINT2TimeSeries( | |
| | | LALStatus *status, | |
| | | UINT2TimeSeries *object, | |
| | | ExchParams *exchParms | |
| | | ); | |
| | | | |
| | | void | |
| | | LALExchangeUINT4TimeSeries( | |
| | | LALStatus *status, | |
| | | UINT4TimeSeries *object, | |
| | | ExchParams *exchParms | |
| | | ); | |
| | | | |
| | | void | |
| | | LALExchangeUINT8TimeSeries( | |
| | | LALStatus *status, | |
| | | UINT8TimeSeries *object, | |
| | | ExchParams *exchParms | |
| | | ); | |
| | | | |
| | | void | |
| | | LALExchangeREAL4TimeSeries( | |
| | | LALStatus *status, | |
| | | REAL4TimeSeries *object, | |
| | | ExchParams *exchParms | |
| | | ); | |
| | | | |
| | | void | |
| | | LALExchangeREAL8TimeSeries( | |
| | | LALStatus *status, | |
| | | REAL8TimeSeries *object, | |
| | | ExchParams *exchParms | |
| | | ); | |
| | | | |
| | | void | |
| | | LALExchangeCOMPLEX8TimeSeries( | |
| | | LALStatus *status, | |
| | | COMPLEX8TimeSeries *object, | |
| | | ExchParams *exchParms | |
| | | ); | |
| | | | |
| | | void | |
| | | LALExchangeCOMPLEX16TimeSeries( | |
| | | LALStatus *status, | |
| | | COMPLEX16TimeSeries *object, | |
| | | ExchParams *exchParms | |
| | | ); | |
| | | | |
| | | void | |
| | | LALExchangeINT2FrequencySeries( | |
| | | LALStatus *status, | |
| | | INT2FrequencySeries *object, | |
| | | ExchParams *exchParms | |
| | | ); | |
| | | | |
| | | void | |
| | | LALExchangeINT4FrequencySeries( | |
| | | LALStatus *status, | |
| | | INT4FrequencySeries *object, | |
| | | ExchParams *exchParms | |
| | | ); | |
| | | | |
| | | void | |
| | | LALExchangeINT8FrequencySeries( | |
| | | LALStatus *status, | |
| | | INT8FrequencySeries *object, | |
| | | ExchParams *exchParms | |
| | | ); | |
| | | | |
| | | void | |
| | | LALExchangeUINT2FrequencySeries( | |
| | | LALStatus *status, | |
| | | UINT2FrequencySeries *object, | |
| | | ExchParams *exchParms | |
| | | ); | |
| | | | |
| | | void | |
| | | LALExchangeUINT4FrequencySeries( | |
| | | LALStatus *status, | |
| | | UINT4FrequencySeries *object, | |
| | | ExchParams *exchParms | |
| | | ); | |
| | | | |
| | | void | |
| | | LALExchangeUINT8FrequencySeries( | |
| | | LALStatus *status, | |
| | | UINT8FrequencySeries *object, | |
| | | ExchParams *exchParms | |
| | | ); | |
| | | | |
| | | void | |
| | | LALExchangeREAL4FrequencySeries( | |
| | | LALStatus *status, | |
| | | REAL4FrequencySeries *object, | |
| | | ExchParams *exchParms | |
| | | ); | |
| | | | |
| | | void | |
| | | LALExchangeREAL8FrequencySeries( | |
| | | LALStatus *status, | |
| | | REAL8FrequencySeries *object, | |
| | | ExchParams *exchParms | |
| | | ); | |
| | | | |
| | | void | |
| | | LALExchangeCOMPLEX8FrequencySeries( | |
| | | LALStatus *status, | |
| | | COMPLEX8FrequencySeries *object, | |
| | | ExchParams *exchParms | |
| | | ); | |
| | | | |
| | | void | |
| | | LALExchangeCOMPLEX16FrequencySeries( | |
| | | LALStatus *status, | |
| | | COMPLEX16FrequencySeries *object, | |
| | | ExchParams *exchParms | |
| ); | | ); | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| } | | } | |
| #endif | | #endif | |
| | | | |
|
| | | #endif /* LAL_MPI_ENABLED */ | |
| | | | |
| #endif /* _COMM_H */ | | #endif /* _COMM_H */ | |
| | | | |
End of changes. 57 change blocks. |
| 112 lines changed or deleted | | 1122 lines changed or added | |
|
| ComplexFFT.h | | ComplexFFT.h | |
|
| /*----------------------------------------------------------------------- | | /**** <lalVerbatim file="ComplexFFTHV"> | |
| * | | * $Id: ComplexFFT.h,v 1.9 2001/08/27 17:25:04 jolien Exp $ | |
| * File Name: ComplexFFT.h | | **** </lalVerbatim> */ | |
| * | | | |
| * Author: Creighton, J. D. E. | | /**** <lalLaTeX> | |
| * | | | |
| * Revision: $Id: ComplexFFT.h,v 1.2 2000/07/23 01:13:20 jolien Exp $ | | | |
| * | | | |
| *----------------------------------------------------------------------- | | | |
| * | | * | |
|
| * NAME | | * \section{Header \texttt{ComplexFFT.h}} | |
| * ComplexFFT.h | | * \label{s:ComplexFFT.h} | |
| * | | * | |
|
| * SYNOPSIS | | * Performs complex-to-complex FFTs. | |
| * #include "ComplexFFT.h" | | | |
| * | | * | |
|
| * DESCRIPTION | | * \subsection*{Synopsis} | |
| | | * \begin{verbatim} | |
| | | * #include <lal/ComplexFFT.h> | |
| | | * \end{verbatim} | |
| * | | * | |
|
| * DIAGNOSTICS | | * Perform complex-to-complex fast Fourier transforms of vectors using the | |
| | | * package FFTW~\cite{fj:1998}. | |
| * | | * | |
|
| *----------------------------------------------------------------------- | | **** </lalLaTeX> */ | |
| */ | | | |
| | | | |
| #ifndef _COMPLEXFFT_H | | #ifndef _COMPLEXFFT_H | |
| #define _COMPLEXFFT_H | | #define _COMPLEXFFT_H | |
| | | | |
|
| #include "LALDatatypes.h" | | #include <lal/LALDatatypes.h> | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| extern "C" { | | extern "C" { | |
|
| | | #pragma } | |
| #endif | | #endif | |
| | | | |
|
| NRCSID( COMPLEXFFTH, "$Id: ComplexFFT.h,v 1.2 2000/07/23 01:13:20 jolien Ex
p $" ); | | NRCSID( COMPLEXFFTH, "$Id: ComplexFFT.h,v 1.9 2001/08/27 17:25:04 jolien Ex
p $" ); | |
| | | | |
|
| #define COMPLEXFFT_ENULL 1 | | /**** <lalLaTeX> | |
| #define COMPLEXFFT_ENNUL 2 | | * \subsection*{Error conditions} | |
| #define COMPLEXFFT_ESIZE 4 | | **** </lalLaTeX> */ | |
| #define COMPLEXFFT_ESZMM 8 | | /**** <lalErrTable> */ | |
| #define COMPLEXFFT_ESLEN 16 | | | |
| #define COMPLEXFFT_ESAME 32 | | #define COMPLEXFFTH_ENULL 1 | |
| | | #define COMPLEXFFTH_ENNUL 2 | |
| #define COMPLEXFFT_MSGENULL "Null pointer" | | #define COMPLEXFFTH_ESIZE 4 | |
| #define COMPLEXFFT_MSGENNUL "Non-null pointer" | | #define COMPLEXFFTH_ESZMM 8 | |
| #define COMPLEXFFT_MSGESIZE "Invalid input size" | | #define COMPLEXFFTH_ESLEN 16 | |
| #define COMPLEXFFT_MSGESZMM "Size mismatch" | | #define COMPLEXFFTH_ESAME 32 | |
| #define COMPLEXFFT_MSGESLEN "Invalid/mismatched sequence lengths" | | #define COMPLEXFFTH_EALOC 64 | |
| #define COMPLEXFFT_MSGESAME "Input/Output data vectors are the same" | | #define COMPLEXFFTH_EFFTW 128 | |
| | | | |
| typedef struct | | #define COMPLEXFFTH_MSGENULL "Null pointer" | |
| tagComplexFFTPlan | | #define COMPLEXFFTH_MSGENNUL "Non-null pointer" | |
| { | | #define COMPLEXFFTH_MSGESIZE "Invalid input size" | |
| INT4 sign; | | #define COMPLEXFFTH_MSGESZMM "Size mismatch" | |
| UINT4 size; | | #define COMPLEXFFTH_MSGESLEN "Invalid/mismatched sequence lengths" | |
| void *plan; | | #define COMPLEXFFTH_MSGESAME "Input/Output data vectors are the same" | |
| } | | #define COMPLEXFFTH_MSGEFFTW "Error in FFTW" | |
| ComplexFFTPlan; | | #define COMPLEXFFTH_MSGEALOC "Memory allocation failed" | |
| | | | |
| | | /**** </lalErrTable> */ | |
| | | /**** <lalLaTeX> | |
| | | * | |
| | | * \subsection*{Structures} | |
| | | * | |
| | | **** </lalLaTeX> */ | |
| | | /**** <lalVerbatim> */ | |
| | | typedef struct tagComplexFFTPlan ComplexFFTPlan; | |
| | | /**** </lalVerbatim> */ | |
| | | /**** <lalLaTeX> | |
| | | * | |
| | | * This structure contains the parameters necessary for performing an FFT o | |
| | | f a | |
| | | * given size and direction. The contents should not be manually adjusted. | |
| | | * | |
| | | * \newpage\input{ComplexFFTC} | |
| | | * \newpage\input{ComplexFFTTestC} | |
| | | **** </lalLaTeX> */ | |
| | | | |
| | | /* #define KEEP_OLD_COMPLEX_FFT */ | |
| | | | |
| | | void | |
| | | LALCreateForwardComplexFFTPlan( | |
| | | LALStatus *status, | |
| | | ComplexFFTPlan **plan, | |
| | | UINT4 size, | |
| | | INT4 measure | |
| | | ); | |
| | | | |
| | | void | |
| | | LALCreateReverseComplexFFTPlan( | |
| | | LALStatus *status, | |
| | | ComplexFFTPlan **plan, | |
| | | UINT4 size, | |
| | | INT4 measure | |
| | | ); | |
| | | | |
| | | void | |
| | | LALDestroyComplexFFTPlan ( | |
| | | LALStatus *status, | |
| | | ComplexFFTPlan **plan | |
| | | ); | |
| | | | |
| | | void | |
| | | LALCOMPLEX8VectorFFT ( | |
| | | LALStatus *status, | |
| | | COMPLEX8Vector *output, | |
| | | COMPLEX8Vector *input, | |
| | | ComplexFFTPlan *plan | |
| | | ); | |
| | | | |
| | | #ifdef KEEP_OLD_FFT | |
| | | #define KEEP_OLD_COMPLEX_FFT | |
| | | #endif | |
| | | | |
| | | #ifdef KEEP_OLD_COMPLEX_FFT | |
| | | | |
| void | | void | |
| LALEstimateFwdComplexFFTPlan ( | | LALEstimateFwdComplexFFTPlan ( | |
| LALStatus *stat, | | LALStatus *stat, | |
| ComplexFFTPlan **plan, | | ComplexFFTPlan **plan, | |
| UINT4 size | | UINT4 size | |
| ); | | ); | |
| | | | |
| void | | void | |
| LALEstimateInvComplexFFTPlan ( | | LALEstimateInvComplexFFTPlan ( | |
| | | | |
| skipping to change at line 86 | | skipping to change at line 141 | |
| UINT4 size | | UINT4 size | |
| ); | | ); | |
| | | | |
| void | | void | |
| LALMeasureInvComplexFFTPlan ( | | LALMeasureInvComplexFFTPlan ( | |
| LALStatus *stat, | | LALStatus *stat, | |
| ComplexFFTPlan **plan, | | ComplexFFTPlan **plan, | |
| UINT4 size | | UINT4 size | |
| ); | | ); | |
| | | | |
|
| void | | #endif /* KEEP_OLD_COMPLEX_FFT */ | |
| LALDestroyComplexFFTPlan ( | | | |
| LALStatus *stat, | | | |
| ComplexFFTPlan **plan | | | |
| ); | | | |
| | | | |
| void | | | |
| LALCOMPLEX8VectorFFT ( | | | |
| LALStatus *stat, | | | |
| COMPLEX8Vector *vout, | | | |
| COMPLEX8Vector *vinp, | | | |
| ComplexFFTPlan *plan | | | |
| ); | | | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
|
| | | #pragma { | |
| } | | } | |
| #endif | | #endif | |
| | | | |
| #endif /* _COMPLEXFFT_H */ | | #endif /* _COMPLEXFFT_H */ | |
| | | | |
End of changes. 12 change blocks. |
| 54 lines changed or deleted | | 99 lines changed or added | |
|
| DataBuffer.h | | DataBuffer.h | |
|
| /*----------------------------------------------------------------------- | | #if 0 /* autodoc block */ | |
| * | | | |
| * File Name: DataBuffer.h | | <lalVerbatim file="DataBufferHV"> | |
| * | | $Id: DataBuffer.h,v 1.7 2001/05/04 18:37:03 duncan Exp $ | |
| * Author: Creighton, J. D. E. | | </lalVerbatim> | |
| * | | | |
| * Revision: $Id: DataBuffer.h,v 1.3 2000/07/23 01:13:41 jolien Exp $ | | <lalLaTeX> | |
| * | | | |
| *----------------------------------------------------------------------- | | \section{Header \texttt{DataBuffer.h}} | |
| */ | | \label{s:DataBuffer.h} | |
| | | | |
| | | Root finding routines. | |
| | | | |
| | | \subsection*{Synopsis} | |
| | | \begin{verbatim} | |
| | | #include <lal/DataBuffer.h> | |
| | | \end{verbatim} | |
| | | | |
| | | \noindent Gets segments of IFO\_DMRO data along with its (averaged over sev | |
| | | eral | |
| | | segments) power spectrum and response function. | |
| | | | |
| | | </lalLaTeX> | |
| | | | |
| | | #endif /* autodoc block */ | |
| | | | |
| #ifndef _DATABUFFER_H | | #ifndef _DATABUFFER_H | |
| #define _DATABUFFER_H | | #define _DATABUFFER_H | |
| | | | |
|
| #include "LALDatatypes.h" | | #include <lal/LALDatatypes.h> | |
| #include "FrameData.h" | | #include <lal/FrameData.h> | |
| #include "SpecBuffer.h" | | #include <lal/SpecBuffer.h> | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| extern "C" { | | extern "C" { | |
| #endif | | #endif | |
| | | | |
|
| NRCSID (DATABUFFERH, "$Id: DataBuffer.h,v 1.3 2000/07/23 01:13:41 jolien Ex | | NRCSID (DATABUFFERH, "$Id: DataBuffer.h,v 1.7 2001/05/04 18:37:03 duncan Ex | |
| p $"); | | p $"); | |
| | | | |
| | | #if 0 /* autodoc block */ | |
| | | | |
| | | <lalLaTeX> | |
| | | \subsection*{Error conditions} | |
| | | \input{DataBufferHErrTab} | |
| | | </lalLaTeX> | |
| | | | |
| | | <lalErrTable file="DataBufferHErrTab"> | |
| | | | |
| | | #endif /* autodoc block */ | |
| | | | |
| | | #define DATABUFFERH_ENULL 1 | |
| | | #define DATABUFFERH_ENNUL 2 | |
| | | #define DATABUFFERH_ESIZE 4 | |
| | | #define DATABUFFERH_ESZMM 8 | |
| | | | |
| | | #define DATABUFFERH_MSGENULL "Null pointer" | |
| | | #define DATABUFFERH_MSGENNUL "Non-null pointer" | |
| | | #define DATABUFFERH_MSGESIZE "Invalid input size" | |
| | | #define DATABUFFERH_MSGESZMM "Size mismatch" | |
| | | | |
| | | #if 0 /* autodoc block */ | |
| | | | |
| | | </lalErrTable> | |
| | | | |
| | | <lalLaTeX> | |
| | | | |
| | | \subsection*{Structures} | |
| | | | |
| | | \begin{verbatim} | |
| | | typedef struct | |
| | | tagDataSegment | |
| | | { | |
| | | INT2TimeSeries *data; | |
| | | REAL4FrequencySeries *spec; | |
| | | COMPLEX8FrequencySeries *resp; | |
| | | INT4 endOfData; | |
| | | INT4 newLock; | |
| | | INT4 newCal; | |
| | | INT4 number; | |
| | | INT4 level; | |
| | | } | |
| | | DataSegment; | |
| | | \end{verbatim} | |
| | | | |
| | | The data structure returned by the data aquisition routine. The fields are | |
| | | : | |
| | | \begin{description} | |
| | | \item[\texttt{data}] The time-series data. | |
| | | \item[\texttt{spec}] The corresponding estimated (averaged) power spectrum. | |
| | | \item[\texttt{resp}] The current response function, built from the swept-si | |
| | | ne | |
| | | calibration information. | |
| | | \item[\texttt{endOfData}] Boolean that is non-zero if there is no more data | |
| | | . | |
| | | \item[\texttt{newLock}] Boolean that is non-zero if a new locked segment ha | |
| | | s | |
| | | been entered. | |
| | | \item[\texttt{newCal}] Boolean that is non-zero if a new calibration | |
| | | information has been read. | |
| | | \item[\texttt{number}] The segment number. | |
| | | \item[\texttt{level}] A field that Duncan wanted. | |
| | | \end{description} | |
| | | | |
| | | \begin{verbatim} | |
| | | typedef struct | |
| | | tagDataBufferPar | |
| | | { | |
| | | INT4 numSpec; | |
| | | INT4 numPoints; | |
| | | WindowType windowType; | |
| | | RealFFTPlan *plan; | |
| | | CHAR *framePath; | |
| | | } | |
| | | DataBufferPar; | |
| | | \end{verbatim} | |
| | | | |
| | | This is the parameter structure used when creating a data buffer. The fiel | |
| | | ds | |
| | | are: | |
| | | \begin{description} | |
| | | \item[\texttt{numSpec}] The number of spectra to average to get an average | |
| | | spectrum. | |
| | | \item[\texttt{numPoints}] The number of points of data in each segment. | |
| | | \item[\texttt{windowType}] The type of window to use when creating the | |
| | | spectra (see the \texttt{window} package). | |
| | | \item[\texttt{plan}] The FFT plan to use when creating the spectra (see the | |
| | | \texttt{fft} package). | |
| | | \item[\texttt{framePath}] The path of the directory containing the frame fi | |
| | | les. | |
| | | \end{description} | |
| | | | |
| | | \begin{verbatim} | |
| | | typedef struct | |
| | | tagDataBuffer | |
| | | { | |
| | | INT4 endOfData; | |
| | | INT4 newLock; | |
| | | INT4 newCal; | |
| | | /* ... private data ... */ | |
| | | } | |
| | | \end{verbatim} | |
| | | This is the buffer of data segments. The ``public'' fields are: | |
| | | \begin{description} | |
| | | \item[\texttt{endOfData}] Boolean that is non-zero if there is no more data | |
| | | . | |
| | | \item[\texttt{newLock}] Boolean that is non-zero if a new locked segment ha | |
| | | s | |
| | | been entered. | |
| | | \item[\texttt{newCal}] Boolean that is non-zero if a new calibration | |
| | | information has been read. | |
| | | \end{description} | |
| | | | |
| | | \begin{verbatim} | |
| | | typedef struct tagDataBlock DataBlock; | |
| | | \end{verbatim} | |
| | | | |
| | | An internal structure. | |
| | | | |
|
| #define DATABUFFER_ENULL 1 | | </lalLaTeX> | |
| #define DATABUFFER_ENNUL 2 | | | |
| #define DATABUFFER_ESIZE 4 | | #endif /* autodoc block */ | |
| #define DATABUFFER_ESZMM 8 | | | |
| | | | |
| #define DATABUFFER_MSGENULL "Null pointer" | | | |
| #define DATABUFFER_MSGENNUL "Non-null pointer" | | | |
| #define DATABUFFER_MSGESIZE "Invalid input size" | | | |
| #define DATABUFFER_MSGESZMM "Size mismatch" | | | |
| | | | |
| typedef struct | | typedef struct | |
| tagDataBlock | | tagDataBlock | |
| { | | { | |
| INT4 number; | | INT4 number; | |
| INT4 continuous; | | INT4 continuous; | |
| INT4 anomalous; | | INT4 anomalous; | |
| INT2TimeSeries *framedata; | | INT2TimeSeries *framedata; | |
| } | | } | |
| DataBlock; | | DataBlock; | |
| | | | |
| skipping to change at line 86 | | skipping to change at line 205 | |
| WindowType windowType; | | WindowType windowType; | |
| RealFFTPlan *plan; | | RealFFTPlan *plan; | |
| CHAR *framePath; | | CHAR *framePath; | |
| } | | } | |
| DataBufferPar; | | DataBufferPar; | |
| | | | |
| typedef struct | | typedef struct | |
| tagDataSegment | | tagDataSegment | |
| { | | { | |
| INT2TimeSeries *data; | | INT2TimeSeries *data; | |
|
| | | REAL4TimeSeries *real4Data; | |
| REAL4FrequencySeries *spec; | | REAL4FrequencySeries *spec; | |
| COMPLEX8FrequencySeries *resp; | | COMPLEX8FrequencySeries *resp; | |
| INT4 endOfData; | | INT4 endOfData; | |
| INT4 newLock; | | INT4 newLock; | |
| INT4 newCal; | | INT4 newCal; | |
| INT4 number; | | INT4 number; | |
|
| | | INT4 level; | |
| } | | } | |
| DataSegment; | | DataSegment; | |
| | | | |
|
| | | #if 0 /* autodoc block */ | |
| | | | |
| | | <lalLaTeX> | |
| | | \newpage\input{DataBufferC} | |
| | | </lalLaTeX> | |
| | | | |
| | | #endif /* autodoc block */ | |
| | | | |
| void | | void | |
| LALCreateDataBuffer ( | | LALCreateDataBuffer ( | |
| LALStatus *status, | | LALStatus *status, | |
| DataBuffer **buffer, | | DataBuffer **buffer, | |
| DataBufferPar *params | | DataBufferPar *params | |
| ); | | ); | |
| | | | |
| void | | void | |
| LALDestroyDataBuffer ( | | LALDestroyDataBuffer ( | |
| LALStatus *status, | | LALStatus *status, | |
| | | | |
| skipping to change at line 116 | | skipping to change at line 245 | |
| ); | | ); | |
| | | | |
| void | | void | |
| LALGetData ( | | LALGetData ( | |
| LALStatus *status, | | LALStatus *status, | |
| DataSegment *output, | | DataSegment *output, | |
| INT4 advance, | | INT4 advance, | |
| DataBuffer *buffer | | DataBuffer *buffer | |
| ); | | ); | |
| | | | |
|
| | | #if 0 /* autodoc block */ | |
| | | | |
| | | <lalLaTeX> | |
| | | \newpage\input{DataBufferTestC} | |
| | | </lalLaTeX> | |
| | | | |
| | | #endif /* autodoc block */ | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| } | | } | |
| #endif | | #endif | |
| | | | |
| #endif /* _DATABUFFER_H */ | | #endif /* _DATABUFFER_H */ | |
| | | | |
End of changes. 8 change blocks. |
| 24 lines changed or deleted | | 170 lines changed or added | |
|
| Date.h | | Date.h | |
|
| /*----------------------------------------------------------------------- | | /* <lalVerbatim file="DateHV"> | |
| * | | | |
| * File Name: Date.h | | Author: David Chin <dwchin@umich.edu> +1-734-730-1274 | |
| * | | $Id: Date.h,v 1.31 2001/12/08 21:28:38 dwchin Exp $ | |
| * Author: David Chin <dwchin@umich.edu> | | | |
| * | | </lalVerbatim> */ | |
| * Revision: $Id: Date.h,v 1.2 2000/07/23 01:12:54 jolien Exp $ | | | |
| * | | /* <lalLaTeX> | |
| *----------------------------------------------------------------------- | | | |
| * | | \section{Header \texttt{Date.h}} | |
| * NAME | | \label{s:Date.h} | |
| * Date.h | | | |
| * | | Provides routines for manipulating date and time information. | |
| * SYNOPSIS | | | |
| * #include "Date.h" | | \subsection*{Synopsis} | |
| * | | \begin{verbatim} | |
| * DESCRIPTION | | #include <lal/Date.h> | |
| * Data type definitions for date and time manipulation. | | \end{verbatim} | |
| * Function prototypes for date and time manipulation functions. | | | |
| * | | This header covers routines for manipulating date and time | |
| * DIAGNOSTICS | | information. The various time systems are discussed in~\cite{esaa:1992}. | |
| * | | | |
| *----------------------------------------------------------------------- | | </lalLaTeX> */ | |
| */ | | | |
| | | | |
| #ifndef _DATE_H | | #ifndef _DATE_H | |
| #define _DATE_H | | #define _DATE_H | |
| | | | |
|
| | | /* the following two preprocessor defines are to include the prototypes for | |
| | | * gmtime_r() and asctime_r() from /usr/include/time.h | |
| | | * HOWEVER, they do no good if -ansi is used in gcc: warnings are generated | |
| | | * that the prototypes have not been seen */ | |
| | | | |
| | | /* HP-UX and Solaris */ | |
| #ifndef _REENTRANT | | #ifndef _REENTRANT | |
| # define _REENTRANT | | # define _REENTRANT | |
| #endif | | #endif | |
| | | | |
|
| | | #ifndef _POSIX_PTHREAD_SEMANTICS | |
| | | # define _POSIX_PTHREAD_SEMANTICS | |
| | | #endif | |
| | | | |
| | | /* Linux */ | |
| | | #ifndef __USE_POSIX | |
| | | # define __USE_POSIX | |
| | | #endif | |
| | | | |
| #include <stdio.h> | | #include <stdio.h> | |
| #include <stdlib.h> | | #include <stdlib.h> | |
|
| | | | |
| #include <time.h> | | #include <time.h> | |
| | | | |
|
| #include "LALRCSID.h" | | #include <lal/LALRCSID.h> | |
| | | | |
|
| #include "LALConstants.h" | | #include <lal/LALConstants.h> | |
| #include "LALAtomicDatatypes.h" | | #include <lal/LALAtomicDatatypes.h> | |
| #include "LALDatatypes.h" | | #include <lal/LALDatatypes.h> | |
| #include "LALStatusMacros.h" | | #include <lal/LALStatusMacros.h> | |
| #include "LALStdlib.h" | | #include <lal/LALStdlib.h> | |
| | | | |
| | | #include <lal/DetectorSite.h> | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
|
| extern "C" { | | extern "C" | |
| | | { | |
| #endif | | #endif | |
| | | | |
|
| NRCSID (DATEH, "$Id: Date.h,v 1.2 2000/07/23 01:12:54 jolien Exp $"); | | NRCSID (DATEH, "$Id: Date.h,v 1.31 2001/12/08 21:28:38 dwchin Exp $"); | |
| | | | |
|
| /* | | /* <lalLaTeX> | |
| * Julian.c | | \subsection*{Error conditions} | |
| */ | | </lalLaTeX> */ | |
| #define JULIAN_ENULLINPUT 1 | | | |
| #define JULIAN_ENULLOUTPUT 2 | | | |
| #define JULIAN_EDATETOOEARLY 3 | | | |
| | | | |
| #define JULIAN_MSGENULLINPUT "Input is NULL" | | | |
| #define JULIAN_MSGENULLOUTPUT "Output is NULL" | | | |
| #define JULIAN_MSGEDATETOOEARLY "Date too early: Julian Day can only be com | | | |
| puted for dates >= 1900-Mar" | | | |
| | | | |
|
| /* | | /* <lalErrTable> */ | |
| * UtoGPS.c | | #define DATEH_ENULLINPUT 1 | |
| */ | | #define DATEH_ENULLOUTPUT 2 | |
| #define UTOGPS_ENULLINPUT 1 | | #define DATEH_EDATETOOEARLY 3 | |
| #define UTOGPS_ENULLOUTPUT 2 | | #define DATEH_ERANGEGPSABS 4 | |
| | | #define DATEH_EBUFFTOOSMALL 5 | |
| | | #define DATEH_EASCTIMEFAIL 6 | |
| | | #define DATEH_EGPSDATETOOEARLY 7 | |
| | | | |
|
| #define UTOGPS_MSGENULLINPUT "Input is NULL" | | #define DATEH_MSGENULLINPUT "Input is NULL" | |
| #define UTOGPS_MSGENULLOUTPUT "Output is NULL" | | #define DATEH_MSGENULLOUTPUT "Output is NULL" | |
| | | #define DATEH_MSGEDATETOOEARLY "Date too early: Julian Day can only be comp | |
| | | uted for dates >= 1900-03-01" | |
| | | #define DATEH_MSGERANGEGPSABS "Input time out of range: only able to accura | |
| | | tely convert times between 1980-Jan-06 00:00:00 UTC (GPS 0) and 2002-Mar-31 | |
| | | 23:59:00 UTC (GPS 701654353)" | |
| | | #define DATEH_MSGEBUFFTOOSMALL "Output timestamp string too small: min. siz | |
| | | e = 26" | |
| | | #define DATEH_MSGEASCTIMEFAIL "asctimeUNDERSCOREr() failed" | |
| | | #define DATEH_MSGEGPSDATETOOEARLY "Date too early: GPS time only defined fo | |
| | | r times on or after 1980-Jan-06 00:00:00 UTC" | |
| | | | |
|
| /* | | /* </lalErrTable> | |
| * Utime.c | | | |
| */ | | | |
| #define UTIME_ENULLINPUT 1 | | | |
| #define UTIME_ENULLOUTPUT 2 | | | |
| #define UTIME_ERANGE 3 | | | |
| | | | |
| #define UTIME_MSGENULLINPUT "Input is NULL" | | | |
| #define UTIME_MSGENULLOUTPUT "Output is NULL" | | | |
| #define UTIME_MSGERANGE "Input time out of range: 0 <= utc_seconds <= 94668 | | | |
| 4823" | | | |
| | | | |
|
| /* | | <lalLaTeX> | |
| * DateString.c | | | |
| */ | | | |
| #define DATESTRING_ENULLINPUT 1 | | | |
| #define DATESTRING_ENULLOUTPUT 2 | | | |
| #define DATESTRING_EBUFFTOOSMALL 3 | | | |
| | | | |
| #define DATESTRING_MSGENULLINPUT "Input is NULL" | | | |
| #define DATESTRING_MSGENULLOUTPUT "Output is NULL" | | | |
| #define DATESTRING_MSGEBUFFTOOSMALL "Output timestamp string too small: min | | | |
| . size = 26" | | | |
| | | | |
|
| /* | | \subsection*{Structures} | |
| * LMST1.c | | | |
| */ | | | |
| #define LMST1_ENULLINPUT 1 | | | |
| #define LMST1_ENULLOUTPUT 2 | | | |
| | | | |
|
| #define GMST1_ENULLINPUT 1 | | </lalLaTeX> */ | |
| #define GMST1_ENULLOUTPUT 2 | | | |
| | | | |
|
| #define LMST1_MSGENULLINPUT "Input is NULL" | | /* <lalLaTeX> | |
| #define LMST1_MSGENULLOUTPUT "Output is NULL" | | | |
| | | | |
|
| #define GMST1_MSGENULLINPUT "Input is NULL" | | \vfill{\footnotesize\input{DateHV}} | |
| #define GMST1_MSGENULLOUTPUT "Output is NULL" | | | |
| | | | |
| #define MST_SEC 0 | | | |
| #define MST_HRS 1 | | | |
| #define MST_DEG 2 | | | |
| #define MST_RAD 3 | | | |
| | | | |
|
| /* | | </lalLaTeX> */ | |
| * SecsToLALDate.c | | | |
| */ | | /* <lalLaTeX> | |
| #define SECSTOLALDATE_ENULLOUTPUT 1 | | | |
| | | \subsection*{Types} | |
| | | | |
| | | \subsubsection*{Enumeration \texttt{LALMSTUnits}} | |
| | | \idx[Type]{LALMSTUnits} | |
| | | | |
| | | This enumerated type is used as a parameter for Mean Sidereal Time | |
| | | routines to specify the units in which to return the Mean Sidereal | |
| | | Time. The allowed values are: | |
| | | | |
| | | \medskip\noindent | |
| | | \begin{tabular}{ll} | |
| | | \verb+MST_SEC+ & arc-seconds \\ | |
| | | \verb+MST_HRS+ & arc-hours (\textit{i.e.} units of Right Ascension)\\ | |
| | | \verb+MST_DEG+ & degrees \\ | |
| | | \verb+MST_RAD+ & radians | |
| | | \end{tabular} | |
| | | \bigskip | |
| | | | |
| | | </lalLaTeX> */ | |
| | | | |
| | | typedef enum | |
| | | { | |
| | | MST_SEC, /* arc seconds */ | |
| | | MST_HRS, /* arc hours (i.e. units of Right Ascension) */ | |
| | | MST_DEG, /* degrees */ | |
| | | MST_RAD /* radians */ | |
| | | } LALMSTUnits; | |
| | | | |
| | | /* <lalLaTeX> | |
| | | \subsubsection*{Enumeration \texttt{LALLeapSecAccuracy}} | |
| | | \idx[Type]{LALLeapSecAccuracy} | |
| | | | |
| | | This enumerated type is used as a parameter for \texttt{LALGPStoUTC()} and | |
| | | \texttt{LALUTCtoGPS()} to specify if complete accuracy is required in use | |
| | | of leap seconds. The allowed values are: | |
| | | | |
| | | \medskip\noindent | |
| | | \begin{tabular}{ll} | |
| | | \verb+LALLEAPSEC_LOOSE+ & may miss leap seconds \\ | |
| | | \verb+LALLEAPSEC_STRICT+ & require all leap seconds | |
| | | \end{tabular} | |
| | | \bigskip | |
| | | | |
| | | If strict accuracy is selected, the code will \texttt{ABORT} if leap second | |
| | | data is not current. Otherwise, a warning will be printed, and the code | |
| | | will continue execution. | |
| | | | |
| | | </lalLaTeX> */ | |
| | | typedef enum | |
| | | { | |
| | | LALLEAPSEC_LOOSE, | |
| | | LALLEAPSEC_STRICT | |
| | | } LALLeapSecAccuracy; | |
| | | | |
| | | /* <lalLaTeX> | |
| | | | |
|
| #define SECSTOLALDATE_MSGENULLOUTPUT "Output is NULL" | | \subsubsection*{Structure \texttt{LALUnixDate}} | |
| | | \idx[Type]{LALUnixDate} | |
| | | | |
|
| /* The standard Unix tm structure */ | | This structure is just the standard Unix \texttt{tm} structure. We shall | |
| | | {\em always} ignore the daylight savings time field, \verb+tm_isdst+. | |
| | | | |
| | | </lalLaTeX> */ | |
| | | | |
| | | /* | |
| | | * The standard Unix tm structure | |
| | | */ | |
| typedef struct | | typedef struct | |
| tm | | tm | |
| LALUnixDate; | | LALUnixDate; | |
| | | | |
|
| /* This time object is exactly like LIGOTimeGPS, except for the name */ | | /* <lalLaTeX> | |
| typedef struct | | | |
| tagLIGOTimeUnix | | \subsubsection{Structure \texttt{LALTimeInterval}} | |
| { | | \idx[Type]{LALTimeInterval} | |
| INT4 unixSeconds; | | | |
| INT4 unixNanoSeconds; | | This structure is used for storing intervals of \texttt{LIGOTimeGPS} | |
| } | | and \texttt{LIGOTimeUnix} times. The fields are: | |
| LIGOTimeUnix; | | | |
| | | \begin{description} | |
| | | \item{\texttt{INT4 seconds}} Integral part of the time interval | |
| | | \item{\texttt{INT8 nanoSeconds}} Residual nanoseconds (\textit{i.e.} | |
| | | fractional part, in nanoseconds) | |
| | | \end{description} | |
| | | | |
|
| /* Encode timezone information */ | | </lalLaTeX> */ | |
| | | | |
| | | /* | |
| | | * This time object is for time intervals, i.e. no reference epoch implied | |
| | | */ | |
| typedef struct | | typedef struct | |
|
| tagLALTimezone | | tagLALTimeInterval | |
| { | | { | |
|
| INT4 secondsWest; /* seconds West of UTC */ | | INT4 seconds; | |
| INT4 dst; /* Daylight Savings Time correction to apply */ | | INT8 nanoSeconds; | |
| } | | } | |
|
| LALTimezone; | | LALTimeInterval; | |
| | | | |
| | | /* <lalLaTeX> | |
| | | | |
| | | \subsubsection{Structure \texttt{LALDate}} | |
| | | \idx[Type]{LALDate} | |
| | | | |
|
| /* Date and time structure */ | | This structure is an extension of \texttt{LALUnixDate} to include residual | |
| | | nanosecond information. The fields are: | |
| | | | |
| | | \begin{description} | |
| | | \item{\texttt{LALUnixDate unixDate}} Unix date in \texttt{struct tm} | |
| | | format | |
| | | \item{\texttt{INT4 residualNanoSeconds}} Residual nanoseconds | |
| | | \end{description} | |
| | | </lalLaTeX> */ | |
| | | | |
| | | /* | |
| | | * Date and time structure | |
| | | */ | |
| typedef struct | | typedef struct | |
| tagLALDate | | tagLALDate | |
| { | | { | |
| LALUnixDate unixDate; | | LALUnixDate unixDate; | |
| INT4 residualNanoSeconds; /* residual nanoseconds */ | | INT4 residualNanoSeconds; /* residual nanoseconds */ | |
|
| LALTimezone timezone; /* timezone information */ | | | |
| } | | } | |
| LALDate; | | LALDate; | |
| | | | |
|
| | | /* <lalLaTeX> | |
| | | | |
| | | \subsubsection{Structure \texttt{LALPlaceAndGPS}} | |
| | | \idx[Type]{LALPlaceAndGPS} | |
| | | | |
| | | This structure stores pointers to a \texttt{LALDetector} and a | |
| | | \texttt{LIGOTimeGPS}. Its sole purpose is to aggregate these | |
| | | structures for passing to functions. The fields are: | |
| | | | |
| | | \begin{description} | |
| | | \item{\verb+LALDetector *p_detector+} Pointer to a detector | |
| | | \item{\verb+LIGOTimeGPS *p_gps+} Pointer to a GPS time structure | |
| | | \end{description} | |
| | | | |
| | | </lalLaTeX> */ | |
| | | | |
| /* | | /* | |
|
| * 9. Functions Declarations (i.e., prototypes). | | * Place and time structures | |
| */ | | */ | |
|
| void LALJulianDay (LALStatus*, INT4*, const LALDate*); | | /* First, with GPS */ | |
| void LALModJulianDay(LALStatus*, REAL8*, const LALDate*); | | typedef struct | |
| void LALJulianDate(LALStatus*, REAL8*, const LALDate*); | | tagLALPlaceAndGPS | |
| void LALModJulianDate(LALStatus*, REAL8*, const LALDate*); | | { | |
| void LALUtoGPS(LALStatus*, LIGOTimeGPS*, const LIGOTimeUnix*); | | LALDetector *p_detector; /* pointer to a detector */ | |
| void LALGPStoU(LALStatus*, LIGOTimeUnix*, const LIGOTimeGPS*); | | LIGOTimeGPS *p_gps; /* pointer to GPS time */ | |
| void LALUtime(LALStatus*, LALDate*, const LIGOTimeUnix*); | | } | |
| void LALDateString(LALStatus*, CHARVector*, const LALDate*); | | LALPlaceAndGPS; | |
| void LALGMST1(LALStatus*, REAL8*, const LALDate*, INT4); | | | |
| void LALLMST1(LALStatus*, REAL8*, const LALDate*, REAL8, INT4); | | /* <lalLaTeX> | |
| void LALSecsToLALDate(LALStatus*, LALDate*, REAL8); | | | |
| | | \subsubsection{Structure \texttt{LALPlaceAndDate}} | |
| | | \idx[Type]{LALPlaceAndDate} | |
| | | | |
| | | Like \texttt{LALPlaceAndGPS}, this structure aggregates a pointer to a | |
| | | detector and a pointer to a date. This is another convenience | |
| | | structure, used in calling \texttt{LALLMST1()}. The fields are: | |
| | | | |
| | | \begin{description} | |
| | | \item{\verb+LALDetector *p_detector+} Pointer to a detector | |
| | | \item{\verb+LALDate *p_date+} Pointer to a date | |
| | | \end{description} | |
| | | | |
| | | </lalLaTeX> */ | |
| | | | |
| | | /* Second, with Date-Time */ | |
| | | typedef struct | |
| | | tagLALPlaceAndDate | |
| | | { | |
| | | LALDetector *p_detector; /* pointer to a detector */ | |
| | | LALDate *p_date; /* pointer to a date */ | |
| | | } | |
| | | LALPlaceAndDate; | |
| | | | |
| | | /* | |
| | | * Function prototypes | |
| | | */ | |
| | | | |
| | | /* <lalLaTeX> | |
| | | \newpage\input{JulianC} | |
| | | </lalLaTeX> */ | |
| | | | |
| | | void LALJulianDay(LALStatus *status, | |
| | | INT4 *jDay, | |
| | | const LALDate *date); | |
| | | | |
| | | void LALJulianDate (LALStatus *status, | |
| | | REAL8 *jDateOut, | |
| | | const LALDate *date); | |
| | | | |
| | | void LALModJulianDate (LALStatus *status, | |
| | | REAL8 *modJDate, | |
| | | const LALDate *date); | |
| | | | |
| | | /* <lalLaTeX> | |
| | | \newpage\input{DateStringC} | |
| | | </lalLaTeX> */ | |
| | | | |
| | | void LALDateString (LALStatus *status, | |
| | | CHARVector *timestamp, | |
| | | const LALDate *date); | |
| | | | |
| | | /* <lalLaTeX> | |
| | | \newpage\input{LMST1C} | |
| | | </lalLaTeX> */ | |
| | | | |
| | | void LALGMST1 (LALStatus *status, | |
| | | REAL8 *gmst, /* output - GMST1 */ | |
| | | const LALDate *date, /* input - date and time */ | |
| | | LALMSTUnits outunits); /* GMST1 units */ | |
| | | | |
| | | void LALGPStoGMST1( LALStatus *status, | |
| | | REAL8 *gmst, /* output - GMST1 */ | |
| | | const LIGOTimeGPS *gps, /* input - GPS time */ | |
| | | LALMSTUnits outunits); /* GMST1 units */ | |
| | | | |
| | | void LALLMST1 (LALStatus *status, | |
| | | REAL8 *lmst, /* output - LMST1 */ | |
| | | const LALPlaceAndDate *placeAndDate, /* input - | |
| | | location | |
| | | and date */ | |
| | | LALMSTUnits outunits); /* LMST1 units */ | |
| | | | |
| | | void LALGPStoLMST1( LALStatus *status, | |
| | | REAL8 *lmst, /* output - LMST1 */ | |
| | | const LALPlaceAndGPS *placeAndGps, /* input - | |
| | | location and | |
| | | GPS */ | |
| | | LALMSTUnits outunits); /* LMST1 units | |
| | | */ | |
| | | | |
| | | /* <lalLaTeX> | |
| | | \newpage\input{SecsToLALDateC} | |
| | | </lalLaTeX> */ | |
| | | | |
| | | void LALSecsToLALDate(LALStatus*, | |
| | | LALDate*, | |
| | | REAL8); | |
| | | | |
| | | /* <lalLaTeX> | |
| | | \newpage\input{GPStoUTCC} | |
| | | </lalLaTeX> */ | |
| | | void | |
| | | LALGPStoUTC (LALStatus *status, | |
| | | LALDate *pUtcDate, | |
| | | const LIGOTimeGPS *pGpsTime, | |
| | | const LALLeapSecAccuracy *pAccuracy); | |
| | | | |
| | | void | |
| | | LALUTCtoGPS (LALStatus *status, | |
| | | LIGOTimeGPS *pGpsTime, | |
| | | const LALDate *pUtcDate, | |
| | | const LALLeapSecAccuracy *pAccuracy); | |
| | | | |
| | | /* The following is from S.J. Berukoff, included at his request */ | |
| | | /* <lalLaTeX> | |
| | | \newpage\input{GPStoFloatC} | |
| | | </lalLaTeX> */ | |
| | | void LALGPStoFloat (LALStatus *, | |
| | | REAL8 *, | |
| | | LIGOTimeGPS *); | |
| | | | |
| | | void LALFloatToGPS(LALStatus *, | |
| | | LIGOTimeGPS *, | |
| | | REAL8 *); | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| } | | } | |
| #endif | | #endif | |
| | | | |
| #endif /* _DATE_H */ | | #endif /* _DATE_H */ | |
| | | | |
End of changes. 30 change blocks. |
| 121 lines changed or deleted | | 330 lines changed or added | |
|
| Dirichlet.h | | Dirichlet.h | |
|
| /*----------------------------------------------------------------------- | | /************************************ <lalVerbatim file="DirichletHV"> | |
| * | | Author: UTB Relativity Group; contact whelan@oates.utb.edu | |
| * File Name: Dirichlet.h | | $Id: Dirichlet.h,v 1.10 2001/12/09 04:24:18 whelan Exp $ | |
| * | | *********************************************************** </lalVerbatim> | |
| * Author: UTB Relativity Group | | */ | |
| * | | | |
| * Revision: $Id: Dirichlet.h,v 1.4 2000/07/23 01:14:47 jolien Exp $ | | | |
| * | | | |
| *----------------------------------------------------------------------- | | | |
| * | | | |
| * NAME | | | |
| * Dirichlet.h | | | |
| * | | | |
| * SYNOPSIS | | | |
| * #include "Dirichlet.h" | | | |
| * | | | |
| * DESCRIPTION | | | |
| * Error codes, typedefs, and prototype for function LALDirichlet() | | | |
| * | | | |
| * DIAGNOSTICS | | | |
| * | | | |
| *----------------------------------------------------------------------- | | | |
| */ | | | |
| | | | |
|
| #ifndef _DIRICHLET_H | | /********************************************************** <lalLaTeX> | |
| #define _DIRICHLET_H | | \section{Header \texttt{Dirichlet.h}} | |
| | | \label{stochastic:s:Dirichlet.h} | |
| | | | |
|
| #include "LALStdlib.h" | | Provides prototype and error code information for \texttt{LALDirichlet()}, | |
| | | a routine which calculates the values of the Dirichlet kernel | |
| | | ${\cal D}_N(x)$. | |
| | | | |
| | | \subsection*{Synopsis} | |
| | | \begin{verbatim} | |
| | | #include "Dirichlet.h" | |
| | | \end{verbatim} | |
| | | | |
| | | \noindent | |
| | | % Add more information here, if necessary. | |
| | | | |
| | | \subsection*{Error conditions} | |
| | | \input{DirichletHErrTable} | |
| | | | |
| | | \subsection*{Structures} | |
| | | \begin{verbatim} | |
| | | struct DirichletParameters | |
| | | \end{verbatim} | |
| | | \idx[Type]{DirichletParameters} | |
| | | | |
| | | \noindent | |
| | | Contains parameters that specify the Dirichlet kernel $\mathcal{D}_N(x)$. | |
| | | The fields are: | |
| | | | |
| | | \begin{description} | |
| | | \item[\texttt{UINT4 n}] Dirichlet parameter $N$. | |
| | | | |
| | | \item[\texttt{UINT4 length}] Specified length of output vector. | |
| | | | |
| | | \item[\texttt{REAL8 deltaX}] Spacing of $x$ values. | |
| | | \end{description} | |
| | | | |
| | | \vfill{\footnotesize\input{DirichletHV}} | |
| | | | |
| | | \newpage\input{DirichletC} | |
| | | \newpage\input{DirichletTestC} | |
| | | | |
| | | *********************************************************** </lalLaTeX> */ | |
| | | | |
| | | #ifndef _DIRICHLET_H | |
| | | #define _DIRICHLET_H | |
| | | | |
| | | #include <lal/LALStdlib.h> | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| extern "C" { | | extern "C" { | |
| #endif | | #endif | |
| | | | |
|
| NRCSID (DIRICHLETH, "$Id: Dirichlet.h,v 1.4 2000/07/23 01:14:47 jolien Exp
$"); | | NRCSID (DIRICHLETH, "$Id: Dirichlet.h,v 1.10 2001/12/09 04:24:18 whelan Exp
$"); | |
| | | | |
|
| #define DIRICHLET_ENULLIP 1 | | /******************************** <lalErrTable file="DirichletHErrTable"> * | |
| #define DIRICHLET_ENVALUE 2 | | / | |
| #define DIRICHLET_ESIZE 4 | | | |
| #define DIRICHLET_EDELTAX 8 | | #define DIRICHLETH_ENULLPIN 1 | |
| #define DIRICHLET_ENULLOP 16 | | #define DIRICHLETH_ENVALUE 2 | |
| #define DIRICHLET_ESIZEMM 32 | | #define DIRICHLETH_ESIZE 3 | |
| #define DIRICHLET_ENULLD 64 | | #define DIRICHLETH_EDELTAX 4 | |
| | | #define DIRICHLETH_ENULLPOUT 5 | |
| #define DIRICHLET_MSGENULLIP "Pointer to input parameters must be non-null | | #define DIRICHLETH_ESIZEMM 6 | |
| " | | #define DIRICHLETH_ENULLPDOUT 7 | |
| #define DIRICHLET_MSGENVALUE "LALDirichlet parameter N must be > 0" | | | |
| #define DIRICHLET_MSGESIZE "Specified length of output vector must be > | | #define DIRICHLETH_MSGENULLPIN "Null pointer to input parameters" | |
| 0" | | #define DIRICHLETH_MSGENVALUE "Dirichlet parameter N less than or equal | |
| #define DIRICHLET_MSGEDELTAX "Spacing of x values must be > 0" | | to zero" | |
| #define DIRICHLET_MSGENULLOP "Pointer to ouput vector must be non-null" | | #define DIRICHLETH_MSGESIZE "Length parameter less than or equal to ze | |
| #define DIRICHLET_MSGESIZEMM "Length of output vector must agree with leng | | ro" | |
| th specified in input parameters" | | #define DIRICHLETH_MSGEDELTAX "Spacing of x values less than or equal to | |
| #define DIRICHLET_MSGENULLD "Pointer to data member of output vector must | | zero" | |
| be non-null" | | #define DIRICHLETH_MSGENULLPOUT "Null pointer to ouput vector" | |
| | | #define DIRICHLETH_MSGESIZEMM "Length of data member of output vector do | |
| | | es not equal length specified in input parameters" | |
| | | #define DIRICHLETH_MSGENULLPDOUT "Null pointer to data member of output vec | |
| | | tor" | |
| | | | |
| | | /************************************ </lalErrTable> */ | |
| | | | |
| typedef struct tagDirichletParameters{ | | typedef struct tagDirichletParameters{ | |
|
| INT4 n; /* LALDirichlet parameter N */ | | UINT4 n; /* LALDirichlet parameter N */ | |
| INT4 length; /* specified length of output vector */ | | UINT4 length; /* specified length of output vector */ | |
| REAL8 deltaX; /* spacing of x values */ | | REAL8 deltaX; /* spacing of x values */ | |
| } DirichletParameters; | | } DirichletParameters; | |
| | | | |
| void | | void | |
|
| LALDirichlet ( LALStatus*, REAL4Vector*, DirichletParameters* ); | | LALDirichlet(LALStatus*, | |
| | | REAL4Vector*, | |
| | | const DirichletParameters*); | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| } | | } | |
|
| #endif | | #endif /* C++ protection */ | |
| | | | |
| #endif /* _DIRICHLET_H */ | | #endif /* _DIRICHLET_H */ | |
| | | | |
End of changes. 8 change blocks. |
| 51 lines changed or deleted | | 84 lines changed or added | |
|
| FrameData.h | | FrameData.h | |
|
| /*----------------------------------------------------------------------- | | #if 0 /* autodoc block */ | |
| * | | | |
| * File Name: FrameData.h | | <lalVerbatim file="FrameDataHV"> | |
| * | | $Id: FrameData.h,v 1.5 2001/02/23 23:46:25 jolien Exp $ | |
| * Author: Creighton, J. D. E. | | </lalVerbatim> | |
| * | | | |
| * Revision: $Id: FrameData.h,v 1.3 2000/07/23 01:13:42 jolien Exp $ | | <lalLaTeX> | |
| * | | | |
| *----------------------------------------------------------------------- | | \section{Header \texttt{FrameData.h}} | |
| */ | | \label{s:FrameData.h} | |
| | | | |
| | | Root finding routines. | |
| | | | |
| | | \subsection*{Synopsis} | |
| | | \begin{verbatim} | |
| | | #include <lal/FrameData.h> | |
| | | \end{verbatim} | |
| | | | |
| | | \noindent Gets IFO\_DMRO data from frame files. | |
| | | | |
| | | </lalLaTeX> | |
| | | | |
| | | #endif /* autodoc block */ | |
| | | | |
| #ifndef _FRAMEDATA_H | | #ifndef _FRAMEDATA_H | |
| #define _FRAMEDATA_H | | #define _FRAMEDATA_H | |
| | | | |
|
| #include "LALDatatypes.h" | | #include <lal/LALDatatypes.h> | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| extern "C" { | | extern "C" { | |
| #endif | | #endif | |
| | | | |
|
| NRCSID (FRAMEDATAH, "$Id: FrameData.h,v 1.3 2000/07/23 01:13:42 jolien Exp
$"); | | NRCSID (FRAMEDATAH, "$Id: FrameData.h,v 1.5 2001/02/23 23:46:25 jolien Exp
$"); | |
| | | | |
|
| #define FRAMEDATA_ENULL 1 | | #if 0 /* autodoc block */ | |
| #define FRAMEDATA_ENNUL 2 | | | |
| #define FRAMEDATA_EREAD 4 | | <lalLaTeX> | |
| #define FRAMEDATA_EOPEN 8 | | \subsection*{Error conditions} | |
| #define FRAMEDATA_ENOSS 16 | | \input{FrameDataHErrTab} | |
| #define FRAMEDATA_EDMRO 32 | | </lalLaTeX> | |
| #define FRAMEDATA_ELOCK 64 | | | |
| #define FRAMEDATA_ELOHI 128 | | <lalErrTable file="FrameDataHErrTab"> | |
| #define FRAMEDATA_ESIZE 256 | | | |
| #define FRAMEDATA_ESSSZ 512 | | #endif /* autodoc block */ | |
| | | | |
| #define FRAMEDATA_MSGENULL "Null pointer" | | #define FRAMEDATAH_ENULL 1 | |
| #define FRAMEDATA_MSGENNUL "Non-null pointer" | | #define FRAMEDATAH_ENNUL 2 | |
| #define FRAMEDATA_MSGEREAD "Error reading frame directory" | | #define FRAMEDATAH_EREAD 4 | |
| #define FRAMEDATA_MSGEOPEN "Error opening frame file" | | #define FRAMEDATAH_EOPEN 8 | |
| #define FRAMEDATA_MSGENOSS "No sweptsine calibration data in frame" | | #define FRAMEDATAH_ENOSS 16 | |
| #define FRAMEDATA_MSGEDMRO "No IFO_DMRO data in frame" | | #define FRAMEDATAH_EDMRO 32 | |
| #define FRAMEDATA_MSGELOCK "No IFO_Lock data in frame" | | #define FRAMEDATAH_ELOCK 64 | |
| #define FRAMEDATA_MSGELOHI "No locklo/lockhi data in frame" | | #define FRAMEDATAH_ELOHI 128 | |
| #define FRAMEDATA_MSGESIZE "Invalid vector length" | | #define FRAMEDATAH_ESIZE 256 | |
| #define FRAMEDATA_MSGESSSZ "Bad sweptsine calibration data" | | #define FRAMEDATAH_ESSSZ 512 | |
| | | | |
| | | #define FRAMEDATAH_MSGENULL "Null pointer" | |
| | | #define FRAMEDATAH_MSGENNUL "Non-null pointer" | |
| | | #define FRAMEDATAH_MSGEREAD "Error reading frame directory" | |
| | | #define FRAMEDATAH_MSGEOPEN "Error opening frame file" | |
| | | #define FRAMEDATAH_MSGENOSS "No sweptsine calibration data in frame" | |
| | | #define FRAMEDATAH_MSGEDMRO "No IFO-DMRO data in frame" | |
| | | #define FRAMEDATAH_MSGELOCK "No IFO-Lock data in frame" | |
| | | #define FRAMEDATAH_MSGELOHI "No locklo/lockhi data in frame" | |
| | | #define FRAMEDATAH_MSGESIZE "Invalid vector length" | |
| | | #define FRAMEDATAH_MSGESSSZ "Bad sweptsine calibration data" | |
| | | | |
| | | #if 0 /* autodoc block */ | |
| | | | |
| | | </lalErrTable> | |
| | | | |
| | | <lalLaTeX> | |
| | | | |
| | | \subsection*{Structures} | |
| | | | |
| | | \begin{verbatim} | |
| | | typedef struct | |
| | | tagFrameData | |
| | | { | |
| | | INT4 inLock; | |
| | | INT4 endOfData; | |
| | | INT4 newLock; | |
| | | INT4 newCalibration; | |
| | | /* ... private data ... */ | |
| | | } | |
| | | FrameData; | |
| | | \end{verbatim} | |
| | | | |
| | | This is the frame data parameter structure: think of it as something like a | |
| | | file pointer to the frame data. The ``public'' fields are: | |
| | | | |
| | | \begin{description} | |
| | | \item[\texttt{inLock}] Boolean that user should set to non-zero if data tha | |
| | | t | |
| | | is not ``in lock'' according to the IFO\_Lock channel is desired. | |
| | | \item[\texttt{endOfData}] Boolean that is non-zero if there is no more data | |
| | | . | |
| | | \item[\texttt{newLock}] Boolean that is non-zero if starting a new locked | |
| | | section of data. | |
| | | \item[\texttt{newCalibration}] Boolean that is non-zero if new calibration | |
| | | data | |
| | | is available. | |
| | | \end{description} | |
| | | | |
| | | </lalLaTeX> | |
| | | | |
| | | #endif /* autodoc block */ | |
| | | | |
| typedef struct | | typedef struct | |
| tagFrameData | | tagFrameData | |
| { | | { | |
| /* | | /* | |
| * | | * | |
| * public data: | | * public data: | |
| * | | * | |
| */ | | */ | |
| INT4 inLock; /* data aquisition mode */ | | INT4 inLock; /* data aquisition mode */ | |
| | | | |
| skipping to change at line 88 | | skipping to change at line 150 | |
| INT4 numLock; | | INT4 numLock; | |
| INT4 curLock; | | INT4 curLock; | |
| INT4 ratio; | | INT4 ratio; | |
| REAL8 sampleRate; | | REAL8 sampleRate; | |
| INT2 lockLow; | | INT2 lockLow; | |
| INT2 lockHigh; | | INT2 lockHigh; | |
| INT4 dataBreak; | | INT4 dataBreak; | |
| } | | } | |
| FrameData; | | FrameData; | |
| | | | |
|
| | | #if 0 /* autodoc block */ | |
| | | | |
| | | <lalLaTeX> | |
| | | \newpage\input{FrameDataC} | |
| | | </lalLaTeX> | |
| | | | |
| | | #endif /* autodoc block */ | |
| | | | |
| void | | void | |
| LALInitializeFrameData ( | | LALInitializeFrameData ( | |
| LALStatus *status, | | LALStatus *status, | |
| FrameData **frameData, | | FrameData **frameData, | |
| CHAR *framePath | | CHAR *framePath | |
| ); | | ); | |
| | | | |
| void | | void | |
| LALFinalizeFrameData ( | | LALFinalizeFrameData ( | |
| LALStatus *status, | | LALStatus *status, | |
| | | | |
| skipping to change at line 115 | | skipping to change at line 185 | |
| FrameData *frameData | | FrameData *frameData | |
| ); | | ); | |
| | | | |
| void | | void | |
| LALGetFrameDataResponse ( | | LALGetFrameDataResponse ( | |
| LALStatus *status, | | LALStatus *status, | |
| COMPLEX8FrequencySeries *response, | | COMPLEX8FrequencySeries *response, | |
| FrameData *frameData | | FrameData *frameData | |
| ); | | ); | |
| | | | |
|
| | | #if 0 /* autodoc block */ | |
| | | | |
| | | <lalLaTeX> | |
| | | \newpage\input{FrameDataTestC} | |
| | | </lalLaTeX> | |
| | | | |
| | | #endif /* autodoc block */ | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| } | | } | |
| #endif | | #endif | |
| | | | |
| #endif /* _FRAMEDATA_H */ | | #endif /* _FRAMEDATA_H */ | |
| | | | |
End of changes. 6 change blocks. |
| 33 lines changed or deleted | | 114 lines changed or added | |
|
| IIRFilter.h | | IIRFilter.h | |
| /************************************ <lalVerbatim file="IIRFilterHV"> | | /************************************ <lalVerbatim file="IIRFilterHV"> | |
| Author: Creighton, T. D. | | Author: Creighton, T. D. | |
|
| $Id: IIRFilter.h,v 1.4 2000/07/23 01:15:14 jolien Exp $ | | $Id: IIRFilter.h,v 1.8 2001/08/21 04:19:53 jolien Exp $ | |
| ************************************* </lalVerbatim> */ | | **************************************************** </lalVerbatim> */ | |
| | | | |
|
| /* <lalLaTeX> | | /********************************************************** <lalLaTeX> | |
| | | | |
| \section{Header \texttt{IIRFilter.h}} | | \section{Header \texttt{IIRFilter.h}} | |
| \label{s:IIRFilter.h} | | \label{s:IIRFilter.h} | |
| | | | |
| Provides routines to make and apply IIR filters. | | Provides routines to make and apply IIR filters. | |
| | | | |
| \subsection*{Synopsis} | | \subsection*{Synopsis} | |
| \begin{verbatim} | | \begin{verbatim} | |
|
| #include "IIRFilter.h" | | #include <lal/IIRFilter.h> | |
| \end{verbatim} | | \end{verbatim} | |
| | | | |
| \noindent This header covers routines that create, destroy, and apply | | \noindent This header covers routines that create, destroy, and apply | |
| generic time-domain filters, given by objects of type | | generic time-domain filters, given by objects of type | |
| \verb@<datatype>IIRFilter@, where \verb@<datatype>@ is either | | \verb@<datatype>IIRFilter@, where \verb@<datatype>@ is either | |
| \verb@REAL4@ or \verb@REAL8@. | | \verb@REAL4@ or \verb@REAL8@. | |
| | | | |
| An IIR (Infinite Impulse Response) filter is a generalized linear | | An IIR (Infinite Impulse Response) filter is a generalized linear | |
| causal time-domain filter, in which the filter output $y_n=y(t_n)$ at | | causal time-domain filter, in which the filter output $y_n=y(t_n)$ at | |
| any sampled time $t_n=t_0+n\Delta t$ is a linear combination of the | | any sampled time $t_n=t_0+n\Delta t$ is a linear combination of the | |
| | | | |
| skipping to change at line 65 | | skipping to change at line 65 | |
| feeding data point by point to the filter, the filter needs only | | feeding data point by point to the filter, the filter needs only | |
| ``remember'' the previous $M$ or $N$ (whichever is larger) values of | | ``remember'' the previous $M$ or $N$ (whichever is larger) values of | |
| $w$, rather than remembering the previous $M$ values of $x$ \emph{and} | | $w$, rather than remembering the previous $M$ values of $x$ \emph{and} | |
| the previous $N$ values of $y$. Second, when filtering a large stored | | the previous $N$ values of $y$. Second, when filtering a large stored | |
| data vector, the filter response can be computed in place: one first | | data vector, the filter response can be computed in place: one first | |
| runs forward through the vector replacing $x$ with $w$, and then | | runs forward through the vector replacing $x$ with $w$, and then | |
| backward replacing $w$ with $y$. | | backward replacing $w$ with $y$. | |
| | | | |
| Although the IIR filters in these routines are explicitly real, one | | Although the IIR filters in these routines are explicitly real, one | |
| can consider formally their complex response. A sinusoidal input can | | can consider formally their complex response. A sinusoidal input can | |
|
| thus be written as $x_n=X\exp(2\pi ifn\Delta t)=z^n$, where $X$ is a | | thus be written as $x_n=X\exp(2\pi ifn\Delta t)=Xz^n$, where $X$ is a | |
| complex amplitude and $z=\exp(2\pi if\Delta t)$ is a complex | | complex amplitude and $z=\exp(2\pi if\Delta t)$ is a complex | |
| parametrization of the frequency. By linearity, the output must also | | parametrization of the frequency. By linearity, the output must also | |
|
| be sinusoidal: $y_m=Y\exp(2\pi ifm\Delta t)=z^m$. Putting these into | | be sinusoidal: $y_m=Y\exp(2\pi ifm\Delta t)=Yz^m$. Putting these into | |
| the bilinear equation, one can easily compute the filter's complex | | the bilinear equation, one can easily compute the filter's complex | |
| transfer function: | | transfer function: | |
| $$ | | $$ | |
| T(z) = \frac{Y}{X} = \frac{\sum_{k=0}^M c_k z^{-k}} | | T(z) = \frac{Y}{X} = \frac{\sum_{k=0}^M c_k z^{-k}} | |
| {1 - \sum_{l=1}^N d_l z^{-l}} | | {1 - \sum_{l=1}^N d_l z^{-l}} | |
| $$ | | $$ | |
| This can be readily converted to and from the ``zeros, poles, gain'' | | This can be readily converted to and from the ``zeros, poles, gain'' | |
| representation of a filter, which expresses $T(z)$ as a factored | | representation of a filter, which expresses $T(z)$ as a factored | |
| rational function of $z$. | | rational function of $z$. | |
| | | | |
| It should also be noted that, in the routines covered by this header, | | It should also be noted that, in the routines covered by this header, | |
| I have adopted the convention of including a redundant recursive | | I have adopted the convention of including a redundant recursive | |
| coefficient $d_0$, in order to make the indexing more intuitive. For | | coefficient $d_0$, in order to make the indexing more intuitive. For | |
| formal correctness $d_0$ should be set to $-1$, although the filtering | | formal correctness $d_0$ should be set to $-1$, although the filtering | |
| routines never actually use this coefficient. | | routines never actually use this coefficient. | |
| | | | |
|
| </lalLaTeX> */ | | ******************************************************* </lalLaTeX> */ | |
| | | | |
| #ifndef _IIRFILTER_H | | #ifndef _IIRFILTER_H | |
| #define _IIRFILTER_H | | #define _IIRFILTER_H | |
| | | | |
|
| #include "LALStdlib.h" | | #include <lal/LALStdlib.h> | |
| #include "ZPGFilter.h" | | #include <lal/ZPGFilter.h> | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| extern "C" { | | extern "C" { | |
|
| | | #pragma } | |
| #endif | | #endif | |
| | | | |
|
| NRCSID(IIRFILTERH,"$Id: IIRFilter.h,v 1.4 2000/07/23 01:15:14 jolien Exp $" | | NRCSID(IIRFILTERH,"$Id: IIRFilter.h,v 1.8 2001/08/21 04:19:53 jolien Exp $" | |
| ); | | ); | |
| | | | |
| /* <lalLaTeX> | | | |
| | | | |
|
| | | /********************************************************** <lalLaTeX> | |
| \subsection*{Error conditions} | | \subsection*{Error conditions} | |
|
| | | ****************************************** </lalLaTeX><lalErrTable> */ | |
| %\begin{tabular}{|c|l|l|} | | #define IIRFILTERH_ENUL 1 | |
| %\hline | | #define IIRFILTERH_EOUT 2 | |
| %status & status & Explanation \\ | | #define IIRFILTERH_EMEM 3 | |
| % code & description & \\ | | #define IIRFILTERH_EPAIR 4 | |
| %\hline | | | |
| %\tt 1 & \tt Null pointer & Missing a required pointer. | | #define IIRFILTERH_MSGENUL "Unexpected null pointer in arguments" | |
| \\ | | #define IIRFILTERH_MSGEOUT "Output handle points to a non-null pointer" | |
| %\tt 2 & \tt Output already exists & Can't allocate to a non-null pointe | | #define IIRFILTERH_MSGEMEM "Memory allocation error" | |
| r. \\ | | #define IIRFILTERH_MSGEPAIR "Input has unpaired nonreal poles or zeros" | |
| %\tt 3 & \tt Memory allocation error & Could not allocate memory. | | /******************************************** </lalErrTable><lalLaTeX> | |
| \\ | | | |
| %\tt 4 & \tt Input has unpaired & For real filters, complex poles or | | \subsection*{Types} | |
| \\ | | | |
| % & \tt nonreal poles or zeros & zeros must come in conjugate pairs. | | \subsubsection*{Structure \texttt{<datatype>IIRFilter}} | |
| \\ | | \idx[Type]{REAL4IIRFilter} | |
| %\hline | | \idx[Type]{REAL8IIRFilter} | |
| %\end{tabular} | | | |
| | | This structure stores the direct and recursive filter coefficients, as | |
| LALStatus codes are represented by the symbol | | well as the history of the auxiliary sequence $w$. \verb@<datatype>@ | |
| \verb@IIRFILTERH_E@\textit{name}. LALStatus descriptions are represented | | may be \verb@REAL4@ or \verb@REAL8@. The length of the history vector | |
| by the symbol \verb@IIRFILTERH_MSGE@\textit{name}. | | gives the order of the filter. The fields are: | |
| | | | |
| \begin{center} | | | |
| \begin{tabular}{|lcp{4.5in}|} | | | |
| \hline | | | |
| \it name & code & description \\ | | | |
| \hline | | | |
| \tt NUL & 1 & \vspace{-1.4ex}\tt "Arguments contain an unexpected null poi | | | |
| nter" \\ | | | |
| \tt OUT & 2 & \vspace{-1.4ex}\tt "Output already exists; cannot allocate m | | | |
| emory to a non-null pointer" \\ | | | |
| \tt MEM & 3 & \vspace{-1.4ex}\tt "Memory allocation failed" \\ | | | |
| \tt PAIR & 4 & \vspace{-1.4ex}\tt "Input contains nonreal poles or zeros th | | | |
| at do not have complex conjugate pairs" \\ | | | |
| \hline | | | |
| \end{tabular} | | | |
| \end{center} | | | |
| | | | |
| </lalLaTeX> */ | | | |
| | | | |
| /* <lalVerbati***> */ | | | |
| /* Missing a required pointer. */ | | | |
| #define IIRFILTER_ENUL 1 | | | |
| #define IIRFILTER_MSGENUL "Null pointer" | | | |
| | | | |
| /* Can't allocate to a non-null pointer. */ | | | |
| #define IIRFILTER_EOUT 2 | | | |
| #define IIRFILTER_MSGEOUT "Output already exists" | | | |
| | | | |
| /* Could not allocate memory. */ | | | |
| #define IIRFILTER_EMEM 3 | | | |
| #define IIRFILTER_MSGEMEM "Memory allocation error" | | | |
| | | | |
| /* For real filters, complex poles or zeros must come in conjugate pairs. * | | | |
| / | | | |
| #define IIRFILTER_EPAIR 4 | | | |
| #define IIRFILTER_MSGEPAIR "Input has unpaired nonreal poles or zeros" | | | |
| /* </lalVerbati***> */ | | | |
| | | | |
| /* <lalLaTeX> | | | |
| | | | |
| \subsection*{Structures} | | | |
| \begin{verbatim} | | | |
| <datatype>IIRFilter | | | |
| \end{verbatim} | | | |
| \index{\verb&REAL4IIRFilter&} | | | |
| \index{\verb&REAL8IIRFilter&} | | | |
| | | | |
| \noindent This structure stores the direct and recursive filter | | | |
| coefficients, as well as the history of the auxiliary sequence $w$. | | | |
| \verb@<datatype>@ may be \verb@REAL4@ or \verb@REAL8@. The length of | | | |
| the history vector gives the order of the filter. The fields are: | | | |
| | | | |
| \begin{description} | | \begin{description} | |
| \item[\texttt{CHAR *name}] A user-assigned name. | | \item[\texttt{CHAR *name}] A user-assigned name. | |
| | | | |
|
| | | \item[\texttt{REAL8 deltaT}] The sampling time interval of the filter. | |
| | | If $\leq0$, it will be ignored (i.e.\ it will be taken from the data | |
| | | stream). | |
| | | | |
| \item[\texttt{<datatype>Vector *directCoef}] The direct filter | | \item[\texttt{<datatype>Vector *directCoef}] The direct filter | |
| coefficients. | | coefficients. | |
| | | | |
| \item[\texttt{<datatype>Vector *recursCoef}] The recursive filter | | \item[\texttt{<datatype>Vector *recursCoef}] The recursive filter | |
| coefficients. | | coefficients. | |
| | | | |
| \item[\texttt{<datatype>Vector *history}] The previous values of $w$. | | \item[\texttt{<datatype>Vector *history}] The previous values of $w$. | |
| \end{description} | | \end{description} | |
| | | | |
|
| </lalLaTeX> */ | | ******************************************************* </lalLaTeX> */ | |
| | | | |
| typedef struct tagREAL4IIRFilter{ | | typedef struct tagREAL4IIRFilter{ | |
| CHAR *name; /* User assigned name. */ | | CHAR *name; /* User assigned name. */ | |
|
| | | REAL8 deltaT; /* Sampling time interval. */ | |
| REAL4Vector *directCoef; /* The direct filter coefficients. */ | | REAL4Vector *directCoef; /* The direct filter coefficients. */ | |
| REAL4Vector *recursCoef; /* The recursive filter coefficients. */ | | REAL4Vector *recursCoef; /* The recursive filter coefficients. */ | |
| REAL4Vector *history; /* The previous values of w. */ | | REAL4Vector *history; /* The previous values of w. */ | |
| } REAL4IIRFilter; | | } REAL4IIRFilter; | |
| | | | |
| typedef struct tagREAL8IIRFilter{ | | typedef struct tagREAL8IIRFilter{ | |
| CHAR *name; /* User assigned name. */ | | CHAR *name; /* User assigned name. */ | |
|
| | | REAL8 deltaT; /* Sampling time interval. */ | |
| REAL8Vector *directCoef; /* The direct filter coefficients. */ | | REAL8Vector *directCoef; /* The direct filter coefficients. */ | |
| REAL8Vector *recursCoef; /* The recursive filter coefficients. */ | | REAL8Vector *recursCoef; /* The recursive filter coefficients. */ | |
| REAL8Vector *history; /* The previous values of w. */ | | REAL8Vector *history; /* The previous values of w. */ | |
| } REAL8IIRFilter; | | } REAL8IIRFilter; | |
| | | | |
| /* <lalLaTeX> | | /* <lalLaTeX> | |
| \vfill{\footnotesize\input{IIRFilterHV}} | | \vfill{\footnotesize\input{IIRFilterHV}} | |
| </lalLaTeX> */ | | </lalLaTeX> */ | |
| | | | |
| /* Function prototypes. */ | | /* Function prototypes. */ | |
| | | | |
| /* <lalLaTeX> | | /* <lalLaTeX> | |
| \newpage\input{CreateIIRFilterC} | | \newpage\input{CreateIIRFilterC} | |
| </lalLaTeX> */ | | </lalLaTeX> */ | |
|
| void LALCreateREAL4IIRFilter(LALStatus *stat, | | void | |
| REAL4IIRFilter **output, | | LALCreateREAL4IIRFilter( LALStatus *stat, | |
| COMPLEX8ZPGFilter *input); | | REAL4IIRFilter **output, | |
| | | COMPLEX8ZPGFilter *input ); | |
| void LALCreateREAL8IIRFilter(LALStatus *stat, | | | |
| REAL8IIRFilter **output, | | void | |
| COMPLEX16ZPGFilter *input); | | LALCreateREAL8IIRFilter( LALStatus *stat, | |
| | | REAL8IIRFilter **output, | |
| | | COMPLEX16ZPGFilter *input ); | |
| | | | |
| /* <lalLaTeX> | | /* <lalLaTeX> | |
| \newpage\input{DestroyIIRFilterC} | | \newpage\input{DestroyIIRFilterC} | |
| </lalLaTeX> */ | | </lalLaTeX> */ | |
|
| void LALDestroyREAL4IIRFilter(LALStatus *stat, | | void | |
| REAL4IIRFilter **input); | | LALDestroyREAL4IIRFilter( LALStatus *stat, | |
| | | REAL4IIRFilter **input ); | |
| void LALDestroyREAL8IIRFilter(LALStatus *stat, | | | |
| REAL8IIRFilter **input); | | void | |
| | | LALDestroyREAL8IIRFilter( LALStatus *stat, | |
| | | REAL8IIRFilter **input ); | |
| | | | |
| /* <lalLaTeX> | | /* <lalLaTeX> | |
| \newpage\input{IIRFilterC} | | \newpage\input{IIRFilterC} | |
| </lalLaTeX> */ | | </lalLaTeX> */ | |
|
| void LALIIRFilterREAL4(LALStatus *stat, | | void | |
| REAL4 *output, | | LALIIRFilterREAL4( LALStatus *stat, | |
| REAL4 input, | | REAL4 *output, | |
| REAL4IIRFilter *filter); | | REAL4 input, | |
| | | REAL4IIRFilter *filter ); | |
| void LALIIRFilterREAL8(LALStatus *stat, | | | |
| REAL8 *output, | | void | |
| REAL8 input, | | LALIIRFilterREAL8( LALStatus *stat, | |
| REAL8IIRFilter *filter); | | REAL8 *output, | |
| | | REAL8 input, | |
| | | REAL8IIRFilter *filter ); | |
| | | | |
|
| REAL4 LALSIIRFilter(REAL4 x, REAL4IIRFilter *filter); | | REAL4 | |
| | | LALSIIRFilter( REAL4 x, REAL4IIRFilter *filter ); | |
| | | | |
|
| REAL8 LALDIIRFilter(REAL8 x, REAL8IIRFilter *filter); | | REAL8 | |
| | | LALDIIRFilter( REAL8 x, REAL8IIRFilter *filter ); | |
| | | | |
| /* <lalLaTeX> | | /* <lalLaTeX> | |
| \newpage\input{IIRFilterVectorC} | | \newpage\input{IIRFilterVectorC} | |
| </lalLaTeX> */ | | </lalLaTeX> */ | |
|
| void LALIIRFilterREAL4Vector(LALStatus *stat, | | void | |
| REAL4Vector *vector, | | LALIIRFilterREAL4Vector( LALStatus *stat, | |
| REAL4IIRFilter *filter); | | REAL4Vector *vector, | |
| | | REAL4IIRFilter *filter ); | |
| void LALIIRFilterREAL8Vector(LALStatus *stat, | | | |
| REAL8Vector *vector, | | void | |
| REAL8IIRFilter *filter); | | LALIIRFilterREAL8Vector( LALStatus *stat, | |
| | | REAL8Vector *vector, | |
| | | REAL8IIRFilter *filter ); | |
| | | | |
| /* <lalLaTeX> | | /* <lalLaTeX> | |
| \newpage\input{IIRFilterVectorRC} | | \newpage\input{IIRFilterVectorRC} | |
| </lalLaTeX> */ | | </lalLaTeX> */ | |
|
| void LALIIRFilterREAL4VectorR(LALStatus *stat, | | void | |
| REAL4Vector *vector, | | LALIIRFilterREAL4VectorR( LALStatus *stat, | |
| REAL4IIRFilter *filter); | | REAL4Vector *vector, | |
| | | REAL4IIRFilter *filter ); | |
| void LALIIRFilterREAL8VectorR(LALStatus *stat, | | | |
| REAL8Vector *vector, | | void | |
| REAL8IIRFilter *filter); | | LALIIRFilterREAL8VectorR( LALStatus *stat, | |
| | | REAL8Vector *vector, | |
| | | REAL8IIRFilter *filter ); | |
| | | | |
| /* <lalLaTeX> | | /* <lalLaTeX> | |
| \newpage\input{IIRFilterTestC} | | \newpage\input{IIRFilterTestC} | |
| </lalLaTeX> */ | | </lalLaTeX> */ | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
|
| | | #pragma { | |
| } | | } | |
| #endif | | #endif | |
| | | | |
| #endif /* _IIRFILTER_H */ | | #endif /* _IIRFILTER_H */ | |
| | | | |
End of changes. 23 change blocks. |
| 124 lines changed or deleted | | 92 lines changed or added | |
|
| Integrate.h | | Integrate.h | |
|
| /*----------------------------------------------------------------------- | | #if 0 /* autodoc block */ | |
| * | | | |
| * File Name: Integrate.h | | <lalVerbatim file="IntegrateHV"> | |
| * | | $Id: Integrate.h,v 1.6 2001/02/22 00:27:08 jolien Exp $ | |
| * Revision: $Id: Integrate.h,v 1.4 2000/07/23 01:15:53 jolien Exp $ | | </lalVerbatim> | |
| * | | | |
| *----------------------------------------------------------------------- | | <lalLaTeX> | |
| */ | | | |
| | | \section{Header \texttt{Integrate.h}} | |
| | | \label{s:Integrate.h} | |
| | | | |
| | | Integrates a function. | |
| | | | |
| | | \subsection*{Synopsis} | |
| | | \begin{verbatim} | |
| | | #include <lal/Integrate.h> | |
| | | \end{verbatim} | |
| | | | |
| | | \noindent This header covers the routines for integrating a function. | |
| | | | |
| | | </lalLaTeX> | |
| | | | |
| | | #endif /* autodoc block */ | |
| | | | |
| #ifndef _INTEGRATE_H | | #ifndef _INTEGRATE_H | |
| #define _INTEGRATE_H | | #define _INTEGRATE_H | |
| | | | |
|
| #include "LALDatatypes.h" | | #include <lal/LALDatatypes.h> | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| extern "C" { | | extern "C" { | |
| #endif | | #endif | |
| | | | |
|
| NRCSID (INTEGRATEH, "$Id: Integrate.h,v 1.4 2000/07/23 01:15:53 jolien Exp | | NRCSID (INTEGRATEH, "$Id: Integrate.h,v 1.6 2001/02/22 00:27:08 jolien Exp | |
| $"); | | $"); | |
| | | | |
| | | #if 0 /* autodoc block */ | |
| | | | |
| | | <lalLaTeX> | |
| | | \subsection*{Error conditions} | |
| | | \input{IntegrateHErrTab} | |
| | | </lalLaTeX> | |
| | | | |
| | | <lalErrTable file="IntegrateHErrTab"> | |
| | | | |
| | | #endif /* autodoc block */ | |
| | | | |
| | | #define INTEGRATEH_ENULL 1 | |
| | | #define INTEGRATEH_ETYPE 2 | |
| | | #define INTEGRATEH_EIDOM 4 | |
| | | #define INTEGRATEH_EMXIT 8 | |
| | | | |
| | | #define INTEGRATEH_MSGENULL "Null pointer" | |
| | | #define INTEGRATEH_MSGETYPE "Unknown integral type" | |
| | | #define INTEGRATEH_MSGEIDOM "Invalid domain" | |
| | | #define INTEGRATEH_MSGEMXIT "Maximum iterations exceeded" | |
| | | | |
|
| #define INTEGRATE_ENULL 1 | | #if 0 /* autodoc block */ | |
| #define INTEGRATE_ETYPE 2 | | | |
| #define INTEGRATE_EIDOM 4 | | </lalErrTable> | |
| #define INTEGRATE_EMXIT 8 | | | |
| | | <lalLaTeX> | |
| #define INTEGRATE_MSGENULL "Null pointer" | | | |
| #define INTEGRATE_MSGETYPE "Unknown integral type" | | \subsection*{Structures} | |
| #define INTEGRATE_MSGEIDOM "Invalid domain" | | | |
| #define INTEGRATE_MSGEMXIT "Maximum iterations exceeded" | | \begin{verbatim} | |
| | | typedef void (REAL4LALFunction) (LALStatus *s, REAL4 *y, REAL4 x, void *p); | |
| | | typedef void (REAL8LALFunction) (LALStatus *s, REAL8 *y, REAL8 x, void *p); | |
| | | \end{verbatim} | |
| | | | |
| | | These are function pointers to functions that map real numbers to real numb | |
| | | ers. | |
| | | | |
| | | \begin{verbatim} | |
| | | typedef enum | |
| | | { | |
| | | ClosedInterval, | |
| | | OpenInterval, | |
| | | SingularLowerLimit, | |
| | | SingularUpperLimit, | |
| | | InfiniteDomainPow, | |
| | | InfiniteDomainExp | |
| | | } | |
| | | IntegralType; | |
| | | | |
| | | typedef struct | |
| | | tagSIntegrateIn | |
| | | { | |
| | | REAL4LALFunction *function; | |
| | | REAL4 xmax; | |
| | | REAL4 xmin; | |
| | | IntegralType type; | |
| | | } | |
| | | SIntegrateIn; | |
| | | | |
| | | typedef struct | |
| | | tagDIntegrateIn | |
| | | { | |
| | | REAL8LALFunction *function; | |
| | | REAL8 xmax; | |
| | | REAL8 xmin; | |
| | | IntegralType type; | |
| | | } | |
| | | DIntegrateIn; | |
| | | \end{verbatim} | |
| | | | |
| | | These are input structures to the integration routines. The fields are: | |
| | | \begin{description} | |
| | | \item[\texttt{function}] The function to integrate. | |
| | | \item[\texttt{xmax}] The maximum value of the domain of integration. | |
| | | \item[\texttt{xmax}] The minimum value of the domain of integration. | |
| | | \item[\texttt{type}] The type of integration. This is an enumerated type | |
| | | which can take on one of the following values: | |
| | | | |
| | | \noindent | |
| | | \begin{tabular}{|l|l|} | |
| | | \hline | |
| | | Enumeration constant & Meaning \\ | |
| | | \hline | |
| | | \verb+ClosedInterval+ & Evaluate integral on a closed interval \\ | |
| | | \verb+OpenInterval+ & Evaluate integral on an open interval \\ | |
| | | \verb+SingularLowerLimit+ & Integrate an inverse square-root singularity | |
| | | at lower limit \\ | |
| | | \verb+SingularUpperLimit+ & Integrate an inverse square-root singularity | |
| | | at upper limit \\ | |
| | | \verb+InfiniteDomainPow+ & Integrate an infinite domain with power-law f | |
| | | alloff \\ | |
| | | \verb+InfiniteDomainExp+ & Integrate an infinite domain with exponential | |
| | | falloff \\ | |
| | | \hline | |
| | | \end{tabular} | |
| | | | |
| | | \noindent | |
| | | The types of integration are the following: I.\@ \verb+ClosedInterval+ | |
| | | indicates that the integral should be computed on equal-spaced domain | |
| | | intervals including the boundary. II.\@ \verb+OpenInterval+ indicates th | |
| | | at | |
| | | the integral should be computed on intervals of the domain not including | |
| | | the | |
| | | boundary. III.\@ \verb+SingularLowerLimit+ indicates that the integral | |
| | | should be evaluated on an open interval with a transformation so that a | |
| | | inverse-square-root singularity at the lower limit can be integrated. IV | |
| | | .\@ | |
| | | \verb+SingularUpperLimit+ is the same as above but for a singularity at t | |
| | | he | |
| | | upper limit. V.\@ \verb+InfiniteDomainPow+ indicates that the integral | |
| | | should be evaluated over an semi-infinite domain---appropriate when both | |
| | | limits have the same sign (though one is very large) and when the integra | |
| | | nd | |
| | | vanishes faster than $x^{-1}$ at infinity. VI.\@ \verb+InfiniteDomainExp | |
| | | + | |
| | | indicates that the integral should be evaluated over an infinite domain | |
| | | starting at \verb+xmin+ and going to infinity (\verb+xmax+ is ignored)--- | |
| | | the | |
| | | integrand should vanish exponentially for large $x$. | |
| | | \end{description} | |
| | | | |
| | | </lalLaTeX> | |
| | | | |
| | | #endif /* autodoc block */ | |
| | | | |
| typedef void (REAL4LALFunction) (LALStatus *s, REAL4 *y, REAL4 x, void *p); | | typedef void (REAL4LALFunction) (LALStatus *s, REAL4 *y, REAL4 x, void *p); | |
| typedef void (REAL8LALFunction) (LALStatus *s, REAL8 *y, REAL8 x, void *p); | | typedef void (REAL8LALFunction) (LALStatus *s, REAL8 *y, REAL8 x, void *p); | |
| | | | |
| typedef enum | | typedef enum | |
| { | | { | |
| ClosedInterval, /* evaluate integral on a closed interval
*/ | | ClosedInterval, /* evaluate integral on a closed interval
*/ | |
| OpenInterval, /* evaluate integral on an open interval
*/ | | OpenInterval, /* evaluate integral on an open interval
*/ | |
| SingularLowerLimit, /* integrate an inv sqrt singularity at lower limit
*/ | | SingularLowerLimit, /* integrate an inv sqrt singularity at lower limit
*/ | |
| SingularUpperLimit, /* integrate an inv sqrt singularity at upper limit
*/ | | SingularUpperLimit, /* integrate an inv sqrt singularity at upper limit
*/ | |
| | | | |
| skipping to change at line 65 | | skipping to change at line 183 | |
| typedef struct | | typedef struct | |
| tagDIntegrateIn | | tagDIntegrateIn | |
| { | | { | |
| REAL8LALFunction *function; | | REAL8LALFunction *function; | |
| REAL8 xmax; | | REAL8 xmax; | |
| REAL8 xmin; | | REAL8 xmin; | |
| IntegralType type; | | IntegralType type; | |
| } | | } | |
| DIntegrateIn; | | DIntegrateIn; | |
| | | | |
|
| | | #if 0 /* autodoc block */ | |
| | | | |
| | | <lalLaTeX> | |
| | | \newpage\input{IntegrateC} | |
| | | </lalLaTeX> | |
| | | | |
| | | #endif /* autodoc block */ | |
| | | | |
| void | | void | |
| LALSRombergIntegrate ( | | LALSRombergIntegrate ( | |
| LALStatus *status, | | LALStatus *status, | |
| REAL4 *result, | | REAL4 *result, | |
| SIntegrateIn *input, | | SIntegrateIn *input, | |
| void *params | | void *params | |
| ); | | ); | |
| | | | |
| void | | void | |
| LALDRombergIntegrate ( | | LALDRombergIntegrate ( | |
| LALStatus *status, | | LALStatus *status, | |
| REAL8 *result, | | REAL8 *result, | |
| DIntegrateIn *input, | | DIntegrateIn *input, | |
| void *params | | void *params | |
| ); | | ); | |
| | | | |
|
| | | #if 0 /* autodoc block */ | |
| | | | |
| | | <lalLaTeX> | |
| | | \newpage\input{IntegrateTestC} | |
| | | </lalLaTeX> | |
| | | | |
| | | #endif /* autodoc block */ | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| } | | } | |
| #endif | | #endif | |
| | | | |
| #endif /* _INTEGRATE_H */ | | #endif /* _INTEGRATE_H */ | |
| | | | |
End of changes. 6 change blocks. |
| 20 lines changed or deleted | | 166 lines changed or added | |
|
| LALAtomicDatatypes.h | | LALAtomicDatatypes.h | |
| /*************************** <lalVerbatim file="LALAtomicDatatypesHV"> | | /*************************** <lalVerbatim file="LALAtomicDatatypesHV"> | |
|
| Author: Finn, L. S. | | Author: J. D. E. Creighton, T. D. Creighton | |
| $Id: LALAtomicDatatypes.h,v 1.3 2000/06/29 22:42:06 jolien Exp $ | | $Id: LALAtomicDatatypes.h,v 1.5 2001/12/01 22:09:43 jolien Exp $ | |
| **************************** </lalVerbatim> */ | | **************************** </lalVerbatim> */ | |
| | | | |
| /* <lalLaTeX> | | /* <lalLaTeX> | |
| | | | |
| \subsection{Primitive datatypes} | | \subsection{Primitive datatypes} | |
| \label{ss:LALAtomicDatatypes.h} | | \label{ss:LALAtomicDatatypes.h} | |
| | | | |
| The primitive datatypes are defined in a separate header | | The primitive datatypes are defined in a separate header | |
| \verb@LALAtomicDatatypes.h@, which is included by | | \verb@LALAtomicDatatypes.h@, which is included by | |
| \verb@LALDatatypes.h@. This is done in order to facilitate the | | \verb@LALDatatypes.h@. This is done in order to facilitate the | |
| | | | |
| skipping to change at line 99 | | skipping to change at line 99 | |
| used to represent the binary number in decimal notation: the first is | | used to represent the binary number in decimal notation: the first is | |
| the maximum number of digits that are guaranteed not to change upon | | the maximum number of digits that are guaranteed not to change upon | |
| conversion to binary, the second is the number of digits required to | | conversion to binary, the second is the number of digits required to | |
| represent a unique binary quantity. | | represent a unique binary quantity. | |
| | | | |
| </lalLaTeX> */ | | </lalLaTeX> */ | |
| | | | |
| #ifndef _LALATOMICDATATYPES_H | | #ifndef _LALATOMICDATATYPES_H | |
| #define _LALATOMICDATATYPES_H | | #define _LALATOMICDATATYPES_H | |
| | | | |
|
| #ifdef LDAS_BUILD | | | |
| #include "LDASConfig.h" | | | |
| #else | | | |
| #include "LALConfig.h" | | | |
| #include "LALRCSID.h" | | | |
| NRCSID( LALATOMICDATATYPESH, "$Id: LALAtomicDatatypes.h,v 1.3 2000/06/29 22 | | | |
| :42:06 jolien Exp $" ); | | | |
| #endif | | | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| extern "C" { | | extern "C" { | |
| #endif | | #endif | |
| | | | |
| typedef char CHAR; | | typedef char CHAR; | |
| typedef unsigned char UCHAR; | | typedef unsigned char UCHAR; | |
| typedef unsigned char BOOLEAN; | | typedef unsigned char BOOLEAN; | |
| | | | |
|
| | | #ifdef LDAS_BUILD | |
| | | | |
| | | #include <lal/LDASConfig.h> | |
| | | | |
| /* Integer types */ | | /* Integer types */ | |
| | | | |
| #if SIZEOF_SHORT == 2 | | #if SIZEOF_SHORT == 2 | |
| typedef short INT2; | | typedef short INT2; | |
| typedef unsigned short UINT2; | | typedef unsigned short UINT2; | |
| #elif SIZEOF_INT == 2 | | #elif SIZEOF_INT == 2 | |
| typedef int INT2; | | typedef int INT2; | |
| typedef unsigned int UINT2; | | typedef unsigned int UINT2; | |
| #else | | #else | |
| # error "ERROR: NO 2 BYTE INTEGER FOUND" | | # error "ERROR: NO 2 BYTE INTEGER FOUND" | |
| | | | |
| skipping to change at line 161 | | skipping to change at line 157 | |
| #else | | #else | |
| # error "ERROR: NO 4 BYTE REAL FOUND" | | # error "ERROR: NO 4 BYTE REAL FOUND" | |
| #endif | | #endif | |
| | | | |
| #if SIZEOF_DOUBLE == 8 | | #if SIZEOF_DOUBLE == 8 | |
| typedef double REAL8; | | typedef double REAL8; | |
| #else | | #else | |
| # error "ERROR: NO 8 BYTE REAL FOUND" | | # error "ERROR: NO 8 BYTE REAL FOUND" | |
| #endif | | #endif | |
| | | | |
|
| | | #else /* ! LDAS_BUILD */ | |
| | | | |
| | | #include <lal/LALConfig.h> | |
| | | #include <lal/LALRCSID.h> | |
| | | NRCSID( LALATOMICDATATYPESH, "$Id: LALAtomicDatatypes.h,v 1.5 2001/12/01 22 | |
| | | :09:43 jolien Exp $" ); | |
| | | | |
| | | /* Integer types */ | |
| | | | |
| | | #if LAL_SIZEOF_SHORT == 2 | |
| | | typedef short INT2; | |
| | | typedef unsigned short UINT2; | |
| | | #elif LAL_SIZEOF_INT == 2 | |
| | | typedef int INT2; | |
| | | typedef unsigned int UINT2; | |
| | | #else | |
| | | # error "ERROR: NO 2 BYTE INTEGER FOUND" | |
| | | #endif | |
| | | | |
| | | #if LAL_SIZEOF_INT == 4 | |
| | | typedef int INT4; | |
| | | typedef unsigned int UINT4; | |
| | | #elif LAL_SIZEOF_LONG == 4 | |
| | | typedef long INT4; | |
| | | typedef unsigned long UINT4; | |
| | | #else | |
| | | # error "ERROR: NO 4 BYTE INTEGER FOUND" | |
| | | #endif | |
| | | | |
| | | #if LAL_SIZEOF_LONG == 8 | |
| | | typedef long INT8; | |
| | | typedef unsigned long UINT8; | |
| | | #elif LAL_SIZEOF_LONG_LONG == 8 | |
| | | typedef long long INT8; | |
| | | typedef unsigned long long UINT8; | |
| | | #else | |
| | | # error "ERROR: NO 8 BYTE INTEGER FOUND" | |
| | | #endif | |
| | | | |
| | | /* Real types */ | |
| | | | |
| | | #if LAL_SIZEOF_FLOAT == 4 | |
| | | typedef float REAL4; | |
| | | #else | |
| | | # error "ERROR: NO 4 BYTE REAL FOUND" | |
| | | #endif | |
| | | | |
| | | #if LAL_SIZEOF_DOUBLE == 8 | |
| | | typedef double REAL8; | |
| | | #else | |
| | | # error "ERROR: NO 8 BYTE REAL FOUND" | |
| | | #endif | |
| | | | |
| | | #endif /* LDAS_BUILD */ | |
| | | | |
| /* <lalLaTeX> | | /* <lalLaTeX> | |
| | | | |
| \subsubsection*{Complex datatypes} | | \subsubsection*{Complex datatypes} | |
| | | | |
| LAL represents complex numbers as structures with two floating-point | | LAL represents complex numbers as structures with two floating-point | |
| fields, storing the real and imaginary parts. These are considered | | fields, storing the real and imaginary parts. These are considered | |
| primitive datatypes (rather than aggregate or structured datatypes) | | primitive datatypes (rather than aggregate or structured datatypes) | |
| because they conceptually represent a single number. Furthermore, | | because they conceptually represent a single number. Furthermore, | |
| atomic and complex datatypes are treated equivalently by LAL aggregate | | atomic and complex datatypes are treated equivalently by LAL aggregate | |
| and structured datatypes. | | and structured datatypes. | |
| | | | |
End of changes. 4 change blocks. |
| 11 lines changed or deleted | | 61 lines changed or added | |
|
| LALConstants.h | | LALConstants.h | |
| /********************************* <lalVerbatim file="LALConstantsHV"> | | /********************************* <lalVerbatim file="LALConstantsHV"> | |
| Author: Creighton, T. D. | | Author: Creighton, T. D. | |
|
| $Id: LALConstants.h,v 1.4 2000/06/03 21:38:59 jolien Exp $ | | $Id: LALConstants.h,v 1.9 2001/08/21 04:19:52 jolien Exp $ | |
| ********************************** </lalVerbatim> */ | | ********************************** </lalVerbatim> */ | |
| | | | |
| /* <lalLaTeX> | | /* <lalLaTeX> | |
| | | | |
| \section{Header \texttt{LALConstants.h}} | | \section{Header \texttt{LALConstants.h}} | |
| \label{s:LALConstants.h} | | \label{s:LALConstants.h} | |
| | | | |
| Provides standard numerical constants for LAL. | | Provides standard numerical constants for LAL. | |
| | | | |
| \subsection*{Synopsis} | | \subsection*{Synopsis} | |
| \begin{verbatim} | | \begin{verbatim} | |
|
| #include "LALConstants.h" | | #include <lal/LALConstants.h> | |
| \end{verbatim} | | \end{verbatim} | |
| | | | |
| \noindent This header defines a number of useful numerical constants | | \noindent This header defines a number of useful numerical constants | |
| for use in LAL routines. These constants come in three basic | | for use in LAL routines. These constants come in three basic | |
| flavours: arithmetic and mathematical constants, fundamental (or | | flavours: arithmetic and mathematical constants, fundamental (or | |
| defined) physical constants, and measured astrophysical and | | defined) physical constants, and measured astrophysical and | |
| cosmological parameters. | | cosmological parameters. | |
| | | | |
| Note that, unlike the other headers in the \verb@std@ package, this | | Note that, unlike the other headers in the \verb@std@ package, this | |
| header is \emph{not} included automatically by the header | | header is \emph{not} included automatically by the header | |
| \verb@LALStdlib.h@. Include it explicitly if you need any of these | | \verb@LALStdlib.h@. Include it explicitly if you need any of these | |
| constants. | | constants. | |
| | | | |
| </lalLaTeX> */ | | </lalLaTeX> */ | |
| | | | |
| #ifndef _LALCONSTANTS_H | | #ifndef _LALCONSTANTS_H | |
| #define _LALCONSTANTS_H | | #define _LALCONSTANTS_H | |
| | | | |
|
| #include "LALRCSID.h" | | #include <lal/LALRCSID.h> | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| extern "C" { | | extern "C" { | |
| #endif | | #endif | |
| | | | |
|
| NRCSID (LALCONSTANTSH, "$Id: LALConstants.h,v 1.4 2000/06/03 21:38:59 jolie
n Exp $"); | | NRCSID (LALCONSTANTSH, "$Id: LALConstants.h,v 1.9 2001/08/21 04:19:52 jolie
n Exp $"); | |
| | | | |
| /* <lalLaTeX> | | /* <lalLaTeX> | |
| | | | |
| \subsection*{Mathematical constants} | | \subsection*{Mathematical constants} | |
|
| | | \idx[Constant]{LAL\_REAL4\_MANT} | |
| | | \idx[Constant]{LAL\_REAL4\_MAX} | |
| | | \idx[Constant]{LAL\_REAL4\_MIN} | |
| | | \idx[Constant]{LAL\_REAL4\_EPS} | |
| | | \idx[Constant]{LAL\_REAL8\_MANT} | |
| | | \idx[Constant]{LAL\_REAL8\_MAX} | |
| | | \idx[Constant]{LAL\_REAL8\_MIN} | |
| | | \idx[Constant]{LAL\_REAL8\_EPS} | |
| | | \idx[Constant]{LAL\_E} | |
| | | \idx[Constant]{LAL\_LOG2E} | |
| | | \idx[Constant]{LAL\_LOG10E} | |
| | | \idx[Constant]{LAL\_LN2} | |
| | | \idx[Constant]{LAL\_LN10} | |
| | | \idx[Constant]{LAL\_SQRT2} | |
| | | \idx[Constant]{LAL\_SQRT1\_2} | |
| | | \idx[Constant]{LAL\_GAMMA} | |
| | | \idx[Constant]{LAL\_PI} | |
| | | \idx[Constant]{LAL\_TWOPI} | |
| | | \idx[Constant]{LAL\_PI\_2} | |
| | | \idx[Constant]{LAL\_PI\_4} | |
| | | \idx[Constant]{LAL\_1\_PI} | |
| | | \idx[Constant]{LAL\_2\_PI} | |
| | | \idx[Constant]{LAL\_2\_SQRTPI} | |
| | | \idx[Constant]{LAL\_PI\_180} | |
| | | \idx[Constant]{LAL\_180\_PI} | |
| | | | |
| The following constants define the precision and range of | | The following constants define the precision and range of | |
| floating-point arithmetic in LAL. They are taken from the IEEE | | floating-point arithmetic in LAL. They are taken from the IEEE | |
| standard~754 for binary arithmetic. All numbers are dimensionless. | | standard~754 for binary arithmetic. All numbers are dimensionless. | |
| | | | |
| \begin{center} | | \begin{center} | |
| \begin{tabular}{|lll|} | | \begin{tabular}{|lll|} | |
| \hline | | \hline | |
| Name & Value & Description \\ | | Name & Value & Description \\ | |
| \hline | | \hline | |
| | | | |
| skipping to change at line 122 | | skipping to change at line 147 | |
| \tt LAL\_SQRT2 & 1.4142135623730950488016887242096981 & $\sqrt{2}$ \\ | | \tt LAL\_SQRT2 & 1.4142135623730950488016887242096981 & $\sqrt{2}$ \\ | |
| \tt LAL\_SQRT1\_2 & 0.7071067811865475244008443621048490 & $1/\sqrt{2}$ \\ | | \tt LAL\_SQRT1\_2 & 0.7071067811865475244008443621048490 & $1/\sqrt{2}$ \\ | |
| \tt LAL\_GAMMA & 0.5772156649015328606065120900824024 & $\gamma$ \\ | | \tt LAL\_GAMMA & 0.5772156649015328606065120900824024 & $\gamma$ \\ | |
| \tt LAL\_PI & 3.1415926535897932384626433832795029 & $\pi$ \\ | | \tt LAL\_PI & 3.1415926535897932384626433832795029 & $\pi$ \\ | |
| \tt LAL\_TWOPI & 6.2831853071795864769252867665590058 & $2\pi$ \\ | | \tt LAL\_TWOPI & 6.2831853071795864769252867665590058 & $2\pi$ \\ | |
| \tt LAL\_PI\_2 & 1.5707963267948966192313216916397514 & $\pi/2$ \\ | | \tt LAL\_PI\_2 & 1.5707963267948966192313216916397514 & $\pi/2$ \\ | |
| \tt LAL\_PI\_4 & 0.7853981633974483096156608458198757 & $\pi/4$ \\ | | \tt LAL\_PI\_4 & 0.7853981633974483096156608458198757 & $\pi/4$ \\ | |
| \tt LAL\_1\_PI & 0.3183098861837906715377675267450287 & $1/\pi$ \\ | | \tt LAL\_1\_PI & 0.3183098861837906715377675267450287 & $1/\pi$ \\ | |
| \tt LAL\_2\_PI & 0.6366197723675813430755350534900574 & $2/\pi$ \\ | | \tt LAL\_2\_PI & 0.6366197723675813430755350534900574 & $2/\pi$ \\ | |
| \tt LAL\_2\_SQRTPI & 1.1283791670955125738961589031215452 & $2/\sqrt{\pi}$
\\ | | \tt LAL\_2\_SQRTPI & 1.1283791670955125738961589031215452 & $2/\sqrt{\pi}$
\\ | |
|
| | | \tt LAL\_PI\_180 & 1.7453292519943295769236907684886127$\times10^{-2}$ & | |
| | | $\pi/180$ \\ | |
| | | \tt LAL\_180\_PI & 57.295779513082320876798154814105170 & $180/\pi$ \\ | |
| \hline | | \hline | |
| \end{tabular} | | \end{tabular} | |
| \end{center} | | \end{center} | |
| | | | |
| </lalLaTeX> */ | | </lalLaTeX> */ | |
| | | | |
| #define LAL_E 2.7182818284590452353602874713526625L /* e */ | | #define LAL_E 2.7182818284590452353602874713526625L /* e */ | |
| #define LAL_LOG2E 1.4426950408889634073599246810018922L /* log_2 e */ | | #define LAL_LOG2E 1.4426950408889634073599246810018922L /* log_2 e */ | |
| #define LAL_LOG10E 0.4342944819032518276511289189166051L /* log_10 e */ | | #define LAL_LOG10E 0.4342944819032518276511289189166051L /* log_10 e */ | |
| #define LAL_LN2 0.6931471805599453094172321214581766L /* log_e 2 */ | | #define LAL_LN2 0.6931471805599453094172321214581766L /* log_e 2 */ | |
| | | | |
| skipping to change at line 144 | | skipping to change at line 172 | |
| #define LAL_SQRT1_2 0.7071067811865475244008443621048490L /* 1/sqrt(2) *
/ | | #define LAL_SQRT1_2 0.7071067811865475244008443621048490L /* 1/sqrt(2) *
/ | |
| #define LAL_GAMMA 0.5772156649015328606065120900824024L /* gamma */ | | #define LAL_GAMMA 0.5772156649015328606065120900824024L /* gamma */ | |
| /* Assuming we're not near a black hole or in Tennessee... */ | | /* Assuming we're not near a black hole or in Tennessee... */ | |
| #define LAL_PI 3.1415926535897932384626433832795029L /* pi */ | | #define LAL_PI 3.1415926535897932384626433832795029L /* pi */ | |
| #define LAL_TWOPI 6.2831853071795864769252867665590058L /* 2*pi */ | | #define LAL_TWOPI 6.2831853071795864769252867665590058L /* 2*pi */ | |
| #define LAL_PI_2 1.5707963267948966192313216916397514L /* pi/2 */ | | #define LAL_PI_2 1.5707963267948966192313216916397514L /* pi/2 */ | |
| #define LAL_PI_4 0.7853981633974483096156608458198757L /* pi/4 */ | | #define LAL_PI_4 0.7853981633974483096156608458198757L /* pi/4 */ | |
| #define LAL_1_PI 0.3183098861837906715377675267450287L /* 1/pi */ | | #define LAL_1_PI 0.3183098861837906715377675267450287L /* 1/pi */ | |
| #define LAL_2_PI 0.6366197723675813430755350534900574L /* 2/pi */ | | #define LAL_2_PI 0.6366197723675813430755350534900574L /* 2/pi */ | |
| #define LAL_2_SQRTPI 1.1283791670955125738961589031215452L /* 2/sqrt(pi)
*/ | | #define LAL_2_SQRTPI 1.1283791670955125738961589031215452L /* 2/sqrt(pi)
*/ | |
|
| | | #define LAL_PI_180 1.7453292519943295769236907684886127e-2L /* pi/180 */ | |
| | | #define LAL_180_PI 57.295779513082320876798154814105170L /* 180/pi */ | |
| | | | |
| /* <lalLaTeX> | | /* <lalLaTeX> | |
| | | | |
| \subsection*{Physical constants} | | \subsection*{Physical constants} | |
|
| | | \idx[Constant]{LAL\_C\_SI} | |
| | | \idx[Constant]{LAL\_EPSILON0\_SI} | |
| | | \idx[Constant]{LAL\_MU0\_SI} | |
| | | \idx[Constant]{LAL\_GEARTH\_SI} | |
| | | \idx[Constant]{LAL\_PATM\_SI} | |
| | | \idx[Constant]{LAL\_G\_SI} | |
| | | \idx[Constant]{LAL\_H\_SI} | |
| | | \idx[Constant]{LAL\_HBAR\_SI} | |
| | | \idx[Constant]{LAL\_MPL\_SI} | |
| | | \idx[Constant]{LAL\_LPL\_SI} | |
| | | \idx[Constant]{LAL\_TPL\_SI} | |
| | | \idx[Constant]{LAL\_K\_SI} | |
| | | \idx[Constant]{LAL\_R\_SI} | |
| | | \idx[Constant]{LAL\_MOL} | |
| | | \idx[Constant]{LAL\_BWIEN\_SI} | |
| | | \idx[Constant]{LAL\_SIGMA\_SI} | |
| | | \idx[Constant]{LAL\_AMU\_SI} | |
| | | \idx[Constant]{LAL\_MP\_SI} | |
| | | \idx[Constant]{LAL\_ME\_SI} | |
| | | \idx[Constant]{LAL\_QP\_SI} | |
| | | \idx[Constant]{LAL\_ALPHA} | |
| | | \idx[Constant]{LAL\_RE\_SI} | |
| | | \idx[Constant]{LAL\_LAMBDAE\_SI} | |
| | | \idx[Constant]{LAL\_AB\_SI} | |
| | | \idx[Constant]{LAL\_MUB\_SI} | |
| | | \idx[Constant]{LAL\_MUN\_SI} | |
| | | | |
| The following physical constants are defined to have exact values. | | The following physical constants are defined to have exact values. | |
| The values of $c$ and $g$ are taken from~\cite{Barnet:1996}, | | The values of $c$ and $g$ are taken from~\cite{Barnet:1996}, | |
| $p_\mathrm{atm}$ is from~\cite{Lang:1992}, while $\epsilon_0$ and | | $p_\mathrm{atm}$ is from~\cite{Lang:1992}, while $\epsilon_0$ and | |
| $\mu_0$ are computed from $c$ using exact formulae. They are given in | | $\mu_0$ are computed from $c$ using exact formulae. They are given in | |
| the SI units shown. | | the SI units shown. | |
| | | | |
| \begin{center} | | \begin{center} | |
| \begin{tabular}{|lll|} | | \begin{tabular}{|lll|} | |
| \hline | | \hline | |
| | | | |
| skipping to change at line 262 | | skipping to change at line 318 | |
| #define LAL_ALPHA 7.297354677e-3 /* Fine structure constant, dimensionless
*/ | | #define LAL_ALPHA 7.297354677e-3 /* Fine structure constant, dimensionless
*/ | |
| #define LAL_RE_SI 2.81794092e-15 /* Classical electron radius, m */ | | #define LAL_RE_SI 2.81794092e-15 /* Classical electron radius, m */ | |
| #define LAL_LAMBDAE_SI 3.86159323e-13 /* Electron Compton wavelength, m */ | | #define LAL_LAMBDAE_SI 3.86159323e-13 /* Electron Compton wavelength, m */ | |
| #define LAL_AB_SI 5.29177249e-11 /* Bohr radius, m */ | | #define LAL_AB_SI 5.29177249e-11 /* Bohr radius, m */ | |
| #define LAL_MUB_SI 9.27401543e-24 /* Bohr magneton, J T^-1 */ | | #define LAL_MUB_SI 9.27401543e-24 /* Bohr magneton, J T^-1 */ | |
| #define LAL_MUN_SI 5.05078658e-27 /* Nuclear magneton, J T^-1 */ | | #define LAL_MUN_SI 5.05078658e-27 /* Nuclear magneton, J T^-1 */ | |
| | | | |
| /* <lalLaTeX> | | /* <lalLaTeX> | |
| | | | |
| \subsection*{Astrophysical parameters} | | \subsection*{Astrophysical parameters} | |
|
| | | \idx[Constant]{LAL\_REARTH\_SI} | |
| | | \idx[Constant]{LAL\_AWGS84\_SI} | |
| | | \idx[Constant]{LAL\_BWGS84\_SI} | |
| | | \idx[Constant]{LAL\_MEARTH\_SI} | |
| | | \idx[Constant]{LAL\_IEARTH} | |
| | | \idx[Constant]{LAL\_EEARTH} | |
| | | \idx[Constant]{LAL\_RSUN\_SI} | |
| | | \idx[Constant]{LAL\_MSUN\_SI} | |
| | | \idx[Constant]{LAL\_MRSUN\_SI} | |
| | | \idx[Constant]{LAL\_MTSUN\_SI} | |
| | | \idx[Constant]{LAL\_LSUN\_SI} | |
| | | \idx[Constant]{LAL\_AU\_SI} | |
| | | \idx[Constant]{LAL\_PC\_SI} | |
| | | \idx[Constant]{LAL\_YRTROP\_SI} | |
| | | \idx[Constant]{LAL\_YRSID\_SI} | |
| | | \idx[Constant]{LAL\_DAYSID\_SI} | |
| | | \idx[Constant]{LAL\_LYR\_SI} | |
| | | \idx[Constant]{LAL\_H0\_SI} | |
| | | \idx[Constant]{LAL\_H0FAC\_SI} | |
| | | \idx[Constant]{LAL\_RHOC\_SI} | |
| | | \idx[Constant]{LAL\_RHOCFAC\_SI} | |
| | | \idx[Constant]{LAL\_TCBR\_SI} | |
| | | \idx[Constant]{LAL\_VCBR\_SI} | |
| | | \idx[Constant]{LAL\_RHOCBR\_SI} | |
| | | \idx[Constant]{LAL\_NCBR\_SI} | |
| | | \idx[Constant]{LAL\_SCBR\_SI} | |
| | | | |
| The following parameters are derived from measured properties of the | | The following parameters are derived from measured properties of the | |
| Earth and Sun. The values are taken from~\cite{Barnet:1996}, except | | Earth and Sun. The values are taken from~\cite{Barnet:1996}, except | |
| for the obliquity of the ecliptic plane and the eccentricity of | | for the obliquity of the ecliptic plane and the eccentricity of | |
| Earth's orbit, which are taken from~\cite{Lang:1992}. All values are | | Earth's orbit, which are taken from~\cite{Lang:1992}. All values are | |
| given in the SI units shown. | | given in the SI units shown. | |
| | | | |
| \begin{center} | | \begin{center} | |
| \begin{tabular}{|lll|} | | \begin{tabular}{|lll|} | |
| \hline | | \hline | |
| Name & Value & Description \\ | | Name & Value & Description \\ | |
| \hline | | \hline | |
| \tt LAL\_REARTH\_SI & $6.378140\times10^6\,\mathrm{m}$ & | | \tt LAL\_REARTH\_SI & $6.378140\times10^6\,\mathrm{m}$ & | |
| Earth equatorial radius \\ | | Earth equatorial radius \\ | |
|
| | | \tt LAL\_AWGS84\_SI & $6.378137\times10^6\,\mathrm{m}$ & | |
| | | Semimajor axis of WGS-84 Reference Ellipsoid \\ | |
| | | \tt LAL\_BWGS84\_SI & $6.356752314\times10^6\,\mathrm{m}$ & | |
| | | Semiminor axis of WGS-84 Reference Ellipsoid \\ | |
| \tt LAL\_MEARTH\_SI & $5.97370\times10^{24}\,\mathrm{kg}$ & Earth mass \\ | | \tt LAL\_MEARTH\_SI & $5.97370\times10^{24}\,\mathrm{kg}$ & Earth mass \\ | |
| \tt LAL\_IEARTH & $0.409092804\,\mathrm{rad}$ & | | \tt LAL\_IEARTH & $0.409092804\,\mathrm{rad}$ & | |
| Obliquity of the ecliptic (2000) \\ | | Obliquity of the ecliptic (2000) \\ | |
| \tt LAL\_EEARTH & 0.0167 & Earth orbital eccentricity \\ | | \tt LAL\_EEARTH & 0.0167 & Earth orbital eccentricity \\ | |
| \tt LAL\_RSUN\_SI & $6.960\times10^8\,\mathrm{m}$ & Solar equatorial radi
us\\ | | \tt LAL\_RSUN\_SI & $6.960\times10^8\,\mathrm{m}$ & Solar equatorial radi
us\\ | |
| \tt LAL\_MSUN\_SI & $1.98892\times10^{30}\,\mathrm{kg}$ & Solar mass \\ | | \tt LAL\_MSUN\_SI & $1.98892\times10^{30}\,\mathrm{kg}$ & Solar mass \\ | |
| \tt LAL\_MRSUN\_SI & $1.47662504\times10^3\,\mathrm{m}$ & | | \tt LAL\_MRSUN\_SI & $1.47662504\times10^3\,\mathrm{m}$ & | |
| Geometrized solar mass (length) \\ | | Geometrized solar mass (length) \\ | |
| \tt LAL\_MTSUN\_SI & $4.92549095\times10^{-6}\,\mathrm{s}$ & | | \tt LAL\_MTSUN\_SI & $4.92549095\times10^{-6}\,\mathrm{s}$ & | |
| Geometrized solar mass (time) \\ | | Geometrized solar mass (time) \\ | |
| | | | |
| skipping to change at line 302 | | skipping to change at line 388 | |
| \tt LAL\_DAYSID\_SI & $86\,164.09053\,\mathrm{s}$ & Mean sidereal day \\ | | \tt LAL\_DAYSID\_SI & $86\,164.09053\,\mathrm{s}$ & Mean sidereal day \\ | |
| \tt LAL\_LYR\_SI & $9.46052817\times10^{15}\,\mathrm{m}$ & | | \tt LAL\_LYR\_SI & $9.46052817\times10^{15}\,\mathrm{m}$ & | |
| $c\times$tropical year (1994) \\ | | $c\times$tropical year (1994) \\ | |
| \hline | | \hline | |
| \end{tabular} | | \end{tabular} | |
| \end{center} | | \end{center} | |
| | | | |
| </lalLaTeX> */ | | </lalLaTeX> */ | |
| | | | |
| #define LAL_REARTH_SI 6.378140e6 /* Earth equatorial radius, m */ | | #define LAL_REARTH_SI 6.378140e6 /* Earth equatorial radius, m */ | |
|
| | | #define LAL_AWGS84_SI 6.378137e6 /* Semimajor axis of WGS-84 Reference | |
| | | Ellipsoid, m */ | |
| | | #define LAL_BWGS84_SI 6.356752314e6 /* Semiminor axis of WGS-84 Reference | |
| | | Ellipsoid, m */ | |
| #define LAL_MEARTH_SI 5.97370e24 /* Earth mass, kg */ | | #define LAL_MEARTH_SI 5.97370e24 /* Earth mass, kg */ | |
| #define LAL_IEARTH 0.409092804 /* Earth inclination (2000), radians
*/ | | #define LAL_IEARTH 0.409092804 /* Earth inclination (2000), radians
*/ | |
| #define LAL_EEARTH 0.0167 /* Earth orbital eccentricity */ | | #define LAL_EEARTH 0.0167 /* Earth orbital eccentricity */ | |
| #define LAL_RSUN_SI 6.960e8 /* Solar equatorial radius, m */ | | #define LAL_RSUN_SI 6.960e8 /* Solar equatorial radius, m */ | |
| #define LAL_MSUN_SI 1.98892e30 /* Solar mass, kg */ | | #define LAL_MSUN_SI 1.98892e30 /* Solar mass, kg */ | |
| #define LAL_MRSUN_SI 1.47662504e3 /* Geometrized solar mass, m */ | | #define LAL_MRSUN_SI 1.47662504e3 /* Geometrized solar mass, m */ | |
| #define LAL_MTSUN_SI 4.92549095e-6 /* Geometrized solar mass, s */ | | #define LAL_MTSUN_SI 4.92549095e-6 /* Geometrized solar mass, s */ | |
| #define LAL_LSUN_SI 3.846e26 /* Solar luminosity, W */ | | #define LAL_LSUN_SI 3.846e26 /* Solar luminosity, W */ | |
| #define LAL_AU_SI 1.4959787066e11 /* Astronomical unit, m */ | | #define LAL_AU_SI 1.4959787066e11 /* Astronomical unit, m */ | |
| #define LAL_PC_SI 3.0856775807e16 /* Parsec, m */ | | #define LAL_PC_SI 3.0856775807e16 /* Parsec, m */ | |
| | | | |
End of changes. 11 change blocks. |
| 4 lines changed or deleted | | 94 lines changed or added | |
|
| LALDatatypes.h | | LALDatatypes.h | |
| /********************************* <lalVerbatim file="LALDatatypesHV"> | | /********************************* <lalVerbatim file="LALDatatypesHV"> | |
|
| Author: Finn, L. S. | | Author: J. D. E. Creighton, T. D. Creighton | |
| $Id: LALDatatypes.h,v 1.8 2000/07/23 01:14:34 jolien Exp $ | | $Id: LALDatatypes.h,v 1.11 2001/12/01 22:09:43 jolien Exp $ | |
| ********************************** </lalVerbatim> */ | | ********************************** </lalVerbatim> */ | |
| | | | |
| /* <lalLaTeX> | | /* <lalLaTeX> | |
| | | | |
| \section{Header \texttt{LALDatatypes.h}} | | \section{Header \texttt{LALDatatypes.h}} | |
| \label{s:LALDatatypes.h} | | \label{s:LALDatatypes.h} | |
| | | | |
| Provides the basic LAL datatypes. | | Provides the basic LAL datatypes. | |
| | | | |
| \subsection*{Synopsis} | | \subsection*{Synopsis} | |
| \begin{verbatim} | | \begin{verbatim} | |
|
| #include "LALDatatypes.h" | | #include <lal/LALDatatypes.h> | |
| \end{verbatim} | | \end{verbatim} | |
| | | | |
| \noindent This header defines the standard data types and data | | \noindent This header defines the standard data types and data | |
| structures that are used throughout LAL. They fall into three general | | structures that are used throughout LAL. They fall into three general | |
| categories: \emph{primitive} datatypes, \emph{aggregates} of primitive | | categories: \emph{primitive} datatypes, \emph{aggregates} of primitive | |
| datatypes, and \emph{structured} datatypes. The LAL status structure | | datatypes, and \emph{structured} datatypes. The LAL status structure | |
| is a special case of a structured datatype that is used in every | | is a special case of a structured datatype that is used in every | |
| standard LAL function. | | standard LAL function. | |
| | | | |
| This header file is automatically included by the header | | This header file is automatically included by the header | |
| | | | |
| skipping to change at line 38 | | skipping to change at line 38 | |
| following section. | | following section. | |
| | | | |
| </lalLaTeX> */ | | </lalLaTeX> */ | |
| | | | |
| #ifndef _LALDATATYPES_H | | #ifndef _LALDATATYPES_H | |
| #define _LALDATATYPES_H | | #define _LALDATATYPES_H | |
| | | | |
| /* <lalLaTeX> | | /* <lalLaTeX> | |
| \newpage\input{LALAtomicDatatypesH} | | \newpage\input{LALAtomicDatatypesH} | |
| </lalLaTeX> */ | | </lalLaTeX> */ | |
|
| #include "LALAtomicDatatypes.h" | | #include <lal/LALAtomicDatatypes.h> | |
| #include "LALRCSID.h" | | #include <lal/LALRCSID.h> | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| extern "C" { | | extern "C" { | |
| #endif | | #endif | |
| | | | |
|
| NRCSID (LALDATATYPESH, "$Id: LALDatatypes.h,v 1.8 2000/07/23 01:14:34 jolie
n Exp $"); | | NRCSID (LALDATATYPESH, "$Id: LALDatatypes.h,v 1.11 2001/12/01 22:09:43 joli
en Exp $"); | |
| | | | |
| /* <lalLaTeX> | | /* <lalLaTeX> | |
| \newpage | | \newpage | |
| \subsection{Aggregate datatypes} | | \subsection{Aggregate datatypes} | |
| \label{ss:aggregate-datatypes} | | \label{ss:aggregate-datatypes} | |
| | | | |
| These datatypes store arbitrarily large sets or collections of | | These datatypes store arbitrarily large sets or collections of | |
| primitive datatypes. At this level there is no physical | | primitive datatypes. At this level there is no physical | |
| interpretation assigned to the objects (such as names or units); the | | interpretation assigned to the objects (such as names or units); the | |
| aggregate datatypes simply collect and arrange the primitive | | aggregate datatypes simply collect and arrange the primitive | |
| | | | |
| skipping to change at line 603 | | skipping to change at line 603 | |
| { | | { | |
| INT4 gpsSeconds; | | INT4 gpsSeconds; | |
| INT4 gpsNanoSeconds; | | INT4 gpsNanoSeconds; | |
| } | | } | |
| LIGOTimeGPS; | | LIGOTimeGPS; | |
| | | | |
| /* <lalLaTeX> | | /* <lalLaTeX> | |
| | | | |
| \vspace{2ex} | | \vspace{2ex} | |
| \begin{verbatim} | | \begin{verbatim} | |
|
| | | LALUnit | |
| | | \end{verbatim} | |
| | | This structure stores units in the mksA system (plus Kelvin, Strain, | |
| | | and ADC Count). It also stores an overall power-of-ten scaling factor. | |
| | | The fields are: | |
| | | \begin{description} | |
| | | \item[\texttt{INT2 powerOfTen}] The power $p$ of ten scaling factor. | |
| | | \item[\texttt{INT2 unitNumerator[LALNumUnits]}] Array of unit numerators, | |
| | | $N_i$, $i=0\ldots\textrm{LALNumUnits}-1$. | |
| | | \item[\texttt{INT2 unitDenominatorMinusOne[LALNumUnits]}] Array of unit | |
| | | denominators-minus-one, $D_i$, $i=0\ldots\textrm{LALNumUnits}-1$. | |
| | | \end{description} | |
| | | Thus, the units are given by | |
| | | \begin{equation} | |
| | | 10^p\times\textrm{m}^{N_0/(1+D_0)}\times\textrm{kg}^{N_1/(1+D_1)} | |
| | | \times\textrm{s}^{N_2/(1+D_2)}\times\textrm{A}^{N_3/(1+D_3)} | |
| | | \times\textrm{K}^{N_4/(1+D_4)}\times\textrm{strain}^{N_5/(1+D_5)} | |
| | | \times\textrm{count}^{N_6/(1+D_6)} | |
| | | \end{equation} | |
| | | The indexes of the units can be specified using the constants | |
| | | \texttt{LALUnitIndexMeter}, | |
| | | \texttt{LALUnitIndexKiloGram}, | |
| | | \texttt{LALUnitIndexSecond}, | |
| | | \texttt{LALUnitIndexAmpere}, | |
| | | \texttt{LALUnitIndexKelvin}, | |
| | | \texttt{LALUnitIndexStrain}, | |
| | | \texttt{LALUnitIndexADCCount}, | |
| | | while \texttt{LALNumUnits} is the total number of units. | |
| | | | |
| | | </lalLaTeX> */ | |
| | | | |
| | | enum | |
| | | { | |
| | | LALUnitIndexMeter, | |
| | | LALUnitIndexKiloGram, | |
| | | LALUnitIndexSecond, | |
| | | LALUnitIndexAmpere, | |
| | | LALUnitIndexKelvin, | |
| | | LALUnitIndexStrain, | |
| | | LALUnitIndexADCCount, | |
| | | LALNumUnits | |
| | | }; | |
| | | | |
| | | typedef struct | |
| | | tagLALUnit | |
| | | { | |
| | | INT2 powerOfTen; | |
| | | INT2 unitNumerator[LALNumUnits]; | |
| | | UINT2 unitDenominatorMinusOne[LALNumUnits]; | |
| | | } | |
| | | LALUnit; | |
| | | | |
| | | /* <lalLaTeX> | |
| | | | |
| | | \vspace{2ex} | |
| | | \begin{verbatim} | |
| <datatype>TimeSeries | | <datatype>TimeSeries | |
| \end{verbatim} | | \end{verbatim} | |
| This structure represents a sequence of data of type \verb@<datatype>@ | | This structure represents a sequence of data of type \verb@<datatype>@ | |
| (where \verb@<datatype>@ can be any primitive datatype), sampled over | | (where \verb@<datatype>@ can be any primitive datatype), sampled over | |
| uniform time intervals $t_0, t_0+\Delta t, \ldots , t_0+l\Delta t$. | | uniform time intervals $t_0, t_0+\Delta t, \ldots , t_0+l\Delta t$. | |
| Essentially this is a \verb@<datatype>Sequence@ with extra fields | | Essentially this is a \verb@<datatype>Sequence@ with extra fields | |
| defining the sample times and the type of data being sampled. The raw | | defining the sample times and the type of data being sampled. The raw | |
| data may also have been \emph{heterodyned}; that is, multiplied by a | | data may also have been \emph{heterodyned}; that is, multiplied by a | |
| sinusoid of some frequency $f_0$, low-pass filtered, and resampled, in | | sinusoid of some frequency $f_0$, low-pass filtered, and resampled, in | |
| order to extract the behaviour in a small bandwidth about $f_0$. The | | order to extract the behaviour in a small bandwidth about $f_0$. The | |
| fields are: | | fields are: | |
| \begin{description} | | \begin{description} | |
|
| \item[\texttt{CHAR *name}] The name of the data series (i.e.\ the type | | \item[\texttt{CHAR name[LALNameLength]}] The name of the data series (i.e.\ | |
| of data being sampled). | | the type of data being sampled). | |
| \item[\texttt{LIGOTimeGPS epoch}] The start time $t_0$ of the data | | \item[\texttt{LIGOTimeGPS epoch}] The start time $t_0$ of the data | |
| series. | | series. | |
| \item[\texttt{REAL8 deltaT}] The sampling interval $\Delta t$, in | | \item[\texttt{REAL8 deltaT}] The sampling interval $\Delta t$, in | |
| seconds. | | seconds. | |
| \item[\texttt{REAL8 f0}] The heterodyning frequency $f_0$, in hertz. | | \item[\texttt{REAL8 f0}] The heterodyning frequency $f_0$, in hertz. | |
|
| \item[\texttt{CHARVector *sampleUnits}] The physical units of the | | \item[\texttt{LALUnit sampleUnits}] The physical units of the | |
| quantity being sampled. | | quantity being sampled. | |
| \item[\texttt{<datatype>Sequence *data}] The sequence of sampled data. | | \item[\texttt{<datatype>Sequence *data}] The sequence of sampled data. | |
| \end{description} | | \end{description} | |
| | | | |
| </lalLaTeX> */ | | </lalLaTeX> */ | |
| | | | |
|
| | | enum { LALNameLength = 64 }; | |
| | | | |
| typedef struct | | typedef struct | |
| tagINT2TimeSeries | | tagINT2TimeSeries | |
| { | | { | |
|
| CHAR *name; | | CHAR name[LALNameLength]; | |
| LIGOTimeGPS epoch; | | LIGOTimeGPS epoch; | |
| REAL8 deltaT; | | REAL8 deltaT; | |
| REAL8 f0; | | REAL8 f0; | |
|
| CHARVector *sampleUnits; | | LALUnit sampleUnits; | |
| INT2Sequence *data; | | INT2Sequence *data; | |
| } | | } | |
| INT2TimeSeries; | | INT2TimeSeries; | |
| | | | |
| typedef struct | | typedef struct | |
| tagUINT2TimeSeries | | tagUINT2TimeSeries | |
| { | | { | |
|
| CHAR *name; | | CHAR name[LALNameLength]; | |
| LIGOTimeGPS epoch; | | LIGOTimeGPS epoch; | |
| REAL8 deltaT; | | REAL8 deltaT; | |
| REAL8 f0; | | REAL8 f0; | |
|
| CHARVector *sampleUnits; | | LALUnit sampleUnits; | |
| UINT2Sequence *data; | | UINT2Sequence *data; | |
| } | | } | |
| UINT2TimeSeries; | | UINT2TimeSeries; | |
| | | | |
| typedef struct | | typedef struct | |
| tagINT4TimeSeries | | tagINT4TimeSeries | |
| { | | { | |
|
| CHAR *name; | | CHAR name[LALNameLength]; | |
| LIGOTimeGPS epoch; | | LIGOTimeGPS epoch; | |
| REAL8 deltaT; | | REAL8 deltaT; | |
| REAL8 f0; | | REAL8 f0; | |
|
| CHARVector *sampleUnits; | | LALUnit sampleUnits; | |
| INT4Sequence *data; | | INT4Sequence *data; | |
| } | | } | |
| INT4TimeSeries; | | INT4TimeSeries; | |
| | | | |
| typedef struct | | typedef struct | |
| tagUINT4TimeSeries | | tagUINT4TimeSeries | |
| { | | { | |
|
| CHAR *name; | | CHAR name[LALNameLength]; | |
| LIGOTimeGPS epoch; | | LIGOTimeGPS epoch; | |
| REAL8 deltaT; | | REAL8 deltaT; | |
| REAL8 f0; | | REAL8 f0; | |
|
| CHARVector *sampleUnits; | | LALUnit sampleUnits; | |
| UINT4Sequence *data; | | UINT4Sequence *data; | |
| } | | } | |
| UINT4TimeSeries; | | UINT4TimeSeries; | |
| | | | |
| typedef struct | | typedef struct | |
| tagINT8TimeSeries | | tagINT8TimeSeries | |
| { | | { | |
|
| CHAR *name; | | CHAR name[LALNameLength]; | |
| LIGOTimeGPS epoch; | | LIGOTimeGPS epoch; | |
| REAL8 deltaT; | | REAL8 deltaT; | |
| REAL8 f0; | | REAL8 f0; | |
|
| CHARVector *sampleUnits; | | LALUnit sampleUnits; | |
| INT8Sequence *data; | | INT8Sequence *data; | |
| } | | } | |
| INT8TimeSeries; | | INT8TimeSeries; | |
| | | | |
| typedef struct | | typedef struct | |
| tagUINT8TimeSeries | | tagUINT8TimeSeries | |
| { | | { | |
|
| CHAR *name; | | CHAR name[LALNameLength]; | |
| LIGOTimeGPS epoch; | | LIGOTimeGPS epoch; | |
| REAL8 deltaT; | | REAL8 deltaT; | |
| REAL8 f0; | | REAL8 f0; | |
|
| CHARVector *sampleUnits; | | LALUnit sampleUnits; | |
| UINT8Sequence *data; | | UINT8Sequence *data; | |
| } | | } | |
| UINT8TimeSeries; | | UINT8TimeSeries; | |
| | | | |
| typedef struct | | typedef struct | |
| tagREAL4TimeSeries | | tagREAL4TimeSeries | |
| { | | { | |
|
| CHAR *name; | | CHAR name[LALNameLength]; | |
| LIGOTimeGPS epoch; | | LIGOTimeGPS epoch; | |
| REAL8 deltaT; | | REAL8 deltaT; | |
| REAL8 f0; | | REAL8 f0; | |
|
| CHARVector *sampleUnits; | | LALUnit sampleUnits; | |
| REAL4Sequence *data; | | REAL4Sequence *data; | |
| } | | } | |
| REAL4TimeSeries; | | REAL4TimeSeries; | |
| | | | |
| typedef struct | | typedef struct | |
| tagREAL8TimeSeries | | tagREAL8TimeSeries | |
| { | | { | |
|
| CHAR *name; | | CHAR name[LALNameLength]; | |
| LIGOTimeGPS epoch; | | LIGOTimeGPS epoch; | |
| REAL8 deltaT; | | REAL8 deltaT; | |
| REAL8 f0; | | REAL8 f0; | |
|
| CHARVector *sampleUnits; | | LALUnit sampleUnits; | |
| REAL8Sequence *data; | | REAL8Sequence *data; | |
| } | | } | |
| REAL8TimeSeries; | | REAL8TimeSeries; | |
| | | | |
| typedef struct | | typedef struct | |
| tagCOMPLEX8TimeSeries | | tagCOMPLEX8TimeSeries | |
| { | | { | |
|
| CHAR *name; | | CHAR name[LALNameLength]; | |
| LIGOTimeGPS epoch; | | LIGOTimeGPS epoch; | |
| REAL8 deltaT; | | REAL8 deltaT; | |
| REAL8 f0; | | REAL8 f0; | |
|
| CHARVector *sampleUnits; | | LALUnit sampleUnits; | |
| COMPLEX8Sequence *data; | | COMPLEX8Sequence *data; | |
| } | | } | |
| COMPLEX8TimeSeries; | | COMPLEX8TimeSeries; | |
| | | | |
| typedef struct | | typedef struct | |
| tagCOMPLEX16TimeSeries | | tagCOMPLEX16TimeSeries | |
| { | | { | |
|
| CHAR *name; | | CHAR name[LALNameLength]; | |
| LIGOTimeGPS epoch; | | LIGOTimeGPS epoch; | |
| REAL8 deltaT; | | REAL8 deltaT; | |
| REAL8 f0; | | REAL8 f0; | |
|
| CHARVector *sampleUnits; | | LALUnit sampleUnits; | |
| COMPLEX16Sequence *data; | | COMPLEX16Sequence *data; | |
| } | | } | |
| COMPLEX16TimeSeries; | | COMPLEX16TimeSeries; | |
| | | | |
| /* <lalLaTeX> | | /* <lalLaTeX> | |
| | | | |
| \vspace{2ex} | | \vspace{2ex} | |
| \begin{verbatim} | | \begin{verbatim} | |
| <datatype>TimeVectorSeries | | <datatype>TimeVectorSeries | |
| \end{verbatim} | | \end{verbatim} | |
| Like \verb@<datatype>TimeSeries@, above, except that the sampled data | | Like \verb@<datatype>TimeSeries@, above, except that the sampled data | |
| are of type type \verb@<datatype>Vector@ (where \verb@<datatype>@ can | | are of type type \verb@<datatype>Vector@ (where \verb@<datatype>@ can | |
| be any primitive datatype). The fields are: | | be any primitive datatype). The fields are: | |
| \begin{description} | | \begin{description} | |
|
| \item[\texttt{CHAR *name}] The name of the data series (i.e.\ the type | | \item[\texttt{CHAR name[LALNameLength]}] The name of the data series (i.e.\ | |
| of data being sampled). | | the type of data being sampled). | |
| \item[\texttt{LIGOTimeGPS epoch}] The start time of the data series. | | \item[\texttt{LIGOTimeGPS epoch}] The start time of the data series. | |
| \item[\texttt{REAL8 deltaT}] The sampling interval, in seconds. | | \item[\texttt{REAL8 deltaT}] The sampling interval, in seconds. | |
| \item[\texttt{REAL8 f0}] The heterodyning frequency, in hertz. | | \item[\texttt{REAL8 f0}] The heterodyning frequency, in hertz. | |
|
| \item[\texttt{CHARVector *sampleUnits}] The physical units of the | | \item[\texttt{LALUnit sampleUnits}] The physical units of the | |
| quantity being sampled. | | quantity being sampled. | |
| \item[\texttt{<datatype>VectorSequence *data}] The sequence of sampled | | \item[\texttt{<datatype>VectorSequence *data}] The sequence of sampled | |
| data. | | data. | |
| \end{description} | | \end{description} | |
| | | | |
| </lalLaTeX> */ | | </lalLaTeX> */ | |
| | | | |
| typedef struct | | typedef struct | |
| tagINT2TimeVectorSeries | | tagINT2TimeVectorSeries | |
| { | | { | |
|
| CHAR *name; | | CHAR name[LALNameLength]; | |
| LIGOTimeGPS epoch; | | LIGOTimeGPS epoch; | |
| REAL8 deltaT; | | REAL8 deltaT; | |
| REAL8 f0; | | REAL8 f0; | |
|
| CHARVector *sampleUnits; | | LALUnit sampleUnits; | |
| INT2VectorSequence *data; | | INT2VectorSequence *data; | |
| } | | } | |
| INT2TimeVectorSeries; | | INT2TimeVectorSeries; | |
| | | | |
| typedef struct | | typedef struct | |
| tagUINT2TimeVectorSeries | | tagUINT2TimeVectorSeries | |
| { | | { | |
|
| CHAR *name; | | CHAR name[LALNameLength]; | |
| LIGOTimeGPS epoch; | | LIGOTimeGPS epoch; | |
| REAL8 deltaT; | | REAL8 deltaT; | |
| REAL8 f0; | | REAL8 f0; | |
|
| CHARVector *sampleUnits; | | LALUnit sampleUnits; | |
| UINT2VectorSequence *data; | | UINT2VectorSequence *data; | |
| } | | } | |
| UINT2TimeVectorSeries; | | UINT2TimeVectorSeries; | |
| | | | |
| typedef struct | | typedef struct | |
| tagINT4TimeVectorSeries | | tagINT4TimeVectorSeries | |
| { | | { | |
|
| CHAR *name; | | CHAR name[LALNameLength]; | |
| LIGOTimeGPS epoch; | | LIGOTimeGPS epoch; | |
| REAL8 deltaT; | | REAL8 deltaT; | |
| REAL8 f0; | | REAL8 f0; | |
|
| CHARVector *sampleUnits; | | LALUnit sampleUnits; | |
| INT4VectorSequence *data; | | INT4VectorSequence *data; | |
| } | | } | |
| INT4TimeVectorSeries; | | INT4TimeVectorSeries; | |
| | | | |
| typedef struct | | typedef struct | |
| tagUINT4TimeVectorSeries | | tagUINT4TimeVectorSeries | |
| { | | { | |
|
| CHAR *name; | | CHAR name[LALNameLength]; | |
| LIGOTimeGPS epoch; | | LIGOTimeGPS epoch; | |
| REAL8 deltaT; | | REAL8 deltaT; | |
| REAL8 f0; | | REAL8 f0; | |
|
| CHARVector *sampleUnits; | | LALUnit sampleUnits; | |
| UINT4VectorSequence *data; | | UINT4VectorSequence *data; | |
| } | | } | |
| UINT4TimeVectorSeries; | | UINT4TimeVectorSeries; | |
| | | | |
| typedef struct | | typedef struct | |
| tagINT8TimeVectorSeries | | tagINT8TimeVectorSeries | |
| { | | { | |
|
| CHAR *name; | | CHAR name[LALNameLength]; | |
| LIGOTimeGPS epoch; | | LIGOTimeGPS epoch; | |
| REAL8 deltaT; | | REAL8 deltaT; | |
| REAL8 f0; | | REAL8 f0; | |
|
| CHARVector *sampleUnits; | | LALUnit sampleUnits; | |
| INT8VectorSequence *data; | | INT8VectorSequence *data; | |
| } | | } | |
| INT8TimeVectorSeries; | | INT8TimeVectorSeries; | |
| | | | |
| typedef struct | | typedef struct | |
| tagUINT8TimeVectorSeries | | tagUINT8TimeVectorSeries | |
| { | | { | |
|
| CHAR *name; | | CHAR name[LALNameLength]; | |
| LIGOTimeGPS epoch; | | LIGOTimeGPS epoch; | |
| REAL8 deltaT; | | REAL8 deltaT; | |
| REAL8 f0; | | REAL8 f0; | |
|
| CHARVector *sampleUnits; | | LALUnit sampleUnits; | |
| UINT8VectorSequence *data; | | UINT8VectorSequence *data; | |
| } | | } | |
| UINT8TimeVectorSeries; | | UINT8TimeVectorSeries; | |
| | | | |
| typedef struct | | typedef struct | |
| tagREAL4TimeVectorSeries | | tagREAL4TimeVectorSeries | |
| { | | { | |
|
| CHAR *name; | | CHAR name[LALNameLength]; | |
| LIGOTimeGPS epoch; | | LIGOTimeGPS epoch; | |
| REAL8 deltaT; | | REAL8 deltaT; | |
| REAL8 f0; | | REAL8 f0; | |
|
| CHARVector *sampleUnits; | | LALUnit sampleUnits; | |
| REAL4VectorSequence *data; | | REAL4VectorSequence *data; | |
| } | | } | |
| REAL4TimeVectorSeries; | | REAL4TimeVectorSeries; | |
| | | | |
| typedef struct | | typedef struct | |
| tagREAL8TimeVectorSeries | | tagREAL8TimeVectorSeries | |
| { | | { | |
|
| CHAR *name; | | CHAR name[LALNameLength]; | |
| LIGOTimeGPS epoch; | | LIGOTimeGPS epoch; | |
| REAL8 deltaT; | | REAL8 deltaT; | |
| REAL8 f0; | | REAL8 f0; | |
|
| CHARVector *sampleUnits; | | LALUnit sampleUnits; | |
| REAL8VectorSequence *data; | | REAL8VectorSequence *data; | |
| } | | } | |
| REAL8TimeVectorSeries; | | REAL8TimeVectorSeries; | |
| | | | |
| typedef struct | | typedef struct | |
| tagCOMPLEX8TimeVectorSeries | | tagCOMPLEX8TimeVectorSeries | |
| { | | { | |
|
| CHAR *name; | | CHAR name[LALNameLength]; | |
| LIGOTimeGPS epoch; | | LIGOTimeGPS epoch; | |
| REAL8 deltaT; | | REAL8 deltaT; | |
| REAL8 f0; | | REAL8 f0; | |
|
| CHARVector *sampleUnits; | | LALUnit sampleUnits; | |
| COMPLEX8VectorSequence *data; | | COMPLEX8VectorSequence *data; | |
| } | | } | |
| COMPLEX8TimeVectorSeries; | | COMPLEX8TimeVectorSeries; | |
| | | | |
| typedef struct | | typedef struct | |
| tagCOMPLEX16TimeVectorSeries | | tagCOMPLEX16TimeVectorSeries | |
| { | | { | |
|
| CHAR *name; | | CHAR name[LALNameLength]; | |
| LIGOTimeGPS epoch; | | LIGOTimeGPS epoch; | |
| REAL8 deltaT; | | REAL8 deltaT; | |
| REAL8 f0; | | REAL8 f0; | |
|
| CHARVector *sampleUnits; | | LALUnit sampleUnits; | |
| COMPLEX16VectorSequence *data; | | COMPLEX16VectorSequence *data; | |
| } | | } | |
| COMPLEX16TimeVectorSeries; | | COMPLEX16TimeVectorSeries; | |
| | | | |
| /* <lalLaTeX> | | /* <lalLaTeX> | |
| | | | |
| \vspace{2ex} | | \vspace{2ex} | |
| \begin{verbatim} | | \begin{verbatim} | |
| <datatype>TimeArraySeries | | <datatype>TimeArraySeries | |
| \end{verbatim} | | \end{verbatim} | |
| Like \verb@<datatype>TimeSeries@, above, except that the sampled data | | Like \verb@<datatype>TimeSeries@, above, except that the sampled data | |
| are of type type \verb@<datatype>Array@ (where \verb@<datatype>@ can | | are of type type \verb@<datatype>Array@ (where \verb@<datatype>@ can | |
| be any primitive datatype). The fields are: | | be any primitive datatype). The fields are: | |
| \begin{description} | | \begin{description} | |
|
| \item[\texttt{CHAR *name}] The name of the data series (i.e.\ the type | | \item[\texttt{CHAR name[LALNameLength]}] The name of the data series (i.e.\ | |
| of data being sampled). | | the type of data being sampled). | |
| \item[\texttt{LIGOTimeGPS epoch}] The start time of the data series. | | \item[\texttt{LIGOTimeGPS epoch}] The start time of the data series. | |
| \item[\texttt{REAL8 deltaT}] The sampling interval, in seconds. | | \item[\texttt{REAL8 deltaT}] The sampling interval, in seconds. | |
| \item[\texttt{REAL8 f0}] The heterodyning frequency, in hertz. | | \item[\texttt{REAL8 f0}] The heterodyning frequency, in hertz. | |
|
| \item[\texttt{CHARVector *sampleUnits}] The physical units of the | | \item[\texttt{LALUnit sampleUnits}] The physical units of the | |
| quantity being sampled. | | quantity being sampled. | |
| \item[\texttt{<datatype>ArraySequence *data}] The sequence of sampled | | \item[\texttt{<datatype>ArraySequence *data}] The sequence of sampled | |
| data. | | data. | |
| \end{description} | | \end{description} | |
| | | | |
| </lalLaTeX> */ | | </lalLaTeX> */ | |
| | | | |
| typedef struct | | typedef struct | |
| tagINT2TimeArraySeries | | tagINT2TimeArraySeries | |
| { | | { | |
|
| CHAR *name; | | CHAR name[LALNameLength]; | |
| LIGOTimeGPS epoch; | | LIGOTimeGPS epoch; | |
| REAL8 deltaT; | | REAL8 deltaT; | |
| REAL8 f0; | | REAL8 f0; | |
|
| CHARVector *sampleUnits; | | LALUnit sampleUnits; | |
| INT2ArraySequence *data; | | INT2ArraySequence *data; | |
| } | | } | |
| INT2TimeArraySeries; | | INT2TimeArraySeries; | |
| | | | |
| typedef struct | | typedef struct | |
| tagUINT2TimeArraySeries | | tagUINT2TimeArraySeries | |
| { | | { | |
|
| CHAR *name; | | CHAR name[LALNameLength]; | |
| LIGOTimeGPS epoch; | | LIGOTimeGPS epoch; | |
| REAL8 deltaT; | | REAL8 deltaT; | |
| REAL8 f0; | | REAL8 f0; | |
|
| CHARVector *sampleUnits; | | LALUnit sampleUnits; | |
| UINT2ArraySequence *data; | | UINT2ArraySequence *data; | |
| } | | } | |
| UINT2TimeArraySeries; | | UINT2TimeArraySeries; | |
| | | | |
| typedef struct | | typedef struct | |
| tagINT4TimeArraySeries | | tagINT4TimeArraySeries | |
| { | | { | |
|
| CHAR *name; | | CHAR name[LALNameLength]; | |
| LIGOTimeGPS epoch; | | LIGOTimeGPS epoch; | |
| REAL8 deltaT; | | REAL8 deltaT; | |
| REAL8 f0; | | REAL8 f0; | |
|
| CHARVector *sampleUnits; | | LALUnit sampleUnits; | |
| INT4ArraySequence *data; | | INT4ArraySequence *data; | |
| } | | } | |
| INT4TimeArraySeries; | | INT4TimeArraySeries; | |
| | | | |
| typedef struct | | typedef struct | |
| tagUINT4TimeArraySeries | | tagUINT4TimeArraySeries | |
| { | | { | |
|
| CHAR *name; | | CHAR name[LALNameLength]; | |
| LIGOTimeGPS epoch; | | LIGOTimeGPS epoch; | |
| REAL8 deltaT; | | REAL8 deltaT; | |
| REAL8 f0; | | REAL8 f0; | |
|
| CHARVector *sampleUnits; | | LALUnit sampleUnits; | |
| UINT4ArraySequence *data; | | UINT4ArraySequence *data; | |
| } | | } | |
| UINT4TimeArraySeries; | | UINT4TimeArraySeries; | |
| | | | |
| typedef struct | | typedef struct | |
| tagINT8TimeArraySeries | | tagINT8TimeArraySeries | |
| { | | { | |
|
| CHAR *name; | | CHAR name[LALNameLength]; | |
| LIGOTimeGPS epoch; | | LIGOTimeGPS epoch; | |
| REAL8 deltaT; | | REAL8 deltaT; | |
| REAL8 f0; | | REAL8 f0; | |
|
| CHARVector *sampleUnits; | | LALUnit sampleUnits; | |
| INT8ArraySequence *data; | | INT8ArraySequence *data; | |
| } | | } | |
| INT8TimeArraySeries; | | INT8TimeArraySeries; | |
| | | | |
| typedef struct | | typedef struct | |
| tagUINT8TimeArraySeries | | tagUINT8TimeArraySeries | |
| { | | { | |
|
| CHAR *name; | | CHAR name[LALNameLength]; | |
| LIGOTimeGPS epoch; | | LIGOTimeGPS epoch; | |
| REAL8 deltaT; | | REAL8 deltaT; | |
| REAL8 f0; | | REAL8 f0; | |
|
| CHARVector *sampleUnits; | | LALUnit sampleUnits; | |
| UINT8ArraySequence *data; | | UINT8ArraySequence *data; | |
| } | | } | |
| UINT8TimeArraySeries; | | UINT8TimeArraySeries; | |
| | | | |
| typedef struct | | typedef struct | |
| tagREAL4TimeArraySeries | | tagREAL4TimeArraySeries | |
| { | | { | |
|
| CHAR *name; | | CHAR name[LALNameLength]; | |
| LIGOTimeGPS epoch; | | LIGOTimeGPS epoch; | |
| REAL8 deltaT; | | REAL8 deltaT; | |
| REAL8 f0; | | REAL8 f0; | |
|
| CHARVector *sampleUnits; | | LALUnit sampleUnits; | |
| REAL4ArraySequence *data; | | REAL4ArraySequence *data; | |
| } | | } | |
| REAL4TimeArraySeries; | | REAL4TimeArraySeries; | |
| | | | |
| typedef struct | | typedef struct | |
| tagREAL8TimeArraySeries | | tagREAL8TimeArraySeries | |
| { | | { | |
|
| CHAR *name; | | CHAR name[LALNameLength]; | |
| LIGOTimeGPS epoch; | | LIGOTimeGPS epoch; | |
| REAL8 deltaT; | | REAL8 deltaT; | |
| REAL8 f0; | | REAL8 f0; | |
|
| CHARVector *sampleUnits; | | LALUnit sampleUnits; | |
| REAL8ArraySequence *data; | | REAL8ArraySequence *data; | |
| } | | } | |
| REAL8TimeArraySeries; | | REAL8TimeArraySeries; | |
| | | | |
| typedef struct | | typedef struct | |
| tagCOMPLEX8TimeArraySeries | | tagCOMPLEX8TimeArraySeries | |
| { | | { | |
|
| CHAR *name; | | CHAR name[LALNameLength]; | |
| LIGOTimeGPS epoch; | | LIGOTimeGPS epoch; | |
| REAL8 deltaT; | | REAL8 deltaT; | |
| REAL8 f0; | | REAL8 f0; | |
|
| CHARVector *sampleUnits; | | LALUnit sampleUnits; | |
| COMPLEX8ArraySequence *data; | | COMPLEX8ArraySequence *data; | |
| } | | } | |
| COMPLEX8TimeArraySeries; | | COMPLEX8TimeArraySeries; | |
| | | | |
| typedef struct | | typedef struct | |
| tagCOMPLEX16TimeArraySeries | | tagCOMPLEX16TimeArraySeries | |
| { | | { | |
|
| CHAR *name; | | CHAR name[LALNameLength]; | |
| LIGOTimeGPS epoch; | | LIGOTimeGPS epoch; | |
| REAL8 deltaT; | | REAL8 deltaT; | |
| REAL8 f0; | | REAL8 f0; | |
|
| CHARVector *sampleUnits; | | LALUnit sampleUnits; | |
| COMPLEX16ArraySequence *data; | | COMPLEX16ArraySequence *data; | |
| } | | } | |
| COMPLEX16TimeArraySeries; | | COMPLEX16TimeArraySeries; | |
| | | | |
| /* <lalLaTeX> | | /* <lalLaTeX> | |
| | | | |
| \vspace{2ex} | | \vspace{2ex} | |
| \begin{verbatim} | | \begin{verbatim} | |
| <datatype>FrequencySeries | | <datatype>FrequencySeries | |
| \end{verbatim} | | \end{verbatim} | |
| This structure represents a frequency spectrum of data of type | | This structure represents a frequency spectrum of data of type | |
| \verb@<datatype>@ (where \verb@<datatype>@ can be any primitive | | \verb@<datatype>@ (where \verb@<datatype>@ can be any primitive | |
| datatype), sampled over uniform frequency intervals $f_0, f_0+\Delta | | datatype), sampled over uniform frequency intervals $f_0, f_0+\Delta | |
| f, \ldots , f_0+l\Delta f$. Essentially this is a | | f, \ldots , f_0+l\Delta f$. Essentially this is a | |
| \verb@<datatype>Sequence@ with extra fields defining the sample | | \verb@<datatype>Sequence@ with extra fields defining the sample | |
| frequencies, the timestamp of the spectrum, and the type of data being | | frequencies, the timestamp of the spectrum, and the type of data being | |
| sampled. The fields are: | | sampled. The fields are: | |
| \begin{description} | | \begin{description} | |
|
| \item[\texttt{CHAR *name}] The name of the data series (i.e.\ the type | | \item[\texttt{CHAR name[LALNameLength]}] The name of the data series (i.e.\ | |
| of data being sampled). | | the type of data being sampled). | |
| \item[\texttt{LIGOTimeGPS epoch}] The start time of the \emph{time} | | \item[\texttt{LIGOTimeGPS epoch}] The start time of the \emph{time} | |
| series from which the spectrum was calculated. | | series from which the spectrum was calculated. | |
| \item[\texttt{REAL8 f0}] The lowest frequency $f_0$ being sampled, in | | \item[\texttt{REAL8 f0}] The lowest frequency $f_0$ being sampled, in | |
| hertz. | | hertz. | |
| \item[\texttt{REAL8 deltaF}] The frequency sampling interval $\Delta | | \item[\texttt{REAL8 deltaF}] The frequency sampling interval $\Delta | |
| f$, in hertz. | | f$, in hertz. | |
|
| \item[\texttt{CHARVector *sampleUnits}] The physical units of the | | \item[\texttt{LALUnit sampleUnits}] The physical units of the | |
| quantity being sampled. | | quantity being sampled. | |
| \item[\texttt{<datatype>Sequence *data}] The sequence of sampled data. | | \item[\texttt{<datatype>Sequence *data}] The sequence of sampled data. | |
| \end{description} | | \end{description} | |
| | | | |
| </lalLaTeX> */ | | </lalLaTeX> */ | |
| | | | |
| typedef struct | | typedef struct | |
| tagINT2FrequencySeries | | tagINT2FrequencySeries | |
| { | | { | |
|
| CHAR *name; | | CHAR name[LALNameLength]; | |
| LIGOTimeGPS epoch; | | LIGOTimeGPS epoch; | |
| REAL8 f0; | | REAL8 f0; | |
| REAL8 deltaF; | | REAL8 deltaF; | |
|
| CHARVector *sampleUnits; | | LALUnit sampleUnits; | |
| INT2Sequence *data; | | INT2Sequence *data; | |
| } | | } | |
| INT2FrequencySeries; | | INT2FrequencySeries; | |
| | | | |
| typedef struct | | typedef struct | |
| tagUINT2FrequencySeries | | tagUINT2FrequencySeries | |
| { | | { | |
|
| CHAR *name; | | CHAR name[LALNameLength]; | |
| LIGOTimeGPS epoch; | | LIGOTimeGPS epoch; | |
| REAL8 f0; | | REAL8 f0; | |
| REAL8 deltaF; | | REAL8 deltaF; | |
|
| CHARVector *sampleUnits; | | LALUnit sampleUnits; | |
| UINT2Sequence *data; | | UINT2Sequence *data; | |
| } | | } | |
| UINT2FrequencySeries; | | UINT2FrequencySeries; | |
| | | | |
| typedef struct | | typedef struct | |
| tagINT4FrequencySeries | | tagINT4FrequencySeries | |
| { | | { | |
|
| CHAR *name; | | CHAR name[LALNameLength]; | |
| LIGOTimeGPS epoch; | | LIGOTimeGPS epoch; | |
| REAL8 f0; | | REAL8 f0; | |
| REAL8 deltaF; | | REAL8 deltaF; | |
|
| CHARVector *sampleUnits; | | LALUnit sampleUnits; | |
| INT4Sequence *data; | | INT4Sequence *data; | |
| } | | } | |
| INT4FrequencySeries; | | INT4FrequencySeries; | |
| | | | |
| typedef struct | | typedef struct | |
| tagUINT4FrequencySeries | | tagUINT4FrequencySeries | |
| { | | { | |
|
| CHAR *name; | | CHAR name[LALNameLength]; | |
| LIGOTimeGPS epoch; | | LIGOTimeGPS epoch; | |
| REAL8 f0; | | REAL8 f0; | |
| REAL8 deltaF; | | REAL8 deltaF; | |
|
| CHARVector *sampleUnits; | | LALUnit sampleUnits; | |
| UINT4Sequence *data; | | UINT4Sequence *data; | |
| } | | } | |
| UINT4FrequencySeries; | | UINT4FrequencySeries; | |
| | | | |
| typedef struct | | typedef struct | |
| tagINT8FrequencySeries | | tagINT8FrequencySeries | |
| { | | { | |
|
| CHAR *name; | | CHAR name[LALNameLength]; | |
| LIGOTimeGPS epoch; | | LIGOTimeGPS epoch; | |
| REAL8 f0; | | REAL8 f0; | |
| REAL8 deltaF; | | REAL8 deltaF; | |
|
| CHARVector *sampleUnits; | | LALUnit sampleUnits; | |
| INT8Sequence *data; | | INT8Sequence *data; | |
| } | | } | |
| INT8FrequencySeries; | | INT8FrequencySeries; | |
| | | | |
| typedef struct | | typedef struct | |
| tagUINT8FrequencySeries | | tagUINT8FrequencySeries | |
| { | | { | |
|
| CHAR *name; | | CHAR name[LALNameLength]; | |
| LIGOTimeGPS epoch; | | LIGOTimeGPS epoch; | |
| REAL8 f0; | | REAL8 f0; | |
| REAL8 deltaF; | | REAL8 deltaF; | |
|
| CHARVector *sampleUnits; | | LALUnit sampleUnits; | |
| UINT8Sequence *data; | | UINT8Sequence *data; | |
| } | | } | |
| UINT8FrequencySeries; | | UINT8FrequencySeries; | |
| | | | |
| typedef struct | | typedef struct | |
| tagREAL4FrequencySeries | | tagREAL4FrequencySeries | |
| { | | { | |
|
| CHAR *name; | | CHAR name[LALNameLength]; | |
| LIGOTimeGPS epoch; | | LIGOTimeGPS epoch; | |
| REAL8 f0; | | REAL8 f0; | |
| REAL8 deltaF; | | REAL8 deltaF; | |
|
| CHARVector *sampleUnits; | | LALUnit sampleUnits; | |
| REAL4Sequence *data; | | REAL4Sequence *data; | |
| } | | } | |
| REAL4FrequencySeries; | | REAL4FrequencySeries; | |
| | | | |
| typedef struct | | typedef struct | |
| tagREAL8FrequencySeries | | tagREAL8FrequencySeries | |
| { | | { | |
|
| CHAR *name; | | CHAR name[LALNameLength]; | |
| LIGOTimeGPS epoch; | | LIGOTimeGPS epoch; | |
| REAL8 f0; | | REAL8 f0; | |
| REAL8 deltaF; | | REAL8 deltaF; | |
|
| CHARVector *sampleUnits; | | LALUnit sampleUnits; | |
| REAL8Sequence *data; | | REAL8Sequence *data; | |
| } | | } | |
| REAL8FrequencySeries; | | REAL8FrequencySeries; | |
| | | | |
| typedef struct | | typedef struct | |
| tagCOMPLEX8FrequencySeries | | tagCOMPLEX8FrequencySeries | |
| { | | { | |
|
| CHAR *name; | | CHAR name[LALNameLength]; | |
| LIGOTimeGPS epoch; | | LIGOTimeGPS epoch; | |
| REAL8 f0; | | REAL8 f0; | |
| REAL8 deltaF; | | REAL8 deltaF; | |
|
| CHARVector *sampleUnits; | | LALUnit sampleUnits; | |
| COMPLEX8Sequence *data; | | COMPLEX8Sequence *data; | |
| } | | } | |
| COMPLEX8FrequencySeries; | | COMPLEX8FrequencySeries; | |
| | | | |
| typedef struct | | typedef struct | |
| tagCOMPLEX16FrequencySeries | | tagCOMPLEX16FrequencySeries | |
| { | | { | |
|
| CHAR *name; | | CHAR name[LALNameLength]; | |
| LIGOTimeGPS epoch; | | LIGOTimeGPS epoch; | |
| REAL8 f0; | | REAL8 f0; | |
| REAL8 deltaF; | | REAL8 deltaF; | |
|
| CHARVector *sampleUnits; | | LALUnit sampleUnits; | |
| COMPLEX16Sequence *data; | | COMPLEX16Sequence *data; | |
| } | | } | |
| COMPLEX16FrequencySeries; | | COMPLEX16FrequencySeries; | |
| | | | |
| /* <lalLaTeX> | | /* <lalLaTeX> | |
| | | | |
| \vspace{2ex} | | \vspace{2ex} | |
| \begin{verbatim} | | \begin{verbatim} | |
| <datatype>ZPGFilter | | <datatype>ZPGFilter | |
| \end{verbatim} | | \end{verbatim} | |
| | | | |
| skipping to change at line 1208 | | skipping to change at line 1266 | |
| $H(f)=g\times\prod_k(\zeta-z_k)/\prod_l(\zeta-p_l)$, where $z_k$ are | | $H(f)=g\times\prod_k(\zeta-z_k)/\prod_l(\zeta-p_l)$, where $z_k$ are | |
| the complex \emph{zeros}, $p_l$ are the complex \emph{poles}, and $g$ | | the complex \emph{zeros}, $p_l$ are the complex \emph{poles}, and $g$ | |
| is the complex \emph{gain} of the response function. Some common | | is the complex \emph{gain} of the response function. Some common | |
| complex frequency representations are the $z$-plane representation | | complex frequency representations are the $z$-plane representation | |
| $\zeta(f\Delta t)=\exp(2\pi if\Delta t)$, which maps the Nyquist | | $\zeta(f\Delta t)=\exp(2\pi if\Delta t)$, which maps the Nyquist | |
| interval $f\in[0,1/2\Delta t)$ onto the upper-half unit circle in | | interval $f\in[0,1/2\Delta t)$ onto the upper-half unit circle in | |
| $\zeta$, and the $w$-plane representation $\zeta(f\Delta t)=\tan(\pi | | $\zeta$, and the $w$-plane representation $\zeta(f\Delta t)=\tan(\pi | |
| f\Delta t)$, which maps the Nyquist interval onto the positive real | | f\Delta t)$, which maps the Nyquist interval onto the positive real | |
| axis in $\zeta$. The fields of \verb@<datatype>ZPGFilter@ are: | | axis in $\zeta$. The fields of \verb@<datatype>ZPGFilter@ are: | |
| \begin{description} | | \begin{description} | |
|
| \item[\texttt{CHAR *name}] The name of the filter or transfer | | \item[\texttt{CHAR name[LALNameLength]}] The name of the filter or transfer | |
| function. This should also mention its complex frequency | | function. This should also mention its complex frequency | |
| representation. | | representation. | |
| \item[\texttt{REAL8 deltaT}] The sampling time or reference timescale | | \item[\texttt{REAL8 deltaT}] The sampling time or reference timescale | |
| $\Delta t$ for the filter, in seconds. If zero, it will be treated as | | $\Delta t$ for the filter, in seconds. If zero, it will be treated as | |
| being equal to the sampling interval of the data being filtered. | | being equal to the sampling interval of the data being filtered. | |
| \item[\texttt{<datatype>Vector *zeros}] Pointer to a vector storing | | \item[\texttt{<datatype>Vector *zeros}] Pointer to a vector storing | |
| the zeros $z_k$ of the filter. | | the zeros $z_k$ of the filter. | |
| \item[\texttt{<datatype>Vector *poles}] Pointer to a vector storing | | \item[\texttt{<datatype>Vector *poles}] Pointer to a vector storing | |
| the poles $p_k$ of the filter. | | the poles $p_k$ of the filter. | |
| \item[\texttt{<datatype> gain}] The gain $g$ of the filter. | | \item[\texttt{<datatype> gain}] The gain $g$ of the filter. | |
| \end{description} | | \end{description} | |
| | | | |
| </lalLaTeX> */ | | </lalLaTeX> */ | |
| | | | |
| typedef struct | | typedef struct | |
| tagCOMPLEX8ZPGFilter | | tagCOMPLEX8ZPGFilter | |
| { | | { | |
|
| CHAR *name; | | CHAR name[LALNameLength]; | |
| REAL8 deltaT; | | REAL8 deltaT; | |
| COMPLEX8Vector *zeros; | | COMPLEX8Vector *zeros; | |
| COMPLEX8Vector *poles; | | COMPLEX8Vector *poles; | |
| COMPLEX8 gain; | | COMPLEX8 gain; | |
| } | | } | |
| COMPLEX8ZPGFilter; | | COMPLEX8ZPGFilter; | |
| | | | |
| typedef struct | | typedef struct | |
| tagCOMPLEX16ZPGFilter | | tagCOMPLEX16ZPGFilter | |
| { | | { | |
|
| CHAR *name; | | CHAR name[LALNameLength]; | |
| REAL8 deltaT; | | REAL8 deltaT; | |
| COMPLEX16Vector *zeros; | | COMPLEX16Vector *zeros; | |
| COMPLEX16Vector *poles; | | COMPLEX16Vector *poles; | |
| COMPLEX16 gain; | | COMPLEX16 gain; | |
| } | | } | |
| COMPLEX16ZPGFilter; | | COMPLEX16ZPGFilter; | |
| | | | |
| /* <lalLaTeX> | | /* <lalLaTeX> | |
| \newpage | | \newpage | |
| \subsection{The LAL universal status structure \texttt{LALStatus}} | | \subsection{The LAL universal status structure \texttt{LALStatus}} | |
| | | | |
End of changes. 97 change blocks. |
| 101 lines changed or deleted | | 159 lines changed or added | |
|
| LALError.h | | LALError.h | |
| /************************************ <lalVerbatim file="LALErrorHV"> | | /************************************ <lalVerbatim file="LALErrorHV"> | |
|
| $Id: LALError.h,v 1.6 2000/09/08 23:19:25 jolien Exp $ | | $Id: LALError.h,v 1.11 2001/11/27 01:55:24 jolien Exp $ | |
| ************************************* </lalVerbatim> */ | | ************************************* </lalVerbatim> */ | |
| | | | |
| /* <lalLaTeX> | | /* <lalLaTeX> | |
| | | | |
| \section{Header \texttt{LALError.h}} | | \section{Header \texttt{LALError.h}} | |
| \label{s:LALError.h} | | \label{s:LALError.h} | |
| | | | |
| Provides routines to report and handle errors. | | Provides routines to report and handle errors. | |
| | | | |
| \subsection*{Synopsis} | | \subsection*{Synopsis} | |
| \begin{verbatim} | | \begin{verbatim} | |
|
| #include "LALError.h" | | #include <lal/LALError.h> | |
| \end{verbatim} | | \end{verbatim} | |
| | | | |
| \noindent This header covers routines that print status messages, and | | \noindent This header covers routines that print status messages, and | |
| that allow functions to abort. | | that allow functions to abort. | |
| | | | |
| \vfill{\footnotesize\input{LALErrorHV}} | | \vfill{\footnotesize\input{LALErrorHV}} | |
| \newpage\input{LALErrorC} | | \newpage\input{LALErrorC} | |
| | | | |
| </lalLaTeX> */ | | </lalLaTeX> */ | |
| | | | |
| #ifndef _LALERROR_H | | #ifndef _LALERROR_H | |
| #define _LALERROR_H | | #define _LALERROR_H | |
| | | | |
|
| #include "LALDatatypes.h" | | #include <lal/LALDatatypes.h> | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| extern "C" { | | extern "C" { | |
| #endif | | #endif | |
| | | | |
|
| NRCSID( LALERRORH, "$Id: LALError.h,v 1.6 2000/09/08 23:19:25 jolien Exp $"
); | | NRCSID( LALERRORH, "$Id: LALError.h,v 1.11 2001/11/27 01:55:24 jolien Exp $
" ); | |
| | | | |
| /* lalDebugLevel bit field values: */ | | /* lalDebugLevel bit field values: */ | |
| enum | | enum | |
| { | | { | |
| LALNDEBUG = 0, | | LALNDEBUG = 0, | |
| LALERROR = 1, | | LALERROR = 1, | |
| LALWARNING = 2, | | LALWARNING = 2, | |
| LALINFO = 4, | | LALINFO = 4, | |
| LALTRACE = 8, | | LALTRACE = 8, | |
| LALMEMINFO = 16, | | LALMEMINFO = 16, | |
|
| LALMEMDBG = ~( -1U >> 1 ) /* any non-zero value that doesn't interfere w | | LALNMEMDBG = 32, | |
| ith | | LALNMEMPAD = 64, | |
| other bits: meaningless to combine this wit | | LALNMEMTRK = 128, | |
| h | | LALMEMDBG = 16384 /* convenience: don't combine with other bits */ | |
| any other bit */ | | | |
| }; | | }; | |
| | | | |
| /* composite lalDebugLevels: */ | | /* composite lalDebugLevels: */ | |
| enum { LALMSGLVL1 = LALERROR }; | | enum { LALMSGLVL1 = LALERROR }; | |
| enum { LALMSGLVL2 = LALERROR | LALWARNING }; | | enum { LALMSGLVL2 = LALERROR | LALWARNING }; | |
| enum { LALMSGLVL3 = LALERROR | LALWARNING | LALINFO }; | | enum { LALMSGLVL3 = LALERROR | LALWARNING | LALINFO }; | |
| enum { LALMEMTRACE = LALTRACE | LALMEMINFO }; | | enum { LALMEMTRACE = LALTRACE | LALMEMINFO }; | |
|
| enum { LALALLDBG = ~0 }; | | enum { LALALLDBG = ~( LALNMEMDBG | LALNMEMPAD | LALNMEMTRK ) }; | |
| | | | |
| | | extern int ( *lalRaiseHook )( int, const char *, ... ); | |
| | | extern void ( *lalAbortHook )( const char *, ... ); | |
| | | | |
| int | | int | |
| LALPrintError( const char *fmt, ... ); | | LALPrintError( const char *fmt, ... ); | |
| | | | |
|
| | | int | |
| | | LALRaise( int sig, const char *fmt, ... ); | |
| | | | |
| void | | void | |
| LALAbort( const char *fmt, ... ); | | LALAbort( const char *fmt, ... ); | |
| | | | |
| int | | int | |
| LALError( LALStatus *status, const char *statement ); | | LALError( LALStatus *status, const char *statement ); | |
| | | | |
| int | | int | |
| LALWarning( LALStatus *status, const char *warning ); | | LALWarning( LALStatus *status, const char *warning ); | |
| | | | |
| int | | int | |
| LALInfo( LALStatus *status, const char *info ); | | LALInfo( LALStatus *status, const char *info ); | |
| | | | |
| int | | int | |
|
| LALTrace( LALStatus *status, int exit ); | | LALTrace( LALStatus *status, int exitflg ); | |
| | | | |
| int | | int | |
| LALInitStatus( LALStatus *status, const char *function, const char *id, | | LALInitStatus( LALStatus *status, const char *function, const char *id, | |
| const char *file, const int line ); | | const char *file, const int line ); | |
| | | | |
| int | | int | |
| LALPrepareReturn( LALStatus *status, const char *file, const int line ); | | LALPrepareReturn( LALStatus *status, const char *file, const int line ); | |
| | | | |