NumericStatus
sets, clears, or queries numeric event status flags
Calling Sequence
Parameters
Description
Examples
NumericStatus(event ...)
NumericStatus(event = setting ...)
event
-
symbol that represents one of six numeric events
setting
the setting of the status flag: true or false
The NumericStatus command provides access to a set of global flags to record the status of numeric operations. One status flag corresponds to each numeric event (see NumericEvent). Status flags are set automatically by the internal event dispatching code before the corresponding default, exception, or handler action is invoked (see NumericEventHandler).
If the status flags are set, they remain set until they are explicitly cleared, that is, assigning true sets a flag and assigning false clears a flag. This means that NumericStatus is not an environment variable.
The names of the six status flags correspond to the event names, which are:
invalid_operation
division_by_zero
overflow
underflow
inexact
real_to_complex
User code can check the NumericStatus after a sequence of operations to determine if any numeric events were triggered (resulting in either default values or trapped exceptions) during the computation.
If called with an equation or expression sequence of equations of the form event=status, NumericStatus sets or clears the specified status for the specified event or events. It also returns an equation or expression sequence of equations that gives the previous status for the specified event (or events), which can be used as an argument to a subsequent call to NumericStatus to restore the previous status.
If called with an event name or expression sequence of event names, NumericStatus returns a value or an expression sequence of values that gives the current status for the specified event or events.
If called with no arguments, NumericStatus returns an expression sequence of equations that gives the current status for all events.
If called with the single argument false, NumericStatus clears the status of all events, and returns an expression sequence of equations that gives the previous status for all events, which can be used as an argument to a subsequent call to NumericStatus to restore the previous state.
NumericStatus⁡
invalid_operation=false,division_by_zero=false,overflow=false,underflow=false,inexact=false,real_to_complex=false
f := proc(a,b) a/b end proc:
f⁡3.0,0.
Float⁡∞
NumericStatus⁡division_by_zero
true
invalid_operation=false,division_by_zero=true,overflow=false,underflow=false,inexact=false,real_to_complex=false
NumericStatus⁡division_by_zero=false
division_by_zero=true
See Also
envvar
error
NumericEvent
NumericEventHandler
try
Download Help Document