double Errors
The C16x/ST10/XC16x does not contain an interrupt vector to trap floating-point errors. Therefore, your software must be prepared to respond to these error conditions.
In addition to the normal floating-point values, a double number can contain a binary error value. Binary error values are defined as a part of the IEEE standard and used whenever an error occurs during normal processing of floating-point operations. Your code should check for possible arithmetic errors at the end of each floating-point operation.
| Name | Value | Meaning |
|---|
| NaN | 0xFFFFFFF FFFFFFFF | Not a number |
| +INF | 0x7FF0000 00000000 | Positive infinity (positive overflow) |
| -INF | 0xFFF0000 00000000 | Negative infinity (negative overflow) |
Note
- The C166 library function _chkdouble_ allows you to quickly check the floating-point status of double numbers.