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.


 

Legal Information

Copyright 2000-2004, Intel Corporation, All Rights Reserved.