The IEEE Standard 854 for Floating-Point Arithmetic used by Intel (and compatible) microprocessors defines special encodings for positive infinity, negative infinity, and so-called NaN values (NaN = Not a Number). Although the SAS server may also be running on a computer that uses IEEE arithmetic, SAS does not support IEEE infinities and it only supports 28 different NaN values. Because IML Studio gives users the ability to call external software that may generate infinities and NaNs and return them to an IMLPlus program, IML Studio must have a mechanism for handling them. The following table shows how IML Studio converts IEEE infinities and NaNs before passing them to the SAS server:
IEEE double precision value | Value IML Studio passes to SAS |
---|---|
positive infinity | SAS missing value ".I" |
negative infinity | SAS missing value ".M" |
SAS missing value "." | passed through unchanged |
SAS missing value "._" | passed through unchanged |
SAS missing values ".A" through ".Z" | passed through unchanged |
any other NaN | SAS missing value "." |