Button for 1977 Button for 1984 Button for 1990 Button for 1995 Button for MDC Button for notes Button for examples

Number Range

Draft MDC Standard

2.6 Number range

All values used in arithmetic operations or in any context requiring a numeric interpretation are within the inclusive intervals [–1025, –10–25] or [10–25, 1025], or are zero.

Implementations shall represent numeric quantities with at least 15 significant digits. The error introduced by any single instance of the arithmetic operations of addition, subtraction, multiplication, division, integer division, or modulo shall not exceed one part in 1015. The error introduced by exponentiation shall not exceed one part in 107.

If the result of any arithmetic operation is too large (either positive or negative), or if it is too large for the implementation to represent with the accuracy specified in the previous paragraph, an error condition occurs with ecode = "M92".

Programmers should exercise caution in the use of non-integer arithmetic. In general, arithmetic operations on non-integer operands or arithmetic operations which produce non-integer results cannot be expected to be exact. In particular, non-integer arithmetic can yield unexpected results when used in loop control or arithmetic tests.

Button for 1977 Button for 1984 Button for 1990 Button for 1995 Button for MDC Button for notes Button for examples

Copyright © Standard Documents; 1977-2024 MUMPS Development Committee;
Copyright © Examples: 1995-2024 Ed de Moel;
Copyright © Annotations: 2003-2008 Jacquard Systems Research
Copyright © Annotations: 2008-2024 Ed de Moel.

Some specifications are "approved for inclusion in a future standard". Note that the MUMPS Development Committee cannot guarantee that such future standards will indeed be published.

This page most recently updated on 29-Nov-2011, 20:00:19.

For comments, contact Ed de Moel (demoel@jacquardsystems.com)