#include <iostream>
#include <string>
#include <gsl/gsl_errno.h>
Go to the source code of this file.
Definition in file err_hnd.h.
Data Structures | |
class | err_base |
Class defining an error handler [abstract base]. More... | |
class | err_class |
The error handler. More... | |
Defines | |
#define | O2SCL_ERR(d, n) o2scl::set_err_fn(d,__FILE__,__LINE__,n); |
Set an error with message d and code n . | |
#define | O2SCL_CONV(d, n, b) {if (b) o2scl::set_err_fn(d,__FILE__,__LINE__,n);} |
Set a "convergence" error. | |
#define | O2SCL_ERR2(d, d2, n) |
Set an error, two-string version. | |
#define | O2SCL_CONV2(d, d2, n, b) |
Set a "convergence" error, two-string version. | |
#define | O2SCL_ERR_RET(d, n) do { o2scl::set_err_fn(d,__FILE__,__LINE__,n); return n; } while (0) |
Set an error and return the error value. | |
#define | O2SCL_CONV_RET(d, n, b) |
Set a "convergence" error and return the error value. | |
#define | O2SCL_ERR2_RET(d, d2, n) |
Set an error and return the error value, two-string version. | |
#define | O2SCL_CONV2_RET(d, d2, n, b) |
Set an error and return the error value, two-string version. | |
#define | O2SCL_ASSERT(ev) |
A version of assert , i.e. exit if the error value is non-zero and do nothing otherwise. | |
#define | O2SCL_BOOL_ASSERT(ev, str) |
A version of assert for bool types. Exit if the argument is false. | |
Enumerations | |
enum | { gsl_success = 0, gsl_failure = -1, gsl_continue = -2, gsl_edom = 1, gsl_erange = 2, gsl_efault = 3, gsl_einval = 4, gsl_efailed = 5, gsl_efactor = 6, gsl_esanity = 7, gsl_enomem = 8, gsl_ebadfunc = 9, gsl_erunaway = 10, gsl_emaxiter = 11, gsl_ezerodiv = 12, gsl_ebadtol = 13, gsl_etol = 14, gsl_eundrflw = 15, gsl_eovrflw = 16, gsl_eloss = 17, gsl_eround = 18, gsl_ebadlen = 19, gsl_enotsqr = 20, gsl_esing = 21, gsl_ediverge = 22, gsl_eunsup = 23, gsl_eunimpl = 24, gsl_ecache = 25, gsl_etable = 26, gsl_enoprog = 27, gsl_enoprogj = 28, gsl_etolf = 29, gsl_etolx = 30, gsl_etolg = 31, gsl_eof = 32, gsl_enotfound = 33, gsl_ememtype = 34, gsl_efilenotfound = 35, gsl_eindex = 36, gsl_outsidecons = 37 } |
The integer error definitions. More... | |
Functions | |
void | set_err_fn (const char *desc, const char *file, int line, int errnum) |
Set an error. | |
void | error_update (int &ret, int err) |
Update an error value err with the value in ret . | |
Variables | |
err_base * | err_hnd |
The global error handler pointer. | |
err_class | def_err_hnd |
The default error handler. |
#define O2SCL_ASSERT | ( | ev | ) |
A version of assert
, i.e. exit if the error value is non-zero and do nothing otherwise.
#define O2SCL_CONV_RET | ( | d, | |||
n, | |||||
b | ) |
Value:
do { if (!b) { return 0; } else { \ o2scl::set_err_fn(d,__FILE__,__LINE__,n); return n; } } while (0)
#define O2SCL_ERR2 | ( | d, | |||
d2, | |||||
n | ) |
Value:
o2scl::set_err_fn((std::string(d)+d2).c_str(), \ __FILE__,__LINE__,n);
#define O2SCL_ERR2_RET | ( | d, | |||
d2, | |||||
n | ) |
Value:
do { o2scl::set_err_fn((std::string(d)+d2).c_str(), \ __FILE__,__LINE__,n); return n; } while (0)
anonymous enum |
The integer error definitions.
The errors associated with the integers between -2 and 32 are from GSL, the rest are specific to O2scl .
gsl_success | Success (GSL). |
gsl_failure | Failure (GSL). |
gsl_continue | iteration has not converged (GSL) |
gsl_edom | input domain error, e.g sqrt(-1) (GSL) |
gsl_erange | output range error, e.g. exp(1e100) (GSL) |
gsl_efault | invalid pointer (GSL) |
gsl_einval | invalid argument supplied by user (GSL) |
gsl_efailed | generic failure (GSL) |
gsl_efactor | factorization failed (GSL) |
gsl_esanity | sanity check failed - shouldn't happen (GSL) |
gsl_enomem | malloc failed (GSL) |
gsl_ebadfunc | problem with user-supplied function (GSL) |
gsl_erunaway | iterative process is out of control (GSL) |
gsl_emaxiter | exceeded max number of iterations (GSL) |
gsl_ezerodiv | tried to divide by zero (GSL) |
gsl_ebadtol | user specified an invalid tolerance (GSL) |
gsl_etol | failed to reach the specified tolerance (GSL) |
gsl_eundrflw | underflow (GSL) |
gsl_eovrflw | overflow (GSL) |
gsl_eloss | loss of accuracy (GSL) |
gsl_eround | failed because of roundoff error (GSL) |
gsl_ebadlen | matrix, vector lengths are not conformant (GSL) |
gsl_enotsqr | matrix not square (GSL) |
gsl_esing | apparent singularity detected (GSL) |
gsl_ediverge | integral or series is divergent (GSL) |
gsl_eunsup | requested feature is not supported by the hardware (GSL) |
gsl_eunimpl | requested feature not (yet) implemented (GSL) |
gsl_ecache | cache limit exceeded (GSL) |
gsl_etable | table limit exceeded (GSL) |
gsl_enoprog | iteration is not making progress toward solution (GSL) |
gsl_enoprogj | jacobian evaluations are not improving the solution (GSL) |
gsl_etolf | cannot reach the specified tolerance in f (GSL) |
gsl_etolx | cannot reach the specified tolerance in x (GSL) |
gsl_etolg | cannot reach the specified tolerance in gradient (GSL) |
gsl_eof | end of file (GSL) |
gsl_enotfound | Generic "not found" result. |
gsl_ememtype | Incorrect type for memory object. |
gsl_efilenotfound | File not found. |
gsl_eindex | Invalid index for array or matrix. |
gsl_outsidecons | Outside constraint region. |
void error_update | ( | int & | ret, | |
int | err | |||
) | [inline] |
Documentation generated with Doxygen and provided under the GNU Free Documentation License. See License Information for details.
Project hosting provided by
,
O2scl Sourceforge Project Page