|
Packit |
67cb25 |
/* evaluate a function discarding the status value in a modifiable way */
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
#define EVAL_RESULT(fn) \
|
|
Packit |
67cb25 |
gsl_sf_result result; \
|
|
Packit |
67cb25 |
int status = fn; \
|
|
Packit |
67cb25 |
if (status != GSL_SUCCESS) { \
|
|
Packit |
67cb25 |
GSL_ERROR_VAL(#fn, status, result.val); \
|
|
Packit |
67cb25 |
} ; \
|
|
Packit |
67cb25 |
return result.val;
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
#define EVAL_DOUBLE(fn) \
|
|
Packit |
67cb25 |
int status = fn; \
|
|
Packit |
67cb25 |
if (status != GSL_SUCCESS) { \
|
|
Packit |
67cb25 |
GSL_ERROR_VAL(#fn, status, result); \
|
|
Packit |
67cb25 |
} ; \
|
|
Packit |
67cb25 |
return result;
|
|
Packit |
67cb25 |
|