# author: Achim Gaedke
# created: May 2001
# file: pygsl/errors.py
# $Id: errors.py,v 1.4 2004/03/08 08:24:51 schnizer Exp $
#
# Changes:
# 5. October 2003. Added various exceptions to cover the whole range of
# error numbers. Needed to translate error numbers to the approbriate
# exception. See Lib/error_helpers.c
import exceptions
class gsl_Error(exceptions.Exception):
"""
base of all gsl exceptions defined here
"""
IsA = 'gsl_Error'
pass
class gsl_Warning(exceptions.Warning):
"""
base of all gsl warnings defined here
"""
pass
class gsl_ArithmeticError(gsl_Error,exceptions.ArithmeticError):
"""
base of all common arithmetic exceptions
"""
pass
class gsl_RangeError(gsl_ArithmeticError):
"""
output range error, e.g. exp(1e100)
"""
pass
class gsl_PointerError(gsl_Error):
"""
invalid pointer
"""
# Perhaps a lookup Error ???
pass
class gsl_InvalidArgumentError(gsl_Error):
"""
invalid argument supplied by user
"""
pass
class gsl_GenericError(gsl_Error):
"""
generic failure
"""
pass
class gsl_FactorizationError(gsl_Error):
"""
factorization failed
"""
pass
class gsl_SanityCheckError(gsl_Error):
"""
sanity check failed - shouldn't happen
"""
pass
class gsl_BadFuncError(gsl_Error):
"""
problem with user-supplied function
"""
pass
class gsl_RunAwayError(gsl_ArithmeticError):
"""
iterative process is out of control
"""
pass
class gsl_MaximumIterationError(gsl_ArithmeticError):
"""
exceeded max number of iterations
"""
pass
class gsl_ZeroDivisionError(gsl_Error,exceptions.ZeroDivisionError):
"""
"""
pass
class gsl_BadToleranceError(gsl_Error):
"""
user specified an invalid tolerance
"""
pass
class gsl_ToleranceError(gsl_ArithmeticError):
"""
failed to reach the specified tolerance
"""
pass
class gsl_OverflowError(gsl_Error,exceptions.OverflowError):
"""
"""
pass
class gsl_UnderflowError(gsl_Error,exceptions.OverflowError):
"""
"""
pass
class gsl_AccuracyLossError(gsl_ArithmeticError):
"""
failed to reach the specified tolerance
"""
pass
class gsl_RoundOffError(gsl_ArithmeticError):
"""
failed because of roundoff error
"""
pass
class gsl_BadLength(gsl_Error):
"""
matrix; vector lengths are not conformant
"""
pass
class gsl_MatrixNotSquare(gsl_Error):
"""
matrix not square
"""
pass
class gsl_SingularityError(gsl_ArithmeticError):
"""
apparent singularity detected
"""
pass
class gsl_DivergeError(gsl_ArithmeticError):
"""
integral or series is divergent
"""
pass
class gsl_NoHardwareSupportError(gsl_Error):
"""
requested feature is not supported by the hardware
"""
pass
class gsl_NotImplementedError(gsl_Error, exceptions.NotImplementedError):
"""
requested feature not (yet) implemented
"""
pass
class gsl_CacheLimitError(gsl_Error):
"""
cache limit exceeded
"""
pass
class gsl_TableLimitError(gsl_Error):
"""
Table limit exceeded
"""
pass
class gsl_NoProgressError(gsl_ArithmeticError):
"""
iteration is not making progress towards solution
"""
pass
class gsl_JacobianEvaluationError(gsl_ArithmeticError):
"""
jacobian evaluations are not improving the solution
"""
pass
class gsl_ToleranceFError(gsl_ArithmeticError):
"""
cannot reach the specified tolerance in F
"""
pass
class gsl_ToleranceXError(gsl_ArithmeticError):
"""
cannot reach the specified tolerance in X
"""
pass
class gsl_ToleranceGradientError(gsl_ArithmeticError):
"""
cannot reach the specified tolerance in gradient
"""
pass
class gsl_EOFError(gsl_Error, exceptions.EOFError):
"""
end of file
"""
pass
class gsl_FloatingPointError(gsl_Error,exceptions.FloatingPointError):
"""
"""
pass
class gsl_DomainWarning(gsl_Warning):
"""
used by pygsl.histogram
"""
pass
class gsl_DomainError(gsl_Error):
"""
Domain Error. e.g. sqrt(-1)
"""
pass
class pygsl_StrideError(gsl_SanityCheckError):
"""
Could not recalculate a stride of a python array object to the stride
of a gsl_vector or gsl_matrix.
"""
pass
class pygsl_NotImplementedError(gsl_Error, exceptions.NotImplementedError):
"""
Base for all Errors, which are known but not implemented yet!
"""
pass
syntax highlighted by Code2HTML, v. 0.9.1