9.8 Dealing with Large and Other Non-standard Numbers
In many external solvers, infinities or very large numbers are not handled
directly. Instead, these solvers define a large (floating point) number to
be infinity. However, the problem that is sent to the external solver may
contain values greater than the solver's notion of infinity. This is
handled in the following way:
-
If a variable's range extends beyond the solver's infinity, the range
is rounded down.
- If some coefficient (constant) in the problem is outside the solver's
range, an out of range error would be raised when this is detected (and the
problem is not passed to the external solver).
In addition, ECLiPSe supports numeric types that are not generally
available, e.g. bounded real and rational. These are converted into
floating point numbers before they are passed to the external solver.