LAL  7.5.0.1-08ee4f4
LALGSL.h File Reference

Prototypes

void LALGSLErrorHandler (const char *reason, const char *file, int line, int errnum)
 

Go to the source code of this file.

Macros

#define CALLGSL(statement, statusptr)
 
#define TRYGSL(statement, statusptr)
 

Variables

LALStatuslalGSLGlobalStatusPtr
 

Macro Definition Documentation

◆ CALLGSL

#define CALLGSL (   statement,
  statusptr 
)
Value:
if ( (statusptr) ) \
{ \
LALStatus *saveLALGSLGlobalStatusPtr_; \
gsl_error_handler_t *saveGSLErrorHandler_; \
if ( !( (statusptr)->statusPtr ) ) \
{ ABORT( (statusptr), -8, "CALLGSL: null status pointer pointer" ); } \
saveGSLErrorHandler_ = gsl_set_error_handler( LALGSLErrorHandler ); \
saveLALGSLGlobalStatusPtr_ = lalGSLGlobalStatusPtr; \
lalGSLGlobalStatusPtr = (statusptr)->statusPtr; \
statement; \
lalGSLGlobalStatusPtr = saveLALGSLGlobalStatusPtr_; \
gsl_set_error_handler( saveGSLErrorHandler_ ); \
} \
lalAbortHook( "Abort: CALLGSL, file %s, line %d\n" \
" Null status pointer passed to CALLGSL\n", \
__FILE__, __LINE__ )
void(* lalAbortHook)(const char *,...)
Definition: LALError.c:75
void LALGSLErrorHandler(const char *reason, const char *file, int line, int errnum)
LALStatus * lalGSLGlobalStatusPtr
Definition: LALGSL.c:24
#define ABORT(statusptr, code, mesg)

Definition at line 115 of file LALGSL.h.

◆ TRYGSL

#define TRYGSL (   statement,
  statusptr 
)
Value:
if ( (statusptr) ) \
{ \
LALStatus *saveLALGSLGlobalStatusPtr_; \
gsl_error_handler_t *saveGSLErrorHandler_; \
if ( !( (statusptr)->statusPtr ) ) \
{ ABORT( (statusptr), -8, "CALLGSL: null status pointer pointer" ); } \
saveGSLErrorHandler_ = gsl_set_error_handler( LALGSLErrorHandler ); \
saveLALGSLGlobalStatusPtr_ = lalGSLGlobalStatusPtr; \
lalGSLGlobalStatusPtr = (statusptr)->statusPtr; \
statement; \
lalGSLGlobalStatusPtr = saveLALGSLGlobalStatusPtr_; \
gsl_set_error_handler( saveGSLErrorHandler_ ); \
if ( (statusptr)->statusPtr->statusCode ) \
{ \
SETSTATUS( statusptr, -1, "Recursive error" ); \
(void) LALError( statusptr, "Statement \"" #statement "\" failed:" ); \
(void) LALTrace( statusptr, 1 ); \
return; \
} \
} \
lalAbortHook( "Abort: CALLGSL, file %s, line %d\n" \
" Null status pointer passed to CALLGSL\n", \
__FILE__, __LINE__ )
#define LALError(statusptr, statement)
Definition: LALError.h:95
#define LALTrace(statusptr, exitflg)
Definition: LALError.h:117

Definition at line 135 of file LALGSL.h.

Function Documentation

◆ LALGSLErrorHandler()

void LALGSLErrorHandler ( const char *  reason,
const char *  file,
int  line,
int  errnum 
)

Variable Documentation

◆ lalGSLGlobalStatusPtr

LALStatus* lalGSLGlobalStatusPtr
extern

Definition at line 24 of file LALGSL.c.