Skip to main content


Specify whether $DOUBLE returns INF and NAN values instance-wide.


[Miscellaneous]    IEEEError=n

n is either 1 (true) or 0 (false). The default value is 1.


IEEEError sets the $DOUBLE function return-value behavior instance-wide. When IEEEError is enabled (n = 1), $DOUBLE generates InterSystems IRIS® data platform errors for unresolvable IEEE floating point conversions. When this parameter is not enabled, $DOUBLE returns INF (infinity), -INF, and NAN (Not A Number) for unresolvable IEEE floating point conversions.

The parameter controls the issuing of INF, -INF, and NAN when a $DOUBLE numeric operation cannot be resolved to a numeric value. It does not control the issuing of INF, -INF, and NAN in all cases. $DOUBLE always returns INF, -INF, or NAN when you supply one of these strings as the input value, regardless of this property. Mathematical operations on $DOUBLE numbers that result in an INF, -INF, or NAN are controlled by this property. These include arithmetic operations, exponentiation, and logarithmic and trigonometric functions.

Changing This Parameter

On the Compatibility page of the Management Portal (System Administration > Configuration > Additional Settings > Compatibility), in the IEEEError row, click Edit. Select IEEEError to enable this setting.

Instead of using the Management Portal, you can change IEEEError in the Config.MiscellanousOpens in a new window class (as described in the class reference) or by editing the CPF in a text editor (as described in the Editing the Active CPF section of the “Introduction to the Configuration Parameter File” chapter in this book).

To change this parameter for a single process only (as opposed to instance-wide), use the IEEEError()Opens in a new window method of the %SYSTEM.ProcessOpens in a new window class. See the class reference for details.

FeedbackOpens in a new window