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.Miscellanous 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() method of the %SYSTEM.Process class. See the class reference for details.