The special functions are available in two calling conventions, a
**natural form** which returns the numerical value of the function and
an **error-handling form** which returns an error code. The two types
of function provide alternative ways of accessing the same underlying
code.

The **natural form** returns only the value of the function and can be
used directly in mathematical expressions.. For example, the following
function call will compute the value of the Bessel function
@math{J_0(x)},

double y = gsl_sf_bessel_J0 (x);

There is no way to access an error code or to estimate the error using this method. To allow access to this information the alternative error-handling form stores the value and error in a modifiable argument,

gsl_sf_result result; int status = gsl_sf_bessel_J0_e (x, &result);

The error-handling functions have the suffix `_e`

. The returned
status value indicates error conditions such as overflow, underflow or
loss of precision. If there are no errors the error-handling functions
return `GSL_SUCCESS`

.

Go to the first, previous, next, last section, table of contents.