diff options
Diffstat (limited to 'gsl-1.9/specfunc/eval.h')
-rw-r--r-- | gsl-1.9/specfunc/eval.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/gsl-1.9/specfunc/eval.h b/gsl-1.9/specfunc/eval.h new file mode 100644 index 0000000..00ddfed --- /dev/null +++ b/gsl-1.9/specfunc/eval.h @@ -0,0 +1,17 @@ +/* evaluate a function discarding the status value in a modifiable way */ + +#define EVAL_RESULT(fn) \ + gsl_sf_result result; \ + int status = fn; \ + if (status != GSL_SUCCESS) { \ + GSL_ERROR_VAL(#fn, status, result.val); \ + } ; \ + return result.val; + +#define EVAL_DOUBLE(fn) \ + int status = fn; \ + if (status != GSL_SUCCESS) { \ + GSL_ERROR_VAL(#fn, status, result); \ + } ; \ + return result; + |