Special Value Specification for VML
| FUNCTION | ARGUMENT 1 | ARGUMENT 2 | RESULT 1 | RESULT 2 | ERROR CODE | EXCEPTION |
| 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 | ||||
| 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 | -0 | +1 | ||||
| -0 | -0 | +1 | ||||
| +INF | -0 | +1 | ||||
| -INF | -0 | +1 | ||||
| QNAN | -0 | +1 | ||||
| X < +0 | non-integer | QNAN | VML_STATUS_ERRDOM | INVALID | ||
| |X| < 1 | -INF | +INF | ||||
| +0 | -INF | +INF | VML_STATUS_ERRDOM | ZERODIVIDE | ||
| -0 | -INF | +INF | VML_STATUS_ERRDOM | ZERODIVIDE | ||
| |X| > 1 | -INF | +0 | ||||
| +INF | -INF | +0 | ||||
| -INF | -INF | +0 | ||||
| |X| < 1 | +INF | +0 | ||||
| +0 | +INF | +0 | ||||
| -0 | +INF | +0 | ||||
| |X| > 1 | +INF | +INF | ||||
| +INF | +INF | +INF | ||||
| -INF | +INF | +INF | ||||
| -INF | neg. odd integer | -0 | ||||
| -INF | neg. even integer | +0 | ||||
| -INF | neg. non-integer | +0 | ||||
| -INF | pos. odd integer | -INF | ||||
| -INF | pos. even integer | +INF | ||||
| -INF | pos. non-integer | +INF | ||||
| +INF | X < +0 | +0 | ||||
| +INF | X > +0 | +INF | ||||
| QNAN | QNAN | QNAN | ||||
| QNAN | SNAN | QNAN | INVALID | |||
| SNAN | QNAN | QNAN | INVALID | |||
| SNAN | SNAN | QNAN | INVALID | |||
| Exp | +0 | +1 | ||||
| -0 | +1 | |||||
| X > overflow threshold | +INF | VML_STATUS_OVERFLOW | OVERFLOW | |||
| X < underflow threshold | +0 | VML_STATUS_UNDERFLOW | UNDERFLOW | |||
| +INF | +INF | |||||
| -INF | +0 | |||||
| QNAN | QNAN | |||||
| SNAN | QNAN | INVALID | ||||
| Ln | +1 | +0 | ||||
| X < +0 | QNAN | VML_STATUS_ERRDOM | INVALID | |||
| -INF | QNAN | VML_STATUS_ERRDOM | INVALID | |||
| +0 | -INF | VML_STATUS_SING | ZERODIVIDE | |||
| -0 | -INF | VML_STATUS_SING | ZERODIVIDE | |||
| -INF | QNAN | VML_STATUS_ERRDOM | INVALID | |||
| +INF | +INF | |||||
| QNAN | QNAN | |||||
| SNAN | QNAN | INVALID | ||||
| Log10 | +1 | +0 | ||||
| X < +0 | QNAN | VML_STATUS_ERRDOM | INVALID | |||
| -INF | QNAN | VML_STATUS_ERRDOM | INVALID | |||
| +0 | -INF | VML_STATUS_SING | ZERODIVIDE | |||
| -0 | -INF | VML_STATUS_SING | ZERODIVIDE | |||
| -INF | QNAN | VML_STATUS_ERRDOM | INVALID | |||
| +INF | +INF | |||||
| QNAN | QNAN | |||||
| SNAN | QNAN | INVALID | ||||
| Cos | +0 | +1 | ||||
| -0 | +1 | |||||
| +INF | QNAN | VML_STATUS_ERRDOM | INVALID | |||
| -INF | QNAN | VML_STATUS_ERRDOM | INVALID | |||
| QNAN | QNAN | |||||
| SNAN | QNAN | INVALID | ||||
| Sin | +0 | +0 | ||||
| -0 | -0 | |||||
| +INF | QNAN | VML_STATUS_ERRDOM | INVALID | |||
| -INF | QNAN | VML_STATUS_ERRDOM | INVALID | |||
| QNAN | QNAN | |||||
| SNAN | QNAN | INVALID | ||||
| SinCos | +0 | +0 | +1 | |||
| -0 | -0 | +1 | ||||
| +INF | QNAN | QNAN | VML_STATUS_ERRDOM | INVALID | ||
| -INF | QNAN | QNAN | VML_STATUS_ERRDOM | INVALID | ||
| QNAN | QNAN | QNAN | ||||
| SNAN | QNAN | QNAN | INVALID | |||
| Tan | +0 | +0 | ||||
| -0 | -0 | |||||
| +INF | QNAN | VML_STATUS_ERRDOM | INVALID | |||
| -INF | QNAN | VML_STATUS_ERRDOM | INVALID | |||
| QNAN | QNAN | |||||
| SNAN | QNAN | INVALID | ||||
| Acos | +0 | +Pi/2 | ||||
| -0 | +Pi/2 | |||||
| +1 | +0 | |||||
| -1 | +Pi | |||||
| |X| > 1 | QNAN | VML_STATUS_ERRDOM | INVALID | |||
| +INF | QNAN | VML_STATUS_ERRDOM | INVALID | |||
| -INF | QNAN | VML_STATUS_ERRDOM | INVALID | |||
| QNAN | QNAN | |||||
| SNAN | QNAN | INVALID | ||||
| Asin | +0 | +0 | ||||
| -0 | -0 | |||||
| +1 | +Pi/2 | |||||
| -1 | -Pi/2 | |||||
| |X| > 1 | QNAN | VML_STATUS_ERRDOM | INVALID | |||
| +INF | QNAN | VML_STATUS_ERRDOM | INVALID | |||
| -INF | QNAN | VML_STATUS_ERRDOM | INVALID | |||
| QNAN | QNAN | |||||
| SNAN | QNAN | INVALID | ||||
| Atan | +0 | +0 | ||||
| -0 | -0 | |||||
| +INF | +Pi/2 | |||||
| -INF | -Pi/2 | |||||
| QNAN | QNAN | |||||
| SNAN | QNAN | INVALID | ||||
| Atan2 | -INF | -INF | -3*Pi/4 | |||
| -INF | X < +0 | -Pi/2 | ||||
| -INF | -0 | -Pi/2 | ||||
| -INF | +0 | -Pi/2 | ||||
| -INF | X > +0 | -Pi/2 | ||||
| -INF | +INF | -Pi/4 | ||||
| X < +0 | -INF | -Pi | ||||
| X < +0 | -0 | -Pi/2 | ||||
| X < +0 | +0 | -Pi/2 | ||||
| X < +0 | +INF | -0 | ||||
| -0 | -INF | -Pi | ||||
| -0 | X < +0 | -Pi | ||||
| -0 | -0 | -Pi | ||||
| -0 | +0 | -0 | ||||
| -0 | X > +0 | -0 | ||||
| -0 | +INF | -0 | ||||
| +0 | -INF | +Pi | ||||
| +0 | X < +0 | +Pi | ||||
| +0 | -0 | +Pi | ||||
| +0 | +0 | +0 | ||||
| +0 | X > +0 | +0 | ||||
| +0 | +INF | +0 | ||||
| X > +0 | -INF | +Pi | ||||
| X > +0 | -0 | +Pi/2 | ||||
| X > +0 | +0 | +Pi/2 | ||||
| X > +0 | +INF | +0 | ||||
| +INF | -INF | +3*Pi/4 | ||||
| +INF | X < +0 | +Pi/2 | ||||
| +INF | -0 | +Pi/2 | ||||
| +INF | +0 | +Pi/2 | ||||
| +INF | X > +0 | +Pi/2 | ||||
| +INF | +INF | +Pi/4 | ||||
| X > +0 | QNAN | QNAN | ||||
| X > +0 | SNAN | QNAN | INVALID | |||
| QNAN | X > +0 | QNAN | ||||
| SNAN | X > +0 | QNAN | INVALID | |||
| QNAN | QNAN | QNAN | ||||
| QNAN | SNAN | QNAN | INVALID | |||
| SNAN | QNAN | QNAN | INVALID | |||
| SNAN | SNAN | QNAN | INVALID | |||
| Cosh | +0 | +1 | ||||
| -0 | +1 | |||||
| X > overflow threshold | +INF | VML_STATUS_OVERFLOW | OVERFLOW | |||
| X < underflow threshold | +INF | VML_STATUS_OVERFLOW | OVERFLOW | |||
| +INF | +INF | |||||
| -INF | +INF | |||||
| QNAN | QNAN | |||||
| SNAN | QNAN | INVALID | ||||
| Sinh | +0 | +0 | ||||
| -0 | -0 | |||||
| X > overflow threshold | +INF | VML_STATUS_OVERFLOW | OVERFLOW | |||
| X < underflow threshold | -INF | VML_STATUS_OVERFLOW | OVERFLOW | |||
| +INF | +INF | |||||
| -INF | -INF | |||||
| QNAN | QNAN | |||||
| SNAN | QNAN | INVALID | ||||
| Tanh | +0 | +0 | ||||
| -0 | -0 | |||||
| +INF | +1 | |||||
| -INF | -1 | |||||
| QNAN | QNAN | |||||
| SNAN | QNAN | INVALID | ||||
| Acosh | +1 | +0 | ||||
| X < +1 | QNAN | VML_STATUS_ERRDOM | INVALID | |||
| -INF | QNAN | VML_STATUS_ERRDOM | INVALID | |||
| +INF | +INF | |||||
| QNAN | QNAN | |||||
| SNAN | QNAN | INVALID | ||||
| Asinh | +0 | +0 | ||||
| -0 | -0 | |||||
| +INF | +INF | |||||
| -INF | -INF | |||||
| QNAN | QNAN | |||||
| SNAN | QNAN | INVALID | ||||
| Atanh | +1 | +INF | VML_STATUS_SING | ZERODIVIDE | ||
| -1 | -INF | VML_STATUS_SING | ZERODIVIDE | |||
| |X| > 1 | QNAN | VML_STATUS_ERRDOM | INVALID | |||
| +INF | QNAN | VML_STATUS_ERRDOM | INVALID | |||
| -INF | QNAN | VML_STATUS_ERRDOM | INVALID | |||
| QNAN | QNAN | |||||
| SNAN | QNAN | INVALID | ||||
| Erf | +INF | +1 | ||||
| -INF | -1 | |||||
| QNAN | QNAN | |||||
| SNAN | QNAN | INVALID | ||||
| Erfc | X > underflow threshold | +0 | VML_STATUS_UNDERFLOW | UNDERFLOW | ||
| +INF | +0 | |||||
| -INF | + 2 | |||||
| QNAN | QNAN | |||||
| SNAN | QNAN | INVALID | ||||
Note: ARGUMENT 2 and RESULT 2 columns are only for the functions
with two arguments and two results correspondingly.
Copyright © 2000-2004, Intel Corporation, All Rights Reserved.