ConfigFile.h   ConfigFile.h 
skipping to change at line 186 skipping to change at line 186
const CHAR *varName, const CHAR *varName,
BOOLEAN *wasRead); BOOLEAN *wasRead);
int int
XLALReadConfigVariable (void *varp, XLALReadConfigVariable (void *varp,
const LALParsedDataFile *cfgdata, const LALParsedDataFile *cfgdata,
const LALConfigVar *param, const LALConfigVar *param,
BOOLEAN *wasRead); BOOLEAN *wasRead);
int XLALCheckConfigReadComplete (const LALParsedDataFile *cfgdata, ConfigSt rictness strict); int XLALCheckConfigReadComplete (const LALParsedDataFile *cfgdata, ConfigSt rictness strict);
int XLALLowerCaseString (CHAR *string);
/* ========== DEPRECATED LAL INTERFACE FUNCTIONS, which have been replaced by XLAL functions, /* ========== DEPRECATED LAL INTERFACE FUNCTIONS, which have been replaced by XLAL functions,
* These functions are just wrappers around the XLAL functions * These functions are just wrappers around the XLAL functions
*/ */
/** \name Error codes */ /** \name Error codes */
/*@{*/ /*@{*/
#define CONFIGFILEH_ENULL 1 /**< Arguments contained an unexpected null pointer. */ #define CONFIGFILEH_ENULL 1 /**< Arguments contained an unexpected null pointer. */
#define CONFIGFILEH_EFILE 2 /**< File error. */ #define CONFIGFILEH_EFILE 2 /**< File error. */
#define CONFIGFILEH_EVAR 3 /**< Config variable not fo und. */ #define CONFIGFILEH_EVAR 3 /**< Config variable not fo und. */
 End of changes. 1 change blocks. 
1 lines changed or deleted 0 lines changed or added


 FlatLatticeTiling.h   FlatLatticeTiling.h 
