NUMERIC (issues)

This page describes issues with the current implementation of NUMERIC in comparison to the interface description.

special cases

Subclasses of NUMERIC can have problems with contracts of features and invariants in special cases. Therefore a query like 'is_special_case' could be introduced to make contracts conditional in respect to these special cases.

Special cases include:

  • REAL.NaN (all operations)
  • REAL.INF (all operations)
  • INTEGER.min_value (when computing the absolute value an overflow occurs and the result is min_value again)