Interface FloatingPointFormulaManager

All Known Implementing Classes:
AbstractFloatingPointFormulaManager, DebuggingFloatingPointFormulaManager

public interface FloatingPointFormulaManager
Floating point operations.

Most operations are overloaded: there is an option of either using the default rounding mode (set via the option solver.floatingPointRoundingMode), or providing the rounding mode explicitly.

If the result of an operation can not be exactly represented by the available floating-point type, i.e., the given precision is insufficient, the result is rounded to the nearest possible floating-point representation, depending on the given rounding mode.

Example: If the input number is too large to be represented as a floating point with the given type, it will be converted to positive infinity (+inf) or negative infinity (-inf). If the input number is too small to be represented with the given type (closer to zero than the smallest possible floating-point number), it will be converted to zero, with the sign preserved.