1 #define CONCAT2x(a,b) a##b
2 #define CONCAT2(a,b) CONCAT2x(a,b)
3 #define CONCAT3x(a,b,c) a##b##c
4 #define CONCAT3(a,b,c) CONCAT3x(a,b,c)
6 #define ATYPE CONCAT2(TYPE,Array)
7 #define TCODE CONCAT3(LAL_,TYPECODE,_TYPE_CODE)
9 #define ALLOCFUNC CONCAT2(XLALH5DatasetAlloc,ATYPE)
10 #define READFUNC CONCAT2(XLALH5DatasetRead,ATYPE)
12 #define CREATEFUNC CONCAT2(XLALCreate,ATYPE)
13 #define DESTROYFUNC CONCAT2(XLALDestroy,ATYPE)
20 if (!array->data || !array->dimLength || !array->dimLength->length || !array->dimLength->data)
LALH5Dataset * XLALH5DatasetAlloc(LALH5File *file, const char *name, LALTYPECODE dtype, UINT4Vector *dimLength)
struct tagLALH5File LALH5File
Incomplete type for a HDF5 file.
LALTYPECODE XLALH5DatasetQueryType(LALH5Dataset *dset)
UINT4Vector * XLALH5DatasetQueryDims(LALH5Dataset *dset)
struct tagLALH5Dataset LALH5Dataset
Incomplete type for a HDF5 dataset.
int XLALH5DatasetWrite(LALH5Dataset *dset, void *data)
void XLALH5DatasetFree(LALH5Dataset *dset)
int XLALH5DatasetQueryData(void *data, LALH5Dataset *dset)
LALTYPECODE
Type codes: use these type codes to identify a LAL atomic data type, see Headers LAL(Atomic)Datatypes...
void XLALDestroyUINT4Vector(UINT4Vector *vector)
#define XLAL_ERROR_NULL(...)
Macro to invoke a failure from a XLAL routine returning a pointer.
@ XLAL_ENOMEM
Memory allocation error.
@ XLAL_EFAULT
Invalid pointer.
@ XLAL_EFUNC
Internal function call failed bit: "or" this with existing error number.
@ XLAL_ETYPE
Wrong or unknown type.
@ XLAL_EINVAL
Invalid argument.
Vector of type UINT4, see DATATYPE-Vector types for more details.