The error handling form of the special functions always calculate an error estimate along with the value of the result. Therefore, structures are provided for amalgamating a value and error estimate. These structures are declared in the header file gsl_sf_result.h.
The gsl_sf_result
struct contains value and error fields.
typedef struct { double val; double err; } gsl_sf_result;
The field val contains the value and the field err contains an estimate of the absolute error in the value.
In some cases, an overflow or underflow can be detected and handled by a
function. In this case, it may be possible to return a scaling exponent
as well as an error/value pair in order to save the result from
exceeding the dynamic range of the built-in types. The
gsl_sf_result_e10
struct contains value and error fields as well
as an exponent field such that the actual result is obtained as
result * 10^(e10)
.
typedef struct { double val; double err; int e10; } gsl_sf_result_e10;