Special Value Specification for
VML
Real Functions
| FUNCTION |
ARGUMENT 1 |
ARGUMENT 2 |
RESULT 1 |
RESULT 2 |
ERROR CODE |
EXCEPTION |
| Add |
+0 |
+0 |
+0 |
|
|
|
| +0 |
-0 |
+0 |
|
|
|
| -0 |
+0 |
+0 |
|
|
|
| -0 |
-0 |
-0 |
|
|
|
| +INF |
+INF |
+INF |
|
|
|
| +INF |
-INF |
QNAN |
|
|
INVALID |
| -INF |
+INF |
QNAN |
|
|
INVALID |
| -INF |
-INF |
-INF |
|
|
|
| SNAN |
any value |
QNAN |
|
|
INVALID |
| any value |
SNAN |
QNAN |
|
|
INVALID |
| QNAN |
non-SNAN |
QNAN |
|
|
|
| non-SNAN |
QNAN |
QNAN |
|
|
|
| Sub |
+0 |
+0 |
+0 |
|
|
|
| +0 |
-0 |
+0 |
|
|
|
| -0 |
+0 |
-0 |
|
|
|
| -0 |
-0 |
+0 |
|
|
|
| +INF |
+INF |
QNAN |
|
|
INVALID |
| +INF |
-INF |
+INF |
|
|
|
| -INF |
+INF |
-INF |
|
|
|
| -INF |
-INF |
QNAN |
|
|
INVALID |
| SNAN |
any value |
QNAN |
|
|
INVALID |
| any value |
SNAN |
QNAN |
|
|
INVALID |
| QNAN |
non-SNAN |
QNAN |
|
|
|
| non-SNAN |
QNAN |
QNAN |
|
|
|
| Sqr |
+0 |
|
+0 |
|
|
|
| -0 |
|
+0 |
|
|
|
| +INF |
|
+INF |
|
|
|
| -INF |
|
+INF |
|
|
|
| QNAN |
|
QNAN |
|
|
|
| SNAN |
|
QNAN |
|
|
INVALID |
| Mul |
+0 |
+0 |
+0 |
|
|
|
| +0 |
-0 |
-0 |
|
|
|
| -0 |
+0 |
-0 |
|
|
|
| -0 |
-0 |
+0 |
|
|
|
| +0 |
+INF |
QNAN |
|
|
INVALID |
| +0 |
-INF |
QNAN |
|
|
INVALID |
| -0 |
+INF |
QNAN |
|
|
INVALID |
| -0 |
-INF |
QNAN |
|
|
INVALID |
| +INF |
+0 |
QNAN |
|
|
INVALID |
| +INF |
-0 |
QNAN |
|
|
INVALID |
| -INF |
+0 |
QNAN |
|
|
INVALID |
| -INF |
-0 |
QNAN |
|
|
INVALID |
| +INF |
+INF |
+INF |
|
|
|
| +INF |
-INF |
-INF |
|
|
|
| -INF |
+INF |
-INF |
|
|
|
| -INF |
-INF |
+INF |
|
|
|
| SNAN |
any value |
QNAN |
|
|
INVALID |
| any value |
SNAN |
QNAN |
|
|
INVALID |
| QNAN |
non-SNAN |
QNAN |
|
|
|
| non-SNAN |
QNAN |
QNAN |
|
|
|
| Abs |
+0 |
|
+0 |
|
|
|
| -0 |
|
+0 |
|
|
|
| +INF |
|
+INF |
|
|
|
| -INF |
|
+INF |
|
|
|
| QNAN |
|
QNAN |
|
|
|
| SNAN |
|
QNAN |
|
|
INVALID |
| Inv |
+0 |
|
+INF |
|
VML_STATUS_SING |
ZERODIVIDE |
| -0 |
|
-INF |
|
VML_STATUS_SING |
ZERODIVIDE |
| +INF |
|
+0 |
|
|
|
| -INF |
|
-0 |
|
|
|
| QNAN |
|
QNAN |
|
|
|
| SNAN |
|
QNAN |
|
|
INVALID |
| Div |
X > +0 |
+0 |
+INF |
|
VML_STATUS_SING |
ZERODIVIDE |
| X > +0 |
-0 |
-INF |
|
VML_STATUS_SING |
ZERODIVIDE |
| X < +0 |
+0 |
-INF |
|
VML_STATUS_SING |
ZERODIVIDE |
| X < +0 |
-0 |
+INF |
|
VML_STATUS_SING |
ZERODIVIDE |
| +0 |
+0 |
QNAN |
|
VML_STATUS_SING |
|
| -0 |
-0 |
QNAN |
|
VML_STATUS_SING |
|
| X > +0 |
+INF |
+0 |
|
|
|
| X > +0 |
-INF |
-0 |
|
|
|
| +INF |
+INF |
QNAN |
|
|
|
| -INF |
-INF |
QNAN |
|
|
|
| QNAN |
QNAN |
QNAN |
|
|
|
| SNAN |
SNAN |
QNAN |
|
|
INVALID |
| Sqrt |
X < +0 |
|
QNAN |
|
VML_STATUS_ERRDOM |
INVALID |
| +0 |
|
+0 |
|
|
|
| -0 |
|
-0 |
|
|
|
| -INF |
|
QNAN |
|
VML_STATUS_ERRDOM |
INVALID |
| +INF |
|
+INF |
|
|
|
| QNAN |
|
QNAN |
|
|
|
| SNAN |
|
QNAN |
|
|
INVALID |
| InvSqrt |
X < +0 |
|
QNAN |
|
VML_STATUS_ERRDOM |
INVALID |
| +0 |
|
+INF |
|
VML_STATUS_SING |
ZERODIVIDE |
| -0 |
|
-INF |
|
VML_STATUS_SING |
ZERODIVIDE |
| -INF |
|
QNAN |
|
VML_STATUS_ERRDOM |
INVALID |
| +INF |
|
+0 |
|
|
|
| QNAN |
|
QNAN |
|
|
|
| SNAN |
|
QNAN |
|
|
INVALID |
| Cbrt |
+0 |
|
+0 |
|
|
|
| -0 |
|
-0 |
|
|
|
| +INF |
|
+INF |
|
|
|
| -INF |
|
-INF |
|
|
|
| QNAN |
|
QNAN |
|
|
|
| SNAN |
|
QNAN |
|
|
INVALID |
| InvCbrt |
+0 |
|
+INF |
|
VML_STATUS_SING |
ZERODIVIDE |
| -0 |
|
-INF |
|
VML_STATUS_SING |
ZERODIVIDE |
| +INF |
|
+0 |
|
|
|
| -INF |
|
-0 |
|
|
|
| QNAN |
|
QNAN |
|
|
|
| SNAN |
|
QNAN |
|
|
INVALID |
| Pow2o3 |
+0 |
|
+0 |
|
|
|
| -0 |
|
+0 |
|
|
|
| +INF |
|
+INF |
|
|
|
| -INF |
|
+INF |
|
|
|
| QNAN |
|
QNAN |
|
|
|
| SNAN |
|
QNAN |
|
|
INVALID |
| Pow3o2 |
X < +0 |
|
QNAN |
|
VML_STATUS_ERRDOM |
INVALID |
| +0 |
|
+0 |
|
|
|
| -0 |
|
-0 |
|
|
|
| -INF |
|
QNAN |
|
VML_STATUS_ERRDOM |
INVALID |
| +INF |
|
+INF |
|
|
|
| QNAN |
|
QNAN |
|
|
|
| SNAN |
|
QNAN |
|
|
INVALID |
| Pow, Powx |
+0 |
neg. odd integer |
+INF |
|
VML_STATUS_ERRDOM |
ZERODIVIDE |
| -0 |
neg. odd integer |
-INF |
|
VML_STATUS_ERRDOM |
ZERODIVIDE |
| +0 |
neg. even integer |
+INF |
|
VML_STATUS_ERRDOM |
ZERODIVIDE |
| -0 |
neg. even integer |
+INF |
|
VML_STATUS_ERRDOM |
ZERODIVIDE |
| +0 |
neg. non-integer |
+INF |
|
VML_STATUS_ERRDOM |
ZERODIVIDE |
| -0 |
neg. non-integer |
+INF |
|
VML_STATUS_ERRDOM |
ZERODIVIDE |
| +0 |
pos. odd integer |
+0 |
|
|
|
| -0 |
pos. odd integer |
-0 |
|
|
|
| +0 |
pos. even integer |
+0 |
|
|
|
| -0 |
pos. even integer |
+0 |
|
|
|
| +0 |
pos. non-integer |
+0 |
|
|
|
| -0 |
pos. non-integer |
+0 |
|
|
|
| -1 |
+INF |
+1 |
|
|
|
| -1 |
-INF |
+1 |
|
|
|
| +1 |
any value |
+1 |
|
|
|
| +1 |
+0 |
+1 |
|
|
|
| +1 |
-0 |
+1 |
|
|
|
| +1 |
+INF |
+1 |
|
|
|
| +1 |
-INF |
+1 |
|
|
|
| +1 |
QNAN |
+1 |
|
|
|
| any value |
+0 |
+1 |
|
|
|
| +0 |
+0 |
+1 |
|
|
|
| -0 |
+0 |
+1 |
|
|
|
| +INF |
+0 |
+1 |
|
|
|
| -INF |
+0 |
+1 |
|
|
|
| QNAN |
+0 |
+1 |
|
|
|
| any value |
-0 |
+1 |
|
|
|
| +0 |
|