skipping to change at line 19 skipping to change at line 19
// This program is distributed in the hope that it will be useful, // This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of // but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details. // GNU General Public License for more details.
// //
// You should have received a copy of the GNU General Public License // You should have received a copy of the GNU General Public License
// along with with program; see the file COPYING. If not, write to the // along with with program; see the file COPYING. If not, write to the
// Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, // Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
// MA 02111-1307 USA // MA 02111-1307 USA
// //
///
/// \addtogroup FlatLatticeTiling_h
/// \author Karl Wette
/// \brief Lattice-based template generation for flat metric parameter spac
es
///
/// @{
#ifndef _FLATLATTICETILING_H #ifndef _FLATLATTICETILING_H
#define _FLATLATTICETILING_H #define _FLATLATTICETILING_H
#include <stdbool.h> #include <stdbool.h>
#include <gsl/gsl_vector.h> #include <gsl/gsl_vector.h>
#include <gsl/gsl_matrix.h> #include <gsl/gsl_matrix.h>
#include <lal/LALDatatypes.h> #include <lal/LALDatatypes.h>
#include <lal/Random.h> #include <lal/Random.h>
#include <lal/GSLSupport.h> #include <lal/GSLSupport.h>
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
/// ///
/// \addtogroup FlatLatticeTiling_h
/// \author Karl Wette
/// \brief Lattice-based template generation for flat metric parameter spac
es
///
/// @{
///
/// Flat lattice tiling bound function /// Flat lattice tiling bound function
/// ///
typedef void (*FlatLatticeBound)( typedef void (*FlatLatticeBound)(
const size_t dimension, ///< [in] Dimension on which bound applies const size_t dimension, ///< [in] Dimension on which bound applies
const gsl_vector_uint* bound, ///< [in] Indices of current bounds const gsl_vector_uint* bound, ///< [in] Indices of current bounds
const gsl_vector* point, ///< [in] Point on which to find bounds const gsl_vector* point, ///< [in] Point on which to find bounds
const void* data, ///< [in] Arbitrary data describing paramete r space const void* data, ///< [in] Arbitrary data describing paramete r space
const gsl_vector* incr, ///< [in] Increments of the lattice tiling g enerator const gsl_vector* incr, ///< [in] Increments of the lattice tiling g enerator
const gsl_vector* bbox, ///< [in] Metric ellipse bounding box extent s const gsl_vector* bbox, ///< [in] Metric ellipse bounding box extent s
gsl_vector* lower, ///< [out] Lower bounds on point in dimensio n gsl_vector* lower, ///< [out] Lower bounds on point in dimensio n
skipping to change at line 246 skipping to change at line 244
/// ///
int XLALSetFlatLatticeEllipticalBounds( int XLALSetFlatLatticeEllipticalBounds(
FlatLatticeTiling* tiling, ///< [in] Tiling state FlatLatticeTiling* tiling, ///< [in] Tiling state
const size_t dimension, ///< [in] Dimension of X bound (Y bound is o ne higher) const size_t dimension, ///< [in] Dimension of X bound (Y bound is o ne higher)
const double x_centre, ///< [in] X centre of ellipse const double x_centre, ///< [in] X centre of ellipse
const double y_centre, ///< [in] Y centre of ellipse const double y_centre, ///< [in] Y centre of ellipse
const double x_semi, ///< [in] Length of X semi-diameter const double x_semi, ///< [in] Length of X semi-diameter
const double y_semi ///< [in] Length of Y semi-diameter const double y_semi ///< [in] Length of Y semi-diameter
); );
/// @}
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif #endif
/// @}
 End of changes. 4 change blocks. 
10 lines changed or deleted 10 lines changed or added


 LALBarycenter.h   LALBarycenter.h 
skipping to change at line 36 skipping to change at line 36
#include <lal/LALStdio.h> #include <lal/LALStdio.h>
#include <lal/LALStdlib.h> #include <lal/LALStdlib.h>
#include <lal/LALConstants.h> #include <lal/LALConstants.h>
#include <lal/DetectorSite.h> #include <lal/DetectorSite.h>
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
/** /**
* \defgroup LALBarycenter_h Barycentering * \defgroup LALBarycenter_h Header LALBarycenter.h
* \ingroup pulsarCommon * \ingroup pkg_pulsarCommon
* \author Curt Cutler * \author Curt Cutler
* \date 2001 * \date 2001
* *
* \brief Provides routines for transforming from arrival time at detector (GPS) to pulse emission time (TDB); ie * \brief Provides routines for transforming from arrival time at detector (GPS) to pulse emission time (TDB); ie
* for ``barycentering'' the measured astronomical time series. * for ``barycentering'' the measured astronomical time series.
* *
* \heading{Synopsis} * \heading{Synopsis}
* \code * \code
* #include <lal/LALInitBarycenter.h> * #include <lal/LALInitBarycenter.h>
* #include <lal/LALBarycenter.h> * #include <lal/LALBarycenter.h>
skipping to change at line 110 skipping to change at line 110
EPHEM_NONE = 0, EPHEM_NONE = 0,
EPHEM_DE200, EPHEM_DE200,
EPHEM_DE405, EPHEM_DE405,
EPHEM_DE414, EPHEM_DE414,
EPHEM_DE421, EPHEM_DE421,
EPHEM_LAST EPHEM_LAST
} EphemerisType; } EphemerisType;
/** \name Constants from Irwin and Fukushima, A&A, 348, 1999 (taken from TE MPO2) /** \name Constants from Irwin and Fukushima, A&A, 348, 1999 (taken from TE MPO2)
* used for ephemeris conversions. */ * used for ephemeris conversions. */
/*@{*/
#define IFTE_JD0 2443144.5003725 /**< Epoch of TCB, TCG and TT in Julian D ays */ #define IFTE_JD0 2443144.5003725 /**< Epoch of TCB, TCG and TT in Julian D ays */
#define IFTE_MJD0 43144.0003725 /**< Epoch of TCB, TCG and TT in Modified J ulian Days */ #define IFTE_MJD0 43144.0003725 /**< Epoch of TCB, TCG and TT in Modified J ulian Days */
#define IFTE_TEPH0 -65.564518e-6 /**< Equation 17 of Irwin and Fukushima. * / #define IFTE_TEPH0 -65.564518e-6 /**< Equation 17 of Irwin and Fukushima. * /
#define IFTE_LC 1.48082686742e-8 /**< Equation 20 of Irwin and Fukushima. * / #define IFTE_LC 1.48082686742e-8 /**< Equation 20 of Irwin and Fukushima. * /
#define IFTE_KM1 1.55051979176e-8 /**< Value of K-1, defined using the IAU definition of L_B = 1.55051976772e-8 and K=1/(1-L_B) (see TEMPO2). */ #define IFTE_KM1 1.55051979176e-8 /**< Value of K-1, defined using the IAU definition of L_B = 1.55051976772e-8 and K=1/(1-L_B) (see TEMPO2). */
#define IFTE_K (((long double)1.0) + ((long double)IFTE_KM1)) /**< Factor r #define IFTE_K (((long double)1.0) + ((long double)IFTE_KM1)) /**< Factor r
elating ephemeris units for time and distance to corresponding SI units, fr elating ephemeris units for time and distance to corresponding SI units, fr
om Equation 2 of Irwin and Fukushima. */ om Eq. 2 of Irwin and Fukushima. */
/*@}*/
#define JPL_AU_DE405 149597870.6910000 /**< Definition of 1 AU from the JPL #define JPL_AU_DE405 149597870.6910000 /**< Definition of 1 AU from
DE405 ephemeris in km */ the JPL DE405 ephemeris in km */
#define JPL_AU_DE200 149597870.6600000 /**< Definition of 1 AU from the JPL #define JPL_AU_DE200 149597870.6600000 /**< Definition of 1 AU from
DE200 ephemeris in km */ the JPL DE200 ephemeris in km */
#define CURT_AU 149597870.6600 /* 1 AU from create_solar_system_barycenter. #define CURT_AU 149597870.6600 /**< 1 AU from create_solar_
c as used in Curt's original routines */ system_barycenter.c as used in Curt's original routines */
/** \brief This structure contains /** \brief This structure contains
* two pointers to the ephemeris data files containing arrays * two pointers to the ephemeris data files containing arrays
* of center-of-mass positions for the Earth and Sun, respectively. * of center-of-mass positions for the Earth and Sun, respectively.
* *
* The tables are derived from the JPL ephemeris. * The tables are derived from the JPL ephemeris.
* *
* Files tabulate positions for one calendar year * Files tabulate positions for one calendar year
* (actually, a little more than one year, to deal * (actually, a little more than one year, to deal
* with overlaps). The first line of each table summarizes * with overlaps). The first line of each table summarizes
 End of changes. 4 change blocks. 
11 lines changed or deleted 13 lines changed or added


 LALCache.h   LALCache.h 
skipping to change at line 78 skipping to change at line 78
/** Returns a new LALCache structure that is the merge of two. */ /** Returns a new LALCache structure that is the merge of two. */
LALCache *XLALCacheMerge(const LALCache * cache1, const LALCache * cache2); LALCache *XLALCacheMerge(const LALCache * cache1, const LALCache * cache2);
/** Reads a LAL cache file and produces a LALCache structure. */ /** Reads a LAL cache file and produces a LALCache structure. */
LALCache *XLALCacheFileRead(LALFILE * fp); LALCache *XLALCacheFileRead(LALFILE * fp);
/** Reads a LAL cache file and produces a LALCache structure. */ /** Reads a LAL cache file and produces a LALCache structure. */
LALCache *XLALCacheImport(const char *fname); LALCache *XLALCacheImport(const char *fname);
/** Globs a directory and construct LALCache from matching entries. /** Globs a directory and construct LALCache from matching entries.
* \params [in] dirstr Colon-delimited list of directories. * \param [in] dirstr Colon-delimited list of directories.
* \params [in] fnptrn Glob pattern for matching files. * \param [in] fnptrn Glob pattern for matching files.
* \returns LALCache structure. * \returns LALCache structure.
*/ */
LALCache *XLALCacheGlob(const char *dirstr, const char *fnptrn); LALCache *XLALCacheGlob(const char *dirstr, const char *fnptrn);
/** Writes a LALCache structure to an output LAL cache file. */ /** Writes a LALCache structure to an output LAL cache file. */
int XLALCacheFileWrite(LALFILE * fp, const LALCache * cache); int XLALCacheFileWrite(LALFILE * fp, const LALCache * cache);
/** Sorts entries in a LALCache structure. */ /** Sorts entries in a LALCache structure. */
int XLALCacheSort(LALCache * cache); int XLALCacheSort(LALCache * cache);
/** Prunes duplicate entries keeping the second one; cache is reduced in /** Prunes duplicate entries keeping the second one; cache is reduced in
* length if there are. Entries are duplicates if their metadata are * length if there are. Entries are duplicates if their metadata are
* the same (even if the urls are different */ * the same (even if the urls are different */
int XLALCacheUniq(LALCache * cache); int XLALCacheUniq(LALCache * cache);
/** Selects only matching entries in a LALCache structure -- other entries /** Selects only matching entries in a LALCache structure -- other entries
* are deleted from the LALCache structure. * are deleted from the LALCache structure.
* \params t0 Remove entries ending before t0 (0 to disable). * \param cache *UNDOCUMENTED*
* \params t1 Remove entries ending after t1 (0 to disable). * \param t0 Remove entries ending before t0 (0 to disable).
* \params srcregex Regular expression to match src field (NULL to disable) * \param t1 Remove entries ending after t1 (0 to disable).
. * \param srcregex Regular expression to match src field (NULL to disable).
* \params dscregex Regular expression to match dsc field (NULL to disable) * \param dscregex Regular expression to match dsc field (NULL to disable).
. * \param urlregex Regular expression to match url field (NULL to disable).
* \params urlregex Regular expression to match url field (NULL to disable)
.
*/ */
int XLALCacheSieve(LALCache * cache, INT4 t0, INT4 t1, int XLALCacheSieve(LALCache * cache, INT4 t0, INT4 t1,
const char *srcregex, const char *dscregex, const char *srcregex, const char *dscregex,
const char *urlregex); const char *urlregex);
/** Finds the first entry that contains the requested time, or the first en try /** Finds the first entry that contains the requested time, or the first en try
* after the time if the time is in a gap or before the first entry. Retur ns * after the time if the time is in a gap or before the first entry. Retur ns
* NULL if the time is after the last entry. * NULL if the time is after the last entry.
*/ */
LALCacheEntry *XLALCacheEntrySeek(const LALCache * cache, double t); LALCacheEntry *XLALCacheEntrySeek(const LALCache * cache, double t);
 End of changes. 2 change blocks. 
10 lines changed or deleted 8 lines changed or added


 LALConfig.h   LALConfig.h 
/* include/lal/LALConfig.h. Generated from LALConfig.h.in by configure. * / /* include/lal/LALConfig.h. Generated from LALConfig.h.in by configure. * /
/* only include this file if LAL's config.h has not been included */ /* only include this file if LAL's config.h has not been included */
#ifndef CONFIG_H__LAL #ifndef CONFIG_H__LAL
#ifndef _LALCONFIG_H #ifndef _LALCONFIG_H
#define _LALCONFIG_H #define _LALCONFIG_H
/* LAL Version */ /* LAL Version */
#define LAL_VERSION "6.9.1" #define LAL_VERSION "6.10.0"
/* LAL Version Major Number */ /* LAL Version Major Number */
#define LAL_VERSION_MAJOR 6 #define LAL_VERSION_MAJOR 6
/* LAL Version Minor Number */ /* LAL Version Minor Number */
#define LAL_VERSION_MINOR 9 #define LAL_VERSION_MINOR 10
/* LAL Version Micro Number */ /* LAL Version Micro Number */
#define LAL_VERSION_MICRO 1 #define LAL_VERSION_MICRO 0
/* LAL Version Devel Number */ /* LAL Version Devel Number */
#define LAL_VERSION_DEVEL 0 #define LAL_VERSION_DEVEL 0
/* LAL Configure Arguments */ /* LAL Configure Arguments */
#define LAL_CONFIGURE_ARGS " '--enable-shared' '--prefix=/home/ut/testing/l al/6.9.1' '--exec-prefix=/home/ut/testing/lal/6.9.1' '--sysconfdir=/home/ut /testing/lal/6.9.1' '--datadir=/home/ut/testing/lal/6.9.1/share' 'CFLAGS=-w -fpermissive' 'CXXFLAGS=-w -fpermissive'" #define LAL_CONFIGURE_ARGS " '--enable-shared' '--prefix=/home/ut/testing/l al/6.10.0' '--exec-prefix=/home/ut/testing/lal/6.10.0' '--sysconfdir=/home/ ut/testing/lal/6.10.0' '--datadir=/home/ut/testing/lal/6.10.0/share' 'CFLAG S=-w -fpermissive' 'CXXFLAGS=-w -fpermissive'"
/* LAL Configure Date */ /* LAL Configure Date */
#define LAL_CONFIGURE_DATE "2013-01-15T02:31:49+0400" #define LAL_CONFIGURE_DATE "2013-03-13T02:35:15+0400"
/* Suppress debugging code */ /* Suppress debugging code */
/* #undef LAL_NDEBUG */ /* #undef LAL_NDEBUG */
/* Use functions rather than macros */ /* Use functions rather than macros */
/* #undef NOLALMACROS */ /* #undef NOLALMACROS */
/* Use pthread mutex lock for threadsafety */ /* Use pthread mutex lock for threadsafety */
/* #undef LAL_PTHREAD_LOCK */ /* #undef LAL_PTHREAD_LOCK */
 End of changes. 5 change blocks. 
5 lines changed or deleted 5 lines changed or added


 LALConstants.h   LALConstants.h 
skipping to change at line 112 skipping to change at line 112
/*@}*/ /*@}*/
/** \name Physical constants /** \name Physical constants
* The following are measured fundamental physical constants, with values * The following are measured fundamental physical constants, with values
* given in \ref Barnet_1996. When not dimensionless, they are given * given in \ref Barnet_1996. When not dimensionless, they are given
* in the SI units shown. */ * in the SI units shown. */
/*@{*/ /*@{*/
#define LAL_G_SI 6.67259e-11 /**< Gravitational constant, N m^2 kg^ -2 */ #define LAL_G_SI 6.67259e-11 /**< Gravitational constant, N m^2 kg^ -2 */
#define LAL_H_SI 6.6260755e-34 /**< Planck constant, J s */ #define LAL_H_SI 6.6260755e-34 /**< Planck constant, J s */
#define LAL_HBAR_SI 1.0545726691251019773669079307477023e-34 /**< Reduced Planck constant, J s. = LAL_H_SI / LAL_TWOPI */ #define LAL_HBAR_SI 1.0545726691251019773669079307477023e-34 /**< Reduced Planck constant, J s. = LAL_H_SI / LAL_TWOPI */
#define LAL_MPL_SI 2.1767140835297016797409334934257335e-8 /**< Planck #define LAL_MPL_SI 2.1767140835297016797409334934257335e-8 /**< Planck
mass, kg. = \sqrt{LAL_HBAR_SI * LAL_C_SI / LAL_G_SI} */ mass, kg. = sqrt{LAL_HBAR_SI * LAL_C_SI / LAL_G_SI} */
#define LAL_LPL_SI 1.6160486159348859434398861412879278e-35 /**< Planck #define LAL_LPL_SI 1.6160486159348859434398861412879278e-35 /**< Planck
length, m. = \sqrt{LAL_HBAR_SI * LAL_G_SI / LAL_C_SI^3} */ length, m. = sqrt{LAL_HBAR_SI * LAL_G_SI / LAL_C_SI^3} */
#define LAL_TPL_SI 5.3905579437054615411301846068720240e-44 /**< Planck #define LAL_TPL_SI 5.3905579437054615411301846068720240e-44 /**< Planck
time, s. = \sqrt{LAL_HBAR_SI * LAL_G_SI / LAL_C_SI^5} */ time, s. = sqrt{LAL_HBAR_SI * LAL_G_SI / LAL_C_SI^5} */
#define LAL_K_SI 1.380658e-23 /**< Boltzmann constant, J K^-1 */ #define LAL_K_SI 1.380658e-23 /**< Boltzmann constant, J K^-1 */
#define LAL_R_SI 8.314511 /**< Ideal gas constant, J K^-1 */ #define LAL_R_SI 8.314511 /**< Ideal gas constant, J K^-1 */
#define LAL_MOL 6.0221367e23 /**< Avogadro constant, dimensionless */ #define LAL_MOL 6.0221367e23 /**< Avogadro constant, dimensionless */
#define LAL_BWIEN_SI 2.897756e-3 /**< Wien displacement law constant, m K */ #define LAL_BWIEN_SI 2.897756e-3 /**< Wien displacement law constant, m K */
#define LAL_SIGMA_SI 5.67051e-8 /**< Stefan-Boltzmann constant, W m^-2 K^ -4 */ #define LAL_SIGMA_SI 5.67051e-8 /**< Stefan-Boltzmann constant, W m^-2 K^ -4 */
#define LAL_AMU_SI 1.6605402e-27 /**< Atomic mass unit, kg */ #define LAL_AMU_SI 1.6605402e-27 /**< Atomic mass unit, kg */
#define LAL_MP_SI 1.6726231e-27 /**< Proton mass, kg */ #define LAL_MP_SI 1.6726231e-27 /**< Proton mass, kg */
#define LAL_ME_SI 9.1093897e-31 /**< Electron mass, kg */ #define LAL_ME_SI 9.1093897e-31 /**< Electron mass, kg */
#define LAL_QE_SI 1.60217733e-19 /**< Electron charge, C */ #define LAL_QE_SI 1.60217733e-19 /**< Electron charge, C */
#define LAL_ALPHA 7.297354677e-3 /**< Fine structure constant, dimensionle ss */ #define LAL_ALPHA 7.297354677e-3 /**< Fine structure constant, dimensionle ss */
 End of changes. 1 change blocks. 
6 lines changed or deleted 6 lines changed or added


 LALString.h   LALString.h 
skipping to change at line 33 skipping to change at line 33
#include <stddef.h> #include <stddef.h>
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
char * XLALStringAppend( char *s, const char *append ); char * XLALStringAppend( char *s, const char *append );
char * XLALStringDuplicate( const char *s ); char * XLALStringDuplicate( const char *s );
size_t XLALStringCopy( char *dst, const char *src, size_t size ); size_t XLALStringCopy( char *dst, const char *src, size_t size );
size_t XLALStringConcatenate( char *dst, const char *src, size_t size ); size_t XLALStringConcatenate( char *dst, const char *src, size_t size );
int XLALStringToLowerCase ( CHAR *string );
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif /* _LALSTRING_H */ #endif /* _LALSTRING_H */
 End of changes. 1 change blocks. 
0 lines changed or deleted 1 lines changed or added


 LALVCSInfo.h   LALVCSInfo.h 
skipping to change at line 19 skipping to change at line 19
* This program is distributed in the hope that it will be useful, but * This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of * WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details. * General Public License for more details.
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with with program; see the file COPYING. If not, write to the * along with with program; see the file COPYING. If not, write to the
* Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA * MA 02111-1307 USA
* *
* Copyright (C) 2009,2010 Adam Mercer * Copyright (C) 2009-2013 Adam Mercer
*/ */
#ifndef _LALVCSINFO_H #ifndef _LALVCSINFO_H
#define _LALVCSINFO_H #define _LALVCSINFO_H
#include <lal/LALLibVCSInfo.h> #include <lal/LALLibVCSInfo.h>
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
/* vcs information defines */ /* vcs information defines */
#define LAL_NAME "LAL" #define LAL_NAME "LAL"
#define LAL_VCS_ID "629da81d648f25098e4f7ab9d681c0aab833c2e5" #define LAL_VCS_ID "ac12d6c15bf45da08381cf3d1eb119d6b613e278"
#define LAL_VCS_DATE "2013-01-11 22:45:11 +0000" #define LAL_VCS_DATE "2013-03-12 15:51:25 +0000"
#define LAL_VCS_BRANCH "None" #define LAL_VCS_BRANCH "lalsuite-v6.15_release_prep"
#define LAL_VCS_TAG "lal-v6.9.1" #define LAL_VCS_TAG "None"
#define LAL_VCS_AUTHOR "Adam Mercer <adam.mercer@ligo.org>" #define LAL_VCS_AUTHOR "Steffen Grunewald <steffen.grunewald@aei.mpg.de>"
#define LAL_VCS_COMMITTER "Adam Mercer <adam.mercer@ligo.org>" #define LAL_VCS_COMMITTER "Adam Mercer <adam.mercer@ligo.org>"
#define LAL_VCS_STATUS "CLEAN: All modifications committed" #define LAL_VCS_STATUS "CLEAN: All modifications committed"
/* vcs information defines - identable*/ /* vcs information defines - identable*/
#define LAL_VCS_IDENT_ID "$" "LALId: 629da81d648f25098e4f7ab9d681c0aab833c2 #define LAL_VCS_IDENT_ID "$" "LALId: ac12d6c15bf45da08381cf3d1eb119d6b613e2
e5 " "$" 78 " "$"
#define LAL_VCS_IDENT_DATE "$" "LALDate: 2013-01-11 22:45:11 +0000 " "$" #define LAL_VCS_IDENT_DATE "$" "LALDate: 2013-03-12 15:51:25 +0000 " "$"
#define LAL_VCS_IDENT_BRANCH "$" "LALBranch: None " "$" #define LAL_VCS_IDENT_BRANCH "$" "LALBranch: lalsuite-v6.15_release_prep "
#define LAL_VCS_IDENT_TAG "$" "LALTag: lal-v6.9.1 " "$" "$"
#define LAL_VCS_IDENT_AUTHOR "$" "LALAuthor: Adam Mercer <adam.mercer@ligo. #define LAL_VCS_IDENT_TAG "$" "LALTag: None " "$"
org> " "$" #define LAL_VCS_IDENT_AUTHOR "$" "LALAuthor: Steffen Grunewald <steffen.gru
newald@aei.mpg.de> " "$"
#define LAL_VCS_IDENT_COMMITTER "$" "LALCommitter: Adam Mercer <adam.mercer @ligo.org> " "$" #define LAL_VCS_IDENT_COMMITTER "$" "LALCommitter: Adam Mercer <adam.mercer @ligo.org> " "$"
#define LAL_VCS_IDENT_STATUS "$" "LALStatus: CLEAN: All modifications commi tted " "$" #define LAL_VCS_IDENT_STATUS "$" "LALStatus: CLEAN: All modifications commi tted " "$"
/* header vcs information structure */ /* header vcs information structure */
static const struct tagLALVCSInfo lalHeaderVCSInfo = { \ static const struct tagLALVCSInfo lalHeaderVCSInfo = { \
LAL_NAME, \ LAL_NAME, \
LAL_VERSION, \ LAL_VERSION, \
LAL_VCS_ID, \ LAL_VCS_ID, \
LAL_VCS_DATE, \ LAL_VCS_DATE, \
LAL_VCS_BRANCH, \ LAL_VCS_BRANCH, \
 End of changes. 3 change blocks. 
13 lines changed or deleted 14 lines changed or added


 Segments.h   Segments.h 
skipping to change at line 215 skipping to change at line 215
LALSeg * LALSeg *
XLALSegListSearch( LALSegList *seglist, const LIGOTimeGPS *gps ); XLALSegListSearch( LALSegList *seglist, const LIGOTimeGPS *gps );
INT4 INT4
XLALSegListShift( LALSegList *seglist, const LIGOTimeGPS *shift ); XLALSegListShift( LALSegList *seglist, const LIGOTimeGPS *shift );
INT4 INT4
XLALSegListKeep( LALSegList *seglist, const LIGOTimeGPS *start, const LIGO TimeGPS *end ); XLALSegListKeep( LALSegList *seglist, const LIGOTimeGPS *start, const LIGO TimeGPS *end );
int XLALSegListIsInitialized ( const LALSegList *seglist );
int XLALSegListInitSimpleSegments ( LALSegList *seglist, LIGOTimeGPS startT
ime, UINT4 Nseg, REAL8 Tseg );
char *XLALSegList2String ( const LALSegList *seglist );
/*@}*/ /*@}*/
#if 0 #if 0
{ /* so that editors will match succeeding brace */ { /* so that editors will match succeeding brace */
#elif defined(__cplusplus) #elif defined(__cplusplus)
} }
#endif /* C++ protection. */ #endif /* C++ protection. */
#endif /* Double-include protection. */ #endif /* Double-include protection. */
 End of changes. 1 change blocks. 
0 lines changed or deleted 5 lines changed or added


 SimulateCoherentGW.h   SimulateCoherentGW.h 
/* /*
* Copyright (C) 2007 Jolien Creighton, Reinhard Prix, Teviet Creighton, Jo * Copyright (C) 2007 Jolien Creighton, Reinhard Prix, Teviet Creighton, J
hn Whelan ohn Whelan
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or * the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version. * (at your option) any later version.
* *
* This program is distributed in the hope that it will be useful, * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details. * GNU General Public License for more details.
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with with program; see the file COPYING. If not, write to the * along with with program; see the file COPYING. If not, write to the
* Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA * MA 02111-1307 USA
*/ */
#ifndef _SIMULATECOHERENTGW_H #ifndef _SIMULATECOHERENTGW_H
#define _SIMULATECOHERENTGW_H #define _SIMULATECOHERENTGW_H
#include <lal/LALStdlib.h> #include <lal/LALStdlib.h>
#include <lal/DetectorSite.h> #include <lal/DetectorSite.h>
#include <lal/SkyCoordinates.h> #include <lal/SkyCoordinates.h>
#include <lal/LALBarycenter.h> #include <lal/LALBarycenter.h>
#if defined(__cplusplus) #if defined(__cplusplus)
extern "C" { extern "C" {
#elif 0 #elif 0
} /* so that editors will match preceding brace */ } /* so that editors will match preceding brace */
#endif #endif
/** /**
\addtogroup SimulateCoherentGW_h \addtogroup SimulateCoherentGW_h
\author Creighton, T. D. \author Creighton, T. D.
\brief Provides routines to simulate generic gravitational waveforms \brief Provides routines to simulate generic gravitational waveforms
originating from a particular source. originating from a particular source.
\heading{Synopsis} \heading{Synopsis}
\code \code
#include <lal/SimulateCoherentGW.h> #include <lal/SimulateCoherentGW.h>
\endcode \endcode
This header covers generic routines and structures to represent and This header covers generic routines and structures to represent and
simulate the effects of a plane gravitational wave propagating from a simulate the effects of a plane gravitational wave propagating from a
distinct point on the sky. distinct point on the sky.
Any plane gravitational wave is specified by a direction Any plane gravitational wave is specified by a direction
\f$\mathbf{\hat{n}}\f$ to its apparent source (i.e.\ opposite to its direct \f$\mathbf{\hat{n}}\f$ to its apparent source (i.e.\ opposite to its dir
ion ection
of propagation), and by the inistantaneous values \f$h_+(t)\f$, of propagation), and by the inistantaneous values \f$h_+(t)\f$,
\f$h_\times(t)\f$ of its plus and cross polarizations as functions of \f$h_\times(t)\f$ of its plus and cross polarizations as functions of
(retarded) time \f$t=t_0+\mathbf{\hat{n}}\cdot(\mathbf{x}-\mathbf{x}_0)\f$, (retarded) time \f$t=t_0+\mathbf{\hat{n}}\cdot(\mathbf{x}-\mathbf{x}_0)\
where f$, where
\f$t_0\f$ is the time measured at some local reference point \f$\mathbf{x}_ \f$t_0\f$ is the time measured at some local reference point \f$\mathbf{
0\f$, x}_0\f$,
and \f$t\f$ is the time measured by a synchronized clock at \f$\mathbf{x}\f and \f$t\f$ is the time measured by a synchronized clock at \f$\mathbf{x
$. We }\f$. We
adopt the standard meaning of the instantaneous strain amplitudes adopt the standard meaning of the instantaneous strain amplitudes
\f$h_{+,\times}\f$: in some reference transverse \f$x\f$-\f$y\f$ coordinate \f$h_{+,\times}\f$: in some reference transverse \f$x\f$-\f$y\f$ coordin
system ate system
oriented such that \f$\mathbf{\hat{x}}\times\mathbf{\hat{y}}=-\mathbf{\hat{ oriented such that \f$\mathbf{\hat{x}}\times\mathbf{\hat{y}}=-\mathbf{\h
n}}\f$ at{n}}\f$
points in the direction of propagation, two free observers originally points in the direction of propagation, two free observers originally
separated by a displacement \f$(x,y)\f$ will experience an additional separated by a displacement \f$(x,y)\f$ will experience an additional
tidal displacement \f$\delta x=(xh_+ + yh_\times)/2\f$, \f$\delta tidal displacement \f$\delta x=(xh_+ + yh_\times)/2\f$, \f$\delta
y=(xh_\times - yh_+)/2\f$. y=(xh_\times - yh_+)/2\f$.
\heading{Quasiperiodic waves:} Most astrophysical sources of \heading{Quasiperiodic waves:} Most astrophysical sources of
gravitational radiation are described as \e quasiperiodic (or, gravitational radiation are described as \e quasiperiodic (or,
less accurately, as "adiabatic"), in that they can be said to have less accurately, as "adiabatic"), in that they can be said to have
an instantaneous frequency, amplitude, and polarization, all of which an instantaneous frequency, amplitude, and polarization, all of which
vary on timescales much longer than a wave period. Mathematically we vary on timescales much longer than a wave period. Mathematically we
write this as: write this as:
\f[ \f[
h_{+,\times}(t) = A_{+,\times}(t)\cos\phi(t) h_{+,\times}(t) = A_{+,\times}(t)\cos\phi(t)
+ B_{+,\times}(t)\sin\phi(t) \; , + B_{+,\times}(t)\sin\phi(t) \; ,
\f] \f]
\wrapfig{r,0.47\textwidth,fig_phase_diagram} \wrapfig{r,0.47\textwidth,fig_phase_diagram}
\image html inject_phase_diagram.png "Fig. [fig_phase_diagram]: Polarizatio \image html inject_phase_diagram.png "Fig. [fig_phase_diagram]: Polariza
n phase diagram for a quasiperiodic gravitational wave. The phase point p(t tion phase diagram for a quasiperiodic gravitational wave. The phase point
) traces out the indicated ellipse in the h_+,h_x plane; the parameters A1, p(t) traces out the indicated ellipse in the h_+,h_x plane; the parameters
A2 and Phi remain roughly constant over many cycles in phi." A1, A2 and Phi remain roughly constant over many cycles in phi."
\image latex inject_phase_diagram.eps "Polarization phase diagram for a qua \image latex inject_phase_diagram.eps "Polarization phase diagram for a
siperiodic gravitational wave. The phase point p(t) traces out the indicate quasiperiodic gravitational wave. The phase point p(t) traces out the indic
d ellipse in the h_+,h_x plane; the parameters A1, A2 and Phi remain roughl ated ellipse in the h_+,h_x plane; the parameters A1, A2 and Phi remain rou
y constant over many cycles in phi." width=0.42\textwidth ghly constant over many cycles in phi." width=0.42\textwidth
where \f$\phi(t)=2\pi\int f(t)\,dt\f$, and the <em>evolution timescale</em> where \f$\phi(t)=2\pi\int f(t)\,dt\f$, and the <em>evolution timescale</
\f$\tau=\min\{A/\dot{A},B/\dot{B},f/\dot{f}\}\f$ is much greater than em>
\f$h/\dot{h}\sim1/f\f$. Obviously it is mathematically impossible for the \f$\tau=\min\{A/\dot{A},B/\dot{B},f/\dot{f}\}\f$ is much greater than
physical functions \f$h_{+,\times}(t)\f$ to specify uniquely more than two \f$h/\dot{h}\sim1/f\f$. Obviously it is mathematically impossible for t
other functions of time; we rely on the notion of quasiperiodicity to he
define "natural" choices of instantaneous frequency and amplitude. physical functions \f$h_{+,\times}(t)\f$ to specify uniquely more than t
The ambiguity in this choice is on the order of the amount that these wo
quantities change over a cycle. other functions of time; we rely on the notion of quasiperiodicity to
define "natural" choices of instantaneous frequency and amplitude.
While the above formula appears to have five degrees of freedom (two The ambiguity in this choice is on the order of the amount that these
quadrature amplitudes \f$A\f$ and \f$B\f$ for each polarization, plus a com quantities change over a cycle.
mon
phase function \f$\phi\f$), there is a degeneracy between the two While the above formula appears to have five degrees of freedom (two
quadrature amplitudes and a shift in phase. One could simply treat quadrature amplitudes \f$A\f$ and \f$B\f$ for each polarization, plus a
each polarization independently and represent the system with two common
amplitude functions \f$A_{+,\times}\f$ and two phase functions phase function \f$\phi\f$), there is a degeneracy between the two
\f$\phi_{+,\times}\f$, but we would like to preserve the notion that the quadrature amplitudes and a shift in phase. One could simply treat
phases of the two waveforms derive from a single underlying each polarization independently and represent the system with two
instantaneous frequency. We therefore write the waveforms in terms of amplitude functions \f$A_{+,\times}\f$ and two phase functions
two polarization amplitudes \f$A_1(t)\f$ and \f$A_2(t)\f$, a single phase \f$\phi_{+,\times}\f$, but we would like to preserve the notion that the
function \f$\phi(t)\f$, and a polarization shift \f$\Phi(t)\f$: phases of the two waveforms derive from a single underlying
\anchor eq_quasiperiodic_hplus \anchor eq_quasiperiodic_hcross \f{eqnarray} instantaneous frequency. We therefore write the waveforms in terms of
{ two polarization amplitudes \f$A_1(t)\f$ and \f$A_2(t)\f$, a single phas
\label{eq_quasiperiodic_hplus} e
h_+(t) & = & A_1(t)\cos\Phi(t)\cos\phi(t) function \f$\phi(t)\f$, and a polarization shift \f$\Phi(t)\f$:
- A_2(t)\sin\Phi(t)\sin\phi(t) \; , \\ \anchor eq_quasiperiodic_hpluscross \f{eqnarray}{
\label{eq_quasiperiodic_hcross} \label{eq_quasiperiodic_hpluscross}
h_\times(t) & = & A_1(t)\sin\Phi(t)\cos\phi(t) h_+(t) & = & A_1(t)\cos\Phi(t)\cos\phi(t)
+ A_2(t)\cos\Phi(t)\sin\phi(t) \; . - A_2(t)\sin\Phi(t)\sin\phi(t) \; , \\
\f} h_\times(t) & = & A_1(t)\sin\Phi(t)\cos\phi(t)
The physical meaning of these functions is shown in Fig.\figref{fig_phase_d + A_2(t)\cos\Phi(t)\sin\phi(t) \; .
iagram}. \f}
The physical meaning of these functions is shown in Fig.\figref{fig_phas
There is a close relationship between the polarization shift \f$\Phi\f$ e_diagram}.
and the orientation of the \f$x\f$-\f$y\f$ coordinates used to define our
polarization basis: if we rotate the \f$x\f$ and \f$y\f$ axes by an angle There is a close relationship between the polarization shift \f$\Phi\f$
\f$\Delta\psi\f$, we change \f$\Phi\f$ by an amount \f$-2\Delta\psi\f$. (T and the orientation of the \f$x\f$-\f$y\f$ coordinates used to define ou
he r
factor of 2 comes from the fact that the + and \f$\times\f$ modes are polarization basis: if we rotate the \f$x\f$ and \f$y\f$ axes by an angl
quadrupolar: a + mode rotated \f$45^\circ\f$ is a \f$\times\f$ mode, and a e
mode rotated \f$90^\circ\f$ is the opposite of itself.) We use the \f$\Delta\psi\f$, we change \f$\Phi\f$ by an amount \f$-2\Delta\psi\f$.
<em>polarization angle</em> \f$\psi\f$ to define the orientation of the (The
\f$x\f$-axis of the polarization basis relative to an Earth-fixed factor of 2 comes from the fact that the + and \f$\times\f$ modes are
reference frame (see the coordinate conventions below). If \f$\Phi\f$ is quadrupolar: a + mode rotated \f$45^\circ\f$ is a \f$\times\f$ mode, and
constant, one can redefine \f$\psi\f$ such that \f$\Phi=0\f$; however, when a
\f$\Phi\f$ changes with time, we would nonetheless like our polarization mode rotated \f$90^\circ\f$ is the opposite of itself.) We use the
basis to remain fixed. We therefore retain the constant \f$\psi\f$ and <em>polarization angle</em> \f$\psi\f$ to define the orientation of the
the function \f$\Phi(t)\f$ as distinct quantities. \f$x\f$-axis of the polarization basis relative to an Earth-fixed
reference frame (see the coordinate conventions below). If \f$\Phi\f$ i
The advantage of this quasiperiodic representation of a gravitational s
wave is that a physical sampling of the parameters \f$A_1\f$, \f$A_2\f$, constant, one can redefine \f$\psi\f$ such that \f$\Phi=0\f$; however, w
\f$\phi\f$, and \f$\Phi\f$ need only be done on timescales \f$\Delta hen
t\lesssim\tau\f$, whereas the actual wave functions \f$h_{+,\times}\f$ need \f$\Phi\f$ changes with time, we would nonetheless like our polarization
to be sampled on timescales \f$\Delta t\lesssim1/f\f$. basis to remain fixed. We therefore retain the constant \f$\psi\f$ and
the function \f$\Phi(t)\f$ as distinct quantities.
The following coordinate conventions are assumed:
<ol> The advantage of this quasiperiodic representation of a gravitational
<li> Fig. 7 of [\ref Will_C_1996] defines standard coordinate wave is that a physical sampling of the parameters \f$A_1\f$, \f$A_2\f$,
conventions for nonprecessing binaries, and by extension, for any \f$\phi\f$, and \f$\Phi\f$ need only be done on timescales \f$\Delta
fixed-axis rotating source: If \f$\mathbf{\hat{z}}\f$ points in the directi t\lesssim\tau\f$, whereas the actual wave functions \f$h_{+,\times}\f$ n
on eed
of wave propagation (away from the source), and \f$\mathbf{\hat{l}}\f$ poin to be sampled on timescales \f$\Delta t\lesssim1/f\f$.
ts
in the (constant) direction of the source's angular momentum vector, The following coordinate conventions are assumed:
then the \f$x\f$-\f$y\f$ coordinates used to define the + and \f$\times\f$ <ol>
polarizations are given by \f$\mathbf{\hat{x}}=|\csc <li> Fig. 7 of [\ref Will_C_1996] defines standard coordinate
i|\mathbf{\hat{z}}\times\mathbf{\hat{l}}\f$ and conventions for nonprecessing binaries, and by extension, for any
\f$\mathbf{\hat{y}}=\mathbf{\hat{z}}\times\mathbf{\hat{x}}\f$, where fixed-axis rotating source: If \f$\mathbf{\hat{z}}\f$ points in the dire
\f$i=\arccos(\mathbf{\hat{z}}\cdot\mathbf{\hat{l}})\f$ is the inclination a ction
ngle of wave propagation (away from the source), and \f$\mathbf{\hat{l}}\f$ p
between \f$\mathbf{\hat{l}}\f$ and \f$\mathbf{\hat{z}}\f$. Such a system w oints
ill in the (constant) direction of the source's angular momentum vector,
generically have \f$A_1(t)=A(t)(1+\cos^2i)\f$, \f$A_2(t)=2A(t)\cos i\f$, then the \f$x\f$-\f$y\f$ coordinates used to define the + and \f$\times\
\f$\Phi(t)=0\f$, and \f$f(t)>0\f$ (i.e.\ \f$\phi(t)\f$ increasing with time f$
). For polarizations are given by \f$\mathbf{\hat{x}}=|\csc
precessing systems, prescriptions for \f$\mathbf{\hat{x}}\f$ and i|\mathbf{\hat{z}}\times\mathbf{\hat{l}}\f$ and
\f$\mathbf{\hat{y}}\f$ become ambiguous, but they \e must be fixed; the \f$\mathbf{\hat{y}}=\mathbf{\hat{z}}\times\mathbf{\hat{x}}\f$, where
relations for \f$A_1\f$, \f$A_2\f$, and \f$\Phi\f$ will no longer be mainta \f$i=\arccos(\mathbf{\hat{z}}\cdot\mathbf{\hat{l}})\f$ is the inclinatio
ined.</li> n angle
between \f$\mathbf{\hat{l}}\f$ and \f$\mathbf{\hat{z}}\f$. Such a syste
<li> Appendix B of [\ref Anderson_W2000] defines a convention for m will
the overal polarization angle \f$\psi\f$: Let \f$\mathbf{\hat{N}}\f$ be the generically have \f$A_1(t)=A(t)(1+\cos^2i)\f$, \f$A_2(t)=2A(t)\cos i\f$,
direction of the Earth's north celestial pole, and define the \f$\Phi(t)=0\f$, and \f$f(t)>0\f$ (i.e.\ \f$\phi(t)\f$ increasing with t
direction of the <em>ascending node</em> ime). For
\f$\mathbf{\hat{\Omega}}=|\csc\alpha|\mathbf{\hat{N}}\times\mathbf{\hat{z}} precessing systems, prescriptions for \f$\mathbf{\hat{x}}\f$ and
\f$, where \f$\mathbf{\hat{y}}\f$ become ambiguous, but they \e must be fixed; the
\f$\alpha\f$ is the right ascension of the source. Then \f$\psi\f$ is the relations for \f$A_1\f$, \f$A_2\f$, and \f$\Phi\f$ will no longer be mai
angle, right-handed about \f$\mathbf{\hat{z}}\f$, from \f$\mathbf{\hat{\Ome ntained.</li>
ga}}\f$ to
\f$\mathbf{\hat{x}}\f$.</li> <li> Appendix B of [\ref Anderson_W2000] defines a convention for
the overal polarization angle \f$\psi\f$: Let \f$\mathbf{\hat{N}}\f$ be
<li> The direction of propagation of the wave is defined by the right the
ascension \f$\alpha\f$ and declination \f$\delta\f$ of the \e source, as direction of the Earth's north celestial pole, and define the
seen from the point of measurement. See \ref SkyCoordinates_h for a direction of the <em>ascending node</em>
definition of these quantities. We expect that these will be \f$\mathbf{\hat{\Omega}}=|\csc\alpha|\mathbf{\hat{N}}\times\mathbf{\hat{
effectively constant for almost any gravitational wave source of z}}\f$, where
interest.</li> \f$\alpha\f$ is the right ascension of the source. Then \f$\psi\f$ is t
</ol> he
angle, right-handed about \f$\mathbf{\hat{z}}\f$, from \f$\mathbf{\hat{\
\heading{The polarization response:} The relative strain induced in Omega}}\f$ to
the test masses of a detector by a passing gravitational wave depends \f$\mathbf{\hat{x}}\f$.</li>
not only on the amplitudes \f$h_{+,\times}\f$ of the gravitational wave,
but also on the design of the detector and its orientation with <li> The direction of propagation of the wave is defined by the right
relative to the \f$x\f$-\f$y\f$ coordinate system used to define the + and ascension \f$\alpha\f$ and declination \f$\delta\f$ of the \e source, as
\f$\times\f$ polarizations. For a given detector, the response to each seen from the point of measurement. See \ref SkyCoordinates_h for a
polarization thus depends on the right ascension \f$\alpha\f$, declination definition of these quantities. We expect that these will be
\f$\delta\f$, and polarization angle \f$\psi\f$ of the source (which define effectively constant for almost any gravitational wave source of
the orientation of the + and \f$\times\f$ polarization axes relative to interest.</li>
the Earth), and on the time \f$t\f$ (which determines the orientation of </ol>
the detector as the Earth rotates). The strain \f$h(t)\f$ induced in the
detector is thus given by two polarization response functions \heading{The polarization response:} The relative strain induced in
\f$F_{+,\times}(\alpha,\delta,\psi;t)\f$ by: the test masses of a detector by a passing gravitational wave depends
\f[ not only on the amplitudes \f$h_{+,\times}\f$ of the gravitational wave,
h(t) = h_+(t)F_+(\alpha,\delta,\psi;t) + but also on the design of the detector and its orientation with
h_\times(t)F_\times(\alpha,\delta,\psi;t) \; . relative to the \f$x\f$-\f$y\f$ coordinate system used to define the + a
\f] nd
We will not discuss the computation of these functions \f$F_{+,\times}\f$, \f$\times\f$ polarizations. For a given detector, the response to each
as these are covered under the header \ref DetResponse_h. polarization thus depends on the right ascension \f$\alpha\f$, declinati
on
\heading{The transfer function:} All gravitational wave detectors \f$\delta\f$, and polarization angle \f$\psi\f$ of the source (which def
incorporate a set of analog and digital filters that convert a ine
gravitational excitation on the test masses into a measurable output the orientation of the + and \f$\times\f$ polarization axes relative to
time series. The effects of these functions are aggregated into a the Earth), and on the time \f$t\f$ (which determines the orientation of
complex-valued <em>transfer function</em> \f${\cal T}(f)\f$, which gives th the detector as the Earth rotates). The strain \f$h(t)\f$ induced in th
e e
instrumental response (in units of "counts" from an detector is thus given by two polarization response functions
analog\f$\rightarrow\f$digital converter) to gravitational waves of unit \f$F_{+,\times}(\alpha,\delta,\psi;t)\f$ by:
amplitued at the frequency \f$f\f$. Specifically, if the strain exerted \f[
on the antenna is given by \f$h(t)=\mathrm{Re}[{\cal H}e^{2\pi ift}]\f$ h(t) = h_+(t)F_+(\alpha,\delta,\psi;t) +
(where the complex amplitude \f$\cal H\f$ includes the phase of the wave), h_\times(t)F_\times(\alpha,\delta,\psi;t) \; .
then the ADC output of the instrument is given by: \f]
\f[ We will not discuss the computation of these functions \f$F_{+,\times}\f
o(t) = \mathrm{Re}\left[ {\cal T}(f) {\cal H}e^{2\pi ift} \right] \; . $,
\f] as these are covered under the header \ref DetResponse_h.
The transfer function has a strong frequency dependence in order to
"whiten" the highly-coloured instrumental noise, and thus preserve \heading{The transfer function:} All gravitational wave detectors
instrumental sensitivity across a broad band of frequencies. incorporate a set of analog and digital filters that convert a
gravitational excitation on the test masses into a measurable output
We note that although the transfer function measures the response of time series. The effects of these functions are aggregated into a
the instrument to a gravitational wave, the term <em>response complex-valued <em>transfer function</em> \f${\cal T}(f)\f$, which gives
function</em> refers to inverse transformation of taking an instrumental the
response and computing a gravitational waveform; that is, \f${\cal instrumental response (in units of "counts" from an
R}(f)=1/{\cal T}(f)\f$. This confusing bit of nomenclature arises from analog\f$\rightarrow\f$digital converter) to gravitational waves of unit
the fact that most data analysis deals with extracting gravitational amplitued at the frequency \f$f\f$. Specifically, if the strain exerted
waveforms from the instrumental output, rather than injecting on the antenna is given by \f$h(t)=\mathrm{Re}[{\cal H}e^{2\pi ift}]\f$
waveforms into the output. (where the complex amplitude \f$\cal H\f$ includes the phase of the wave
),
For quasiperiodic waveforms with a well-defined instantaneous then the ADC output of the instrument is given by:
frequency \f$f(t)\f$ and phase \f$\phi(t)\f$, we can compute the response o \f[
f o(t) = \mathrm{Re}\left[ {\cal T}(f) {\cal H}e^{2\pi ift} \right] \; .
the instrument entirely in the time domain in the adiabatic limit: if \f]
our instrumental excitation is a linear superposition of waveforms The transfer function has a strong frequency dependence in order to
\f$h(t)=\mathrm{Re}[{\cal H}(t)e^{i\phi(t)}]\f$, then the output is a "whiten" the highly-coloured instrumental noise, and thus preserve
superposition of waves of the form instrumental sensitivity across a broad band of frequencies.
\f[
o(t) \approx \mathrm{Re}\left[ {\cal T}\{f(t)\} We note that although the transfer function measures the response of
{\cal H}(t)e^{i\phi(t)} \right] \; . the instrument to a gravitational wave, the term <em>response
\f] function</em> refers to inverse transformation of taking an instrumental
This expression is approximate to the extent that \f${\cal T}(f)\f$ varies response and computing a gravitational waveform; that is, \f${\cal
over the range \f$f\pm1/\tau\f$, where \f$\tau\f$ is the evolution timescal R}(f)=1/{\cal T}(f)\f$. This confusing bit of nomenclature arises from
e the fact that most data analysis deals with extracting gravitational
of \f${\cal H}(t)\f$ and \f$f(t)\f$. Since the transfer function and waveforms from the instrumental output, rather than injecting
polarization response (above) are linear operators, we can apply them waveforms into the output.
in either order.
For quasiperiodic waveforms with a well-defined instantaneous
\heading{A note on terminology:} We use the word "coherent" in the frequency \f$f(t)\f$ and phase \f$\phi(t)\f$, we can compute the respons
name of this header in the loosest possible sense, refering to any e of
wave with a well-defined direction of propagation, whose wave the instrument entirely in the time domain in the adiabatic limit: if
amplitudes \f$h_{+,\times}\f$ are deterministic functions of retarded our instrumental excitation is a linear superposition of waveforms
time. Given a knowledge of these parameters, such a waveform is \f$h(t)=\mathrm{Re}[{\cal H}(t)e^{i\phi(t)}]\f$, then the output is a
amenable to "coherent" detection in a network of detectors, through superposition of waves of the form
time-shifted matched filtering. \f[
o(t) \approx \mathrm{Re}\left[ {\cal T}\{f(t)\}
However, coherence is often used to refer to a more restricted class {\cal H}(t)e^{i\phi(t)} \right] \; .
of waveforms that are "effectively monochromatic" over some \f]
coherence timescale \f$t_\mathrm{coh}\f$; i.e.\ in any timespan This expression is approximate to the extent that \f${\cal T}(f)\f$ vari
\f$t_\mathrm{coh}\f$ there is a fixed-frequency sinusoid that is never es
more than \f$90^\circ\f$ out of phase with the waveform. This is more over the range \f$f\pm1/\tau\f$, where \f$\tau\f$ is the evolution times
retrictive even than our concept of quasiperiodic waves; for cale
smoothly-varying waveforms one has \f$t_\mathrm{coh}\sim\dot{f}^{-1/2}\f$, of \f${\cal H}(t)\f$ and \f$f(t)\f$. Since the transfer function and
which is much shorter than the evolution timescale \f$\tau\sim polarization response (above) are linear operators, we can apply them
f/\dot{f}\f$ (provided \f$\tau\gg1/f\f$, as we have assumed). in either order.
\heading{A note on terminology:} We use the word "coherent" in the
name of this header in the loosest possible sense, refering to any
wave with a well-defined direction of propagation, whose wave
amplitudes \f$h_{+,\times}\f$ are deterministic functions of retarded
time. Given a knowledge of these parameters, such a waveform is
amenable to "coherent" detection in a network of detectors, through
time-shifted matched filtering.
However, coherence is often used to refer to a more restricted class
of waveforms that are "effectively monochromatic" over some
coherence timescale \f$t_\mathrm{coh}\f$; i.e.\ in any timespan
\f$t_\mathrm{coh}\f$ there is a fixed-frequency sinusoid that is never
more than \f$90^\circ\f$ out of phase with the waveform. This is more
retrictive even than our concept of quasiperiodic waves; for
smoothly-varying waveforms one has \f$t_\mathrm{coh}\sim\dot{f}^{-1/2}\f
$,
which is much shorter than the evolution timescale \f$\tau\sim
f/\dot{f}\f$ (provided \f$\tau\gg1/f\f$, as we have assumed).
*/ */
/*@{*/ /*@{*/
/** \name Error Codes */ /** \name Error Codes */
/*@{*/ /*@{*/
#define SIMULATECOHERENTGWH_ENUL 1 /**< Unexpected null pointer in argu ments */ #define SIMULATECOHERENTGWH_ENUL 1 /**< Unexpected null pointer in argu ments */
#define SIMULATECOHERENTGWH_EBAD 2 /**< A sampling interval is (effecti vely) zero */ #define SIMULATECOHERENTGWH_EBAD 2 /**< A sampling interval is (effecti vely) zero */
#define SIMULATECOHERENTGWH_ESIG 3 /**< Input signal must specify ampli tude and phase functions */ #define SIMULATECOHERENTGWH_ESIG 3 /**< Input signal must specify ampli tude and phase functions */
#define SIMULATECOHERENTGWH_EDIM 4 /**< Amplitude must be a 2-dimension al vector */ #define SIMULATECOHERENTGWH_EDIM 4 /**< Amplitude must be a 2-dimension al vector */
skipping to change at line 294 skipping to change at line 293
* *
*/ */
typedef struct tagCoherentGW { typedef struct tagCoherentGW {
SkyPosition position; /**< The location of the source in the sky; thi s should be in equatorial celestial coordinates, but routines may be able t o do the conversion */ SkyPosition position; /**< The location of the source in the sky; thi s should be in equatorial celestial coordinates, but routines may be able t o do the conversion */
REAL4 psi; /**< The polarization angle \f$\psi\f$, in radi ans, as defined in Appendix B of [\ref Anderson_W2000] */ REAL4 psi; /**< The polarization angle \f$\psi\f$, in radi ans, as defined in Appendix B of [\ref Anderson_W2000] */
REAL4TimeVectorSeries *h; /**< A time-sampled two-dimensional vector stor ing the waveforms \f$h_+(t)\f$ and \f$h_\times(t)\f$, in dimensionless stra in */ REAL4TimeVectorSeries *h; /**< A time-sampled two-dimensional vector stor ing the waveforms \f$h_+(t)\f$ and \f$h_\times(t)\f$, in dimensionless stra in */
REAL4TimeVectorSeries *a; /**< A time-sampled two-dimensional vector stor ing the amplitudes \f$A_1(t)\f$ and \f$A_2(t)\f$, in dimensionless strain * / REAL4TimeVectorSeries *a; /**< A time-sampled two-dimensional vector stor ing the amplitudes \f$A_1(t)\f$ and \f$A_2(t)\f$, in dimensionless strain * /
REAL4TimeSeries *f; /**< A time-sampled sequence storing the instan taneous frequency \f$f(t)\f$, in Hz. */ REAL4TimeSeries *f; /**< A time-sampled sequence storing the instan taneous frequency \f$f(t)\f$, in Hz. */
REAL8TimeSeries *phi; /**< A time-sampled sequence storing the phase function \f$\phi(t)\f$, in radians */ REAL8TimeSeries *phi; /**< A time-sampled sequence storing the phase function \f$\phi(t)\f$, in radians */
REAL4TimeSeries *shift; /**< A time-sampled sequence storing the polari zation shift \f$\Phi(t)\f$, in radians */ REAL4TimeSeries *shift; /**< A time-sampled sequence storing the polari zation shift \f$\Phi(t)\f$, in radians */
UINT4 dtDelayBy2; /**< A user specified half-interval time step f
or the Doppler delay look-up table (will default to 400s if set to 0) */
UINT4 dtPolBy2; /**< A user defined half-interval time step for
the polarisation response look-up table (will default to 300s if set to 0)
*/
} CoherentGW; } CoherentGW;
/** This structure contains information required to determine the response /** This structure contains information required to determine the response
* of a detector to a gravitational waveform. * of a detector to a gravitational waveform.
*/ */
typedef struct tagDetectorResponse { typedef struct tagDetectorResponse {
COMPLEX8FrequencySeries *transfer; /**< The frequency-dependent transfe r function of the interferometer, in ADC counts per unit strain amplitude a t any given frequency; COMPLEX8FrequencySeries *transfer; /**< The frequency-dependent transf er function of the interferometer, in ADC counts per unit strain amplitude at any given frequency;
* if absent, the response will be given in raw strain rather than ADC output */ * if absent, the response will be given in raw strain rather than ADC output */
LALDetector *site; /**< A structure storing sit e and polarization information, used to compute the polarization response a nd the propagation delay; LALDetector *site; /**< A structure storing site and p olarization information, used to compute the polarization response and the propagation delay;
* if absent, the response will be computed to the plus mode waveform with no time delay */ * if absent, the response will be computed to the plus mode waveform with no time delay */
EphemerisData *ephemerides; /**< A structure storing the positions, velocities, and accelerations of the Earth and Sun centres of m ass, used to compute EphemerisData *ephemerides; /**< A structure storing the positi ons, velocities, and accelerations of the Earth and Sun centres of mass, us ed to compute
* the propagation delay to the sol ar system barycentre; * the propagation delay to the sol ar system barycentre;
* if absent, the propagation delay will be computed to the Earth centre (rather than a true barycentre) */ * if absent, the propagation delay will be computed to the Earth centre (rather than a true barycentre) */
LIGOTimeGPS heterodyneEpoch; /**< A reference time for he terodyned detector output time series, where the phase of the mixing signal is zero. LIGOTimeGPS heterodyneEpoch; /**< A reference time for heterodyn ed detector output time series, where the phase of the mixing signal is zer o.
* This parameter is only used when generating detector output time series with nonzero heterodyne frequency \ c f0. * This parameter is only used when generating detector output time series with nonzero heterodyne frequency \ c f0.
* (Note: This should really be a p arameter stored in the \c TimeSeries structure along with \c f0, but it isn t, so we * (Note: This should really be a p arameter stored in the \c TimeSeries structure along with \c f0, but it isn t, so we
* have to add it here.) * have to add it here.)
*/ */
} DetectorResponse; } DetectorResponse;
/* Function prototypes. */ /* Function prototypes. */
void void
LALSimulateCoherentGW( LALStatus *status, LALSimulateCoherentGW( LALStatus *status,
REAL4TimeSeries *output, REAL4TimeSeries *output,
CoherentGW *input, CoherentGW *input,
DetectorResponse *detector ); DetectorResponse *detector );
/*@}*/ /*@}*/
#if 0 #if 0
{ /* so that editors will match succeeding brace */ { /* so that editors will match succeeding brace */
#elif defined(__cplusplus) #elif defined(__cplusplus)
} }
#endif #endif
#endif /* _SIMULATECOHERENTGW_H */ #endif /* _SIMULATECOHERENTGW_H */
 End of changes. 10 change blocks. 
262 lines changed or deleted 286 lines changed or added


 Window.h   Window.h 
skipping to change at line 256 skipping to change at line 256
REAL8Window *XLALCreateGaussREAL8Window(UINT4 length, REAL8 beta); REAL8Window *XLALCreateGaussREAL8Window(UINT4 length, REAL8 beta);
void XLALDestroyREAL4Window(REAL4Window *window); void XLALDestroyREAL4Window(REAL4Window *window);
void XLALDestroyREAL8Window(REAL8Window *window); void XLALDestroyREAL8Window(REAL8Window *window);
REAL4Sequence *XLALUnitaryWindowREAL4Sequence(REAL4Sequence *sequence, cons t REAL4Window *window); REAL4Sequence *XLALUnitaryWindowREAL4Sequence(REAL4Sequence *sequence, cons t REAL4Window *window);
COMPLEX8Sequence *XLALUnitaryWindowCOMPLEX8Sequence(COMPLEX8Sequence *seque nce, const REAL4Window *window); COMPLEX8Sequence *XLALUnitaryWindowCOMPLEX8Sequence(COMPLEX8Sequence *seque nce, const REAL4Window *window);
REAL8Sequence *XLALUnitaryWindowREAL8Sequence(REAL8Sequence *sequence, cons t REAL8Window *window); REAL8Sequence *XLALUnitaryWindowREAL8Sequence(REAL8Sequence *sequence, cons t REAL8Window *window);
COMPLEX16Sequence *XLALUnitaryWindowCOMPLEX16Sequence(COMPLEX16Sequence *se quence, const REAL8Window *window); COMPLEX16Sequence *XLALUnitaryWindowCOMPLEX16Sequence(COMPLEX16Sequence *se quence, const REAL8Window *window);
REAL8Window *XLALCreateNamedREAL8Window ( const char *windowName, REAL8 bet
a, UINT4 length );
REAL4Window *XLALCreateNamedREAL4Window ( const char *windowName, REAL8 bet
a, UINT4 length );
/*@}*/ /*@}*/
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif /* _WINDOW_H */ #endif /* _WINDOW_H */
 End of changes. 1 change blocks. 
0 lines changed or deleted 5 lines changed or added


 XLALError.h   XLALError.h 
skipping to change at line 729 skipping to change at line 729
* Prototype: <b>XLAL_CHECK_REAL8(assertion, errnum [, fmt [, ...]])</b> * Prototype: <b>XLAL_CHECK_REAL8(assertion, errnum [, fmt [, ...]])</b>
* *
* \b Parameters:<ul> * \b Parameters:<ul>
* <li> \b assertion The assertion to test. * <li> \b assertion The assertion to test.
* <li> \b errnum The XLAL error number to set if the assertion is false. * <li> \b errnum The XLAL error number to set if the assertion is false.
* <li> \b fmt (Optional) Format string for additional error information. * <li> \b fmt (Optional) Format string for additional error information.
* <li> \b ... (Optional) Additional arguments for printf-like format. * <li> \b ... (Optional) Additional arguments for printf-like format.
* </ul> * </ul>
*/ */
#define XLAL_CHECK_REAL8(assertion, ...) \ #define XLAL_CHECK_REAL8(assertion, ...) \
XLAL_CHECK_VAL(XLAL_REAL4_FAIL_NAN, assertion, __VA_ARGS__) XLAL_CHECK_VAL(XLAL_REAL8_FAIL_NAN, assertion, __VA_ARGS__)
/*@}*/ /*@}*/
#if 0 #if 0
{ /* so that editors will match succeeding brace */ { /* so that editors will match succeeding brace */
#elif defined(__cplusplus) #elif defined(__cplusplus)
} }
#endif #endif
#endif /* XLALERROR_H */ #endif /* XLALERROR_H */
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 swiglal_common.i   swiglal_common.i 
skipping to change at line 165 skipping to change at line 165
// Version of SWIG used to generate wrapping code. // Version of SWIG used to generate wrapping code.
%inline %{const int swig_version = SWIG_VERSION;%} %inline %{const int swig_version = SWIG_VERSION;%}
// Whether wrapping code was generated in debug mode. // Whether wrapping code was generated in debug mode.
#ifdef NDEBUG #ifdef NDEBUG
%inline %{const bool swig_debug = false;%} %inline %{const bool swig_debug = false;%}
#else #else
%inline %{const bool swig_debug = true;%} %inline %{const bool swig_debug = true;%}
#endif #endif
// Constructors for GSL complex numbers. // Constructors for GSL complex numbers, if required.
#ifdef HAVE_LIBGSL
%header %{ %header %{
#include <gsl/gsl_complex_math.h> // provides gsl_complex_rect() #include <gsl/gsl_complex_math.h> // provides gsl_complex_rect()
SWIGINTERNINLINE gsl_complex_float gsl_complex_float_rect(float x, float y) { SWIGINTERNINLINE gsl_complex_float gsl_complex_float_rect(float x, float y) {
gsl_complex_float z; gsl_complex_float z;
GSL_SET_COMPLEX(&z, x, y); GSL_SET_COMPLEX(&z, x, y);
return z; return z;
} }
%} %}
#endif
// Convert XLAL/LAL errors into native scripting-language exceptions: // Convert XLAL/LAL errors into native scripting-language exceptions:
// - XLAL: Before performing any action, clear the XLAL error number. // - XLAL: Before performing any action, clear the XLAL error number.
// Check it after the action is performed; if it is non-zero, raise // Check it after the action is performed; if it is non-zero, raise
// a native scripting-language exception with the appropriate XLAL // a native scripting-language exception with the appropriate XLAL
// error message. // error message.
// - LAL: For any function which has a LALStatus* argument, create a // - LAL: For any function which has a LALStatus* argument, create a
// blank LALStatus struct and pass its pointer to the LAL function. // blank LALStatus struct and pass its pointer to the LAL function.
// After the function is called, check the LALStatus statusCode; // After the function is called, check the LALStatus statusCode;
// if it is non-zero, raise a generic XLAL error (to set the XLAL // if it is non-zero, raise a generic XLAL error (to set the XLAL
skipping to change at line 993 skipping to change at line 995
%set_varoutput(SWIG_NewPointerObj(%as_voidptr(&$1), $descriptor, (%newpoi nter_flags) & ~SWIG_POINTER_OWN)); %set_varoutput(SWIG_NewPointerObj(%as_voidptr(&$1), $descriptor, (%newpoi nter_flags) & ~SWIG_POINTER_OWN));
} }
%typemap(varout, noblock=1) SWIGTYPE { %typemap(varout, noblock=1) SWIGTYPE {
%set_varoutput(SWIG_NewPointerObj(%as_voidptr(&$1), $&descriptor, (%newpo inter_flags) & ~SWIG_POINTER_OWN)); %set_varoutput(SWIG_NewPointerObj(%as_voidptr(&$1), $&descriptor, (%newpo inter_flags) & ~SWIG_POINTER_OWN));
} }
// Typemaps for pointers to primitive scalars. These are treated as output- only // Typemaps for pointers to primitive scalars. These are treated as output- only
// arguments by default, by globally applying the SWIG OUTPUT typemaps. The INOUT // arguments by default, by globally applying the SWIG OUTPUT typemaps. The INOUT
// typemaps can be supplied as needed using the SWIGLAL(INOUT_SCALARS(TYPE, ...)) macro. // typemaps can be supplied as needed using the SWIGLAL(INOUT_SCALARS(TYPE, ...)) macro.
%apply int* OUTPUT { enum SWIGTYPE* }; %apply int* OUTPUT { enum SWIGTYPE* };
%apply signed char* OUTPUT { INT2* };
%apply unsigned char* OUTPUT { UINT2* };
%apply short* OUTPUT { short* }; %apply short* OUTPUT { short* };
%apply unsigned short* OUTPUT { unsigned short* }; %apply unsigned short* OUTPUT { unsigned short* };
%apply int* OUTPUT { int* }; %apply int* OUTPUT { int* };
%apply unsigned int* OUTPUT { unsigned int* }; %apply unsigned int* OUTPUT { unsigned int* };
%apply long* OUTPUT { long* }; %apply long* OUTPUT { long* };
%apply unsigned long* OUTPUT { unsigned long* }; %apply unsigned long* OUTPUT { unsigned long* };
%apply long long* OUTPUT { long long* }; %apply long long* OUTPUT { long long* };
%apply unsigned long long* OUTPUT { unsigned long long* }; %apply unsigned long long* OUTPUT { unsigned long long* };
%apply float* OUTPUT { float* }; %apply float* OUTPUT { float* };
%apply double* OUTPUT { double* }; %apply double* OUTPUT { double* };
%apply int8_t* OUTPUT { int8_t* };
%apply uint8_t* OUTPUT { uint8_t* };
%apply int16_t* OUTPUT { int16_t* };
%apply uint16_t* OUTPUT { uint16_t* };
%apply int32_t* OUTPUT { int32_t* };
%apply uint32_t* OUTPUT { uint32_t* };
%apply int64_t* OUTPUT { int64_t* };
%apply uint64_t* OUTPUT { uint64_t* };
%apply gsl_complex_float* OUTPUT { gsl_complex_float* }; %apply gsl_complex_float* OUTPUT { gsl_complex_float* };
%apply gsl_complex* OUTPUT { gsl_complex* }; %apply gsl_complex* OUTPUT { gsl_complex* };
%apply COMPLEX8* OUTPUT { COMPLEX8* }; %apply COMPLEX8* OUTPUT { COMPLEX8* };
%apply COMPLEX16* OUTPUT { COMPLEX16* }; %apply COMPLEX16* OUTPUT { COMPLEX16* };
%define %swiglal_public_INOUT_SCALARS(TYPE, ...) %define %swiglal_public_INOUT_SCALARS(TYPE, ...)
%swiglal_map_ab(%swiglal_apply, TYPE INOUT, TYPE, __VA_ARGS__); %swiglal_map_ab(%swiglal_apply, TYPE INOUT, TYPE, __VA_ARGS__);
%enddef %enddef
%define %swiglal_public_clear_INOUT_SCALARS(TYPE, ...) %define %swiglal_public_clear_INOUT_SCALARS(TYPE, ...)
%swiglal_map_a(%swiglal_clear, TYPE, __VA_ARGS__); %swiglal_map_a(%swiglal_clear, TYPE, __VA_ARGS__);
%enddef %enddef
 End of changes. 4 change blocks. 
3 lines changed or deleted 11 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/