1 DPML
The Digital Portable Mathematics Library routines (DPML) provided in this help file are for compiler writers and system and application programmers who do not have high-level language syntax support of DPML routines in their compiler language of choice. 2 acos() Interface F_TYPE acos (F_TYPE x) F_TYPE acosd (F_TYPE x) 3 Description acos() computes the principal value of the arc cosine of x in the interval [0,pi] radians for x in the interval [-1,1]. acosd() computes the principal value of the arc cosine of x in the interval [0,180] degrees for x in the interval [-1,1]. Entry-Point Names Generic Function Data Type OpenVMS Digital Name Required Alpha UNIX Alpha acos S_FLOAT math$acos_s acosf T_FLOAT math$acos_t acos X_FLOAT math$acos_x F_FLOAT math$acos_f G_FLOAT math$acos_g acosd S_FLOAT math$acosd_s acosdf T_FLOAT math$acosd_t acosd X_FLOAT math$acosd_x F_FLOAT math$acosd_f G_FLOAT math$acosd_g 3 Exceptions Exceptional Argument Routine Behavior |x|>1 Invalid argument 2 acosh() Interface F_TYPE acosh (F_TYPE x) 3 Description acosh() returns the hyperbolic arc cosine of x for x in the interval [1,+infinity], where acosh(x) = ln(x + sqrt(x**2 -1)). acosh() is the inverse function of cosh(), where acosh(cosh (x)) = x. Entry-Point Names Generic Function Data Type OpenVMS Digital Name Required Alpha UNIX Alpha acosh S_FLOAT math$acosh_s acoshf T_FLOAT math$acosh_t acosh X_FLOAT math$acosh_x F_FLOAT math$acosh_f G_FLOAT math$acosh_g 3 Exceptions Exceptional Argument Routine Behavior x<1 Invalid argument 2 asin() Interface F_TYPE asin (F_TYPE x) F_TYPE asind (F_TYPE x) 3 Description asin() computes the principal value of the arc sine of x in the interval [-pi/2,pi/2] radians for x in the interval [-1,1]. asind() computes the principal value of the arc sine of x in the interval [-90,90] degrees for x in the interval [-1,1]. Entry-Point Names Generic Function Data Type OpenVMS Digital Name Required Alpha UNIX Alpha asin S_FLOAT math$asin_s asinf T_FLOAT math$asin_t asin X_FLOAT math$asin_x F_FLOAT math$asin_f G_FLOAT math$asin_g asind S_FLOAT math$asind_s asindf T_FLOAT math$asind_t asind X_FLOAT math$asind_x F_FLOAT math$asind_f G_FLOAT math$asind_g 3 Exceptions Exceptional Argument Routine Behavior |x|>1 Invalid argument 2 asinh() Interface F_TYPE asinh (F_TYPE x) 3 Description asinh() returns the hyperbolic arc sine of x for x in the interval [-infinity, +infinity], where asinh(x) = ln(x + sqrt(x**2 + 1)). asinh() is the inverse function of sinh(), where asinh(sinh (x)) = x. Entry-Point Names Generic Function Data Type OpenVMS Digital Name Required Alpha UNIX Alpha asinh S_FLOAT math$asinh_s asinhf T_FLOAT math$asinh_t asinh X_FLOAT math$asinh_x F_FLOAT math$asinh_f G_FLOAT math$asinh_g 3 Exceptions None. 2 atan() Interface F_TYPE atan (F_TYPE x) F_TYPE atand (F_TYPE x) 3 Description atan() computes the principal value of the arc tangent of x in the interval [-pi/2,pi/2] radians for x in the interval [- infinity, +infinity]. atand() computes the principal value of the arc tangent of x in the interval [-90,90] degrees for x in the interval [-infinity, +infinity]. Entry-Point Names Generic Function Data Type OpenVMS Digital Name Required Alpha UNIX Alpha atan S_FLOAT math$atan_s atanf T_FLOAT math$atan_t atan X_FLOAT math$atan_x F_FLOAT math$atan_f G_FLOAT math$atan_g atand S_FLOAT math$atand_s atandf T_FLOAT math$atand_t atand X_FLOAT math$atand_x F_FLOAT math$atand_f G_FLOAT math$atand_g 3 Exceptions None. 2 atan2() Interface F_TYPE atan2 (F_TYPE y, F_TYPE x) F_TYPE atand2 (F_TYPE y, F_TYPE x) 3 Description atan2() computes the angle in the interval [-pi,pi] whose arc tangent is y/x radians for x and y in the interval [-infinity, +infinity]. The sign of atan2() is the same as the sign of y. The atan2(y, x) function is computed as follows where f is the number of fraction bits associated with the data type: Value of Input Arguments Angle Returned x = 0 or y/x > pi/2 * (sign y) 2**(f+1) x > 0 and y/x < atan(y/x) or = 2**(f+1) x < 0 and y/x < pi * (sign y) + atan(y/x) or = 2**(f+1) atand2() computes the angle in the interval [-180,180] whose arc tangent is y/x degrees for x and y in the interval [-infinity, +infinity]. The sign of atand2() is the same as the sign of y. Entry-Point Names Generic Function Data Type Digital Name Required OpenVMS Alpha UNIX Alpha atan2 S_FLOAT math$atan2_s atan2f T_FLOAT math$atan2_t atan2 X_FLOAT math$atan2_x F_FLOAT math$atan2_f G_FLOAT math$atan2_g atand2 S_FLOAT math$atand2_s atand2f T_FLOAT math$atand2_t atand2 X_FLOAT math$atand2_x F_FLOAT math$atand2_f G_FLOAT math$atand2_g 3 Exceptions Exceptional Argument Routine Behavior y = x = 0 Invalid argument |y| = infinity and Invalid argument |x| = infinity 2 atanh() Interface F_TYPE atanh (F_TYPE x) 3 Description atanh() returns the hyperbolic arc tangent of x for x in the interval (-1,1). atanh() is the inverse function of tanh(), where atanh(tanh (x)) = x. atanh(x) is computed as (1/2 ln((1+x)/(1-x)) Entry-Point Names Generic Function Data Type OpenVMS Digital Name Required Alpha UNIX Alpha atanh S_FLOAT math$atanh_s atanhf T_FLOAT math$atanh_t atanh X_FLOAT math$atanh_x F_FLOAT math$atanh_f G_FLOAT math$atanh_g 3 Exceptions Exceptional Argument Routine Behavior |x| > or = 1 Invalid argument 2 bessel() Interface F_TYPE j0 (F_TYPE x) F_TYPE j1 (F_TYPE x) F_TYPE jn (int n, F_TYPE x) F_TYPE y0 (F_TYPE x) F_TYPE y1 (F_TYPE x) F_TYPE yn (int n, F_TYPE x) 3 Description j0() and j1() return the value of the Bessel function of the first kind of orders 0 and 1 respectively. jn() returns the value of the Bessel function of the first kind of order n. y0() and y1() return the value Bessel function of the second kind of orders 0 and 1 respectively. yn() returns the value of the Bessel function of the second kind of order n. The value of x must be positive for the y family of Bessel functions. The value of n specifies some integer value. Entry-Point Names Generic Function Data Type OpenVMS Digital Name Required Alpha UNIX Alpha j0 S_FLOAT math$j0_s j0f T_FLOAT math$j0_t j0 X_FLOAT math$j0_x F_FLOAT math$j0_f G_FLOAT math$j0_g j1 S_FLOAT math$j1_s j1f T_FLOAT math$j1_t j1 X_FLOAT math$j1_x F_FLOAT math$j1_f G_FLOAT math$j1_g jn S_FLOAT math$jn_s jnf T_FLOAT math$jn_t jn X_FLOAT math$jn_x F_FLOAT math$jn_f G_FLOAT math$jn_g y0 S_FLOAT math$y0_s y0f T_FLOAT math$y0_t y0 X_FLOAT math$y0_x F_FLOAT math$y0_f G_FLOAT math$y0_g y1 S_FLOAT math$y1_s y1f T_FLOAT math$y1_t y1 X_FLOAT math$y1_x F_FLOAT math$y1_f G_FLOAT math$y1_g yn S_FLOAT math$yn_s ynf T_FLOAT math$yn_t yn X_FLOAT math$yn_x F_FLOAT math$yn_f G_FLOAT math$yn_g 3 Exceptions Exceptional Argument Routine Behavior (y0(), y1(), yn()) x < 0 Invalid argument (y0(), y1(), yn()) x = 0 Overflow The j1() and jn() functions can result in an underflow as x gets small. The largest value of x for which this occurs is a function of n. The y1() and yn() functions can result in an overflow as x gets small. The largest value of x for which this occurs is a function of n. 2 cabs() Interface F_TYPE cabs (F_TYPE x, F_TYPE y) 3 Description cabs(x,y) is defined as the square root of (x**2 + y**2) and returns the same value as hypot(x,y). Entry-Point Names Generic Function Data Type OpenVMS Digital Name Required Alpha UNIX Alpha cabs S_FLOAT math$cabs_s cabsf T_FLOAT math$cabs_t cabs X_FLOAT math$cabs_x F_FLOAT math$cabs_f G_FLOAT math$cabs_g 3 Exceptions Exceptional Argument Routine Behavior sqrt(x**2 + y**2) > max_float Overflow Data Type Value for: max_float F Hexadecimal: FFFF7FFF G Hexadecimal: FFFFFFFFFFFF7FFF S Hexadecimal: 7F7FFFFF T Hexadecimal: 7FEFFFFFFFFFFFFF X Hexadecimal: 7FFEFFFFFFFFFFFFFFFFFFFFFFFFFFFF F Decimal: 1.701411e38 G Decimal: 8.988465674311579e307 S Decimal: 3.402823e38 T Decimal: 1.797693134862316e308 X Decimal: 1.189731495357231765085759326628007016196477e4932 2 cbrt() Interface F_TYPE cbrt (F_TYPE x) 3 Description cbrt() returns the rounded cube root of x. Entry-Point Names Generic Function Data Type OpenVMS Digital Name Required Alpha UNIX Alpha cbrt S_FLOAT math$cbrt_s cbrtf T_FLOAT math$cbrt_t cbrt X_FLOAT math$cbrt_x F_FLOAT math$cbrt_f G_FLOAT math$cbrt_g 3 Exceptions None. 2 ccos() Interface F_COMPLEX ccos (F_TYPE x, F_TYPE y) 3 Description ccos() returns the cosine of a complex number, x + iy. ccos(x,y) is defined as cos (x + iy) = (cos x cosh y-isin x sinh y). Entry-Point Names Generic Function Data Type OpenVMS Digital Name Required Alpha UNIX Alpha ccos S_FLOAT math$ccos_s ccosf T_FLOAT math$ccos_t ccos X_FLOAT math$ccos_x F_FLOAT math$ccos_f G_FLOAT math$ccos_g 3 Exceptions Exceptional Argument Routine Behavior |y| = infinity Invalid argument (sin x sinh y) > max_float Overflow (cos x cosh y) > max_float Overflow Data Type Value for: max_float F Hexadecimal: FFFF7FFF G Hexadecimal: FFFFFFFFFFFF7FFF S Hexadecimal: 7F7FFFFF T Hexadecimal: 7FEFFFFFFFFFFFFF X Hexadecimal: 7FFEFFFFFFFFFFFFFFFFFFFFFFFFFFFF F Decimal: 1.701411e38 G Decimal: 8.988465674311579e307 S Decimal: 3.402823e38 T Decimal: 1.797693134862316e308 X Decimal: 1.189731495357231765085759326628007016196477e4932 2 cdiv() Interface F_COMPLEX cdiv (F_TYPE a, F_TYPE b, F_TYPE c, F_TYPE d) 3 Description cdiv() returns the quotient of two complex numbers: (a + ib)/(c + id). Entry-Point Names Generic Function Data Type OpenVMS Digital Name Required Alpha UNIX Alpha cdiv S_FLOAT math$cdiv_s cdivf T_FLOAT math$cdiv_t cdiv X_FLOAT math$cdiv_x F_FLOAT math$cdiv_f G_FLOAT math$cdiv_g 3 Exceptions Exceptional Argument Routine Behavior c=d=0 Invalid argument a=b=c=d=0 Invalid argument 2 ceil() Interface F_TYPE ceil (F_TYPE x) 3 Description ceil() returns the smallest floating-point integer value greater than or equal to x. Entry-Point Names Generic Function Data Type OpenVMS Digital Name Required Alpha UNIX Alpha ceil S_FLOAT math$ceil_s ceilf T_FLOAT math$ceil_t ceil X_FLOAT math$ceil_x F_FLOAT math$ceil_f G_FLOAT math$ceil_g 3 Exceptions None. 2 cexp() Interface F_COMPLEX cexp (F_TYPE x, F_TYPE y) 3 Description cexp() returns the exponential of a complex number. cexp(x,y) is defined as e**(x + iy) = e**x cos y + ie**x sin y. Entry-Point Names Generic Function Data Type OpenVMS Digital Name Required Alpha UNIX Alpha cexp S_FLOAT math$cexp_s cexpf T_FLOAT math$cexp_t cexp X_FLOAT math$cexp_x F_FLOAT math$cexp_f G_FLOAT math$cexp_g 3 Exceptions Exceptional Argument Routine Behavior |y| = infinity Invalid argument |e**x cos y| > max_float Overflow |e**x sin y| > max_float Overflow |e**x cos y| < min_float Underflow |e**x sin y| < min_float Underflow Data Type Value for: max_float F Hexadecimal: FFFF7FFF G Hexadecimal: FFFFFFFFFFFF7FFF S Hexadecimal: 7F7FFFFF T Hexadecimal: 7FEFFFFFFFFFFFFF X Hexadecimal: 7FFEFFFFFFFFFFFFFFFFFFFFFFFFFFFF F Decimal: 1.701411e38 G Decimal: 8.988465674311579e307 S Decimal: 3.402823e38 T Decimal: 1.797693134862316e308 X Decimal: 1.189731495357231765085759326628007016196477e4932 Data Type Value for: min_float F Hexadecimal: 00000080 G Hexadecimal: 0000000000000010 S Hexadecimal: 00000001 T Hexadecimal: 0000000000000001 X Hexadecimal: 00000000000000000000000000000001 F Decimal: 2.9387359e-39 G Decimal: 5.562684646268003e-309 S Decimal: 1.4012985e-45 T Decimal: 4.940656458412465e-324 X Decimal: 6.4751751194380251109244389582276465524996e-4966 2 clog() Interface F_COMPLEX clog (F_TYPE x, F_TYPE y) 3 Description clog() returns the natural logarithm of a complex number. clog(x,y) is defined as ln(x + iy) = 1/2 ln(x**2 + y**2) + iatan2 (y,x). Entry-Point Names Generic Function Data Type OpenVMS Digital Name Required Alpha UNIX Alpha clog S_FLOAT math$clog_s clogf T_FLOAT math$clog_t clog X_FLOAT math$clog_x F_FLOAT math$clog_f G_FLOAT math$clog_g 3 Exceptions Exceptional Argument Routine Behavior y=x=0 Invalid argument |y|=|x|=infinity Invalid argument 2 cmul() Interface F_COMPLEX cmul (F_TYPE a, F_TYPE b, F_TYPE c, F_TYPE d) 3 Description cmul() returns the product of two complex numbers. cmul(a,b,c,d) is defined as (a + ib) * (c + id). Entry-Point Names Generic Function Data Type OpenVMS Digital Name Required Alpha UNIX Alpha cmul S_FLOAT math$cmul_s cmulf T_FLOAT math$cmul_t cmul X_FLOAT math$cmul_x F_FLOAT math$cmul_f G_FLOAT math$cmul_g 3 Exceptions None. 2 copysign() Interface F_TYPE copysign (F_TYPE x, F_TYPE y) 3 Description copysign() returns x with the same sign as y. IEEE Std 754 requires copysign(x,NaN) = +x or -x. Entry-Point Names Generic Function Data Type Digital Name Required OpenVMS Alpha UNIX Alpha copysign S_FLOAT math$copysign_s copysignf T_FLOAT math$copysign_t copysign X_FLOAT math$copysign_x F_FLOAT math$copysign_f G_FLOAT math$copysign_g 3 Exceptions None. 2 cos() Interface F_TYPE cos (F_TYPE x) F_TYPE cosd (F_TYPE x) 3 Description cos() computes the cosine of x, measured in radians. cosd() computes the cosine of x, measured in degrees. Entry-Point Names Generic Function Data Type OpenVMS Digital Name Required Alpha UNIX Alpha cos S_FLOAT math$cos_s cosf T_FLOAT math$cos_t cos X_FLOAT math$cos_x F_FLOAT math$cos_f G_FLOAT math$cos_g cosd S_FLOAT math$cosd_s cosdf T_FLOAT math$cosd_t cosd X_FLOAT math$cosd_x F_FLOAT math$cosd_f G_FLOAT math$cosd_g 3 Exceptions Exceptional Argument Routine Behavior |x| = infinity Invalid argument 2 cosh() Interface F_TYPE cosh (F_TYPE x) 3 Description cosh() computes the hyperbolic cosine of x. cosh(x) is defined as (e**x + e**(-x))/2. Entry-Point Names Generic Function Data Type OpenVMS Digital Name Required Alpha UNIX Alpha cosh S_FLOAT math$cosh_s coshf T_FLOAT math$cosh_t cosh X_FLOAT math$cosh_x F_FLOAT math$cosh_f G_FLOAT math$cosh_g 3 Exceptions Exceptional Argument Routine Behavior |x| > ln(2 * max_float) Overflow Data Type Value for: ln(2 * max_float) F Hexadecimal: 721843B1 G Hexadecimal: 39EFFEFA2E4240A6 S Hexadecimal: 42B2D4FC T Hexadecimal: 408633CE8FB9F87E X Hexadecimal: 400C62E9BB80635D81D36125B64DA4A6 F Decimal: 88.72284 G Decimal: 709.7827128933840 S Decimal: 89.41599 T Decimal: 710.4758600739439 X Decimal: 11357.2165534747038948013483100922230678208 2 cot() Interface F_TYPE cot (F_TYPE x) F_TYPE cotd (F_TYPE x) 3 Description cot() computes the cotangent of x, measured in radians. cotd() computes the cotangent of x, measured in degrees. Entry-Point Names Generic Function Data Type OpenVMS Digital Name Required Alpha UNIX Alpha cot S_FLOAT math$cot_s cotf T_FLOAT math$cot_t cot X_FLOAT math$cot_x F_FLOAT math$cot_f G_FLOAT math$cot_g cotd S_FLOAT math$cotd_s cotdf T_FLOAT math$cotd_t cotd X_FLOAT math$cotd_x F_FLOAT math$cotd_f G_FLOAT math$cotd_g 3 Exceptions Exceptional Argument Routine Behavior (cot) x=0 Overflow (cotd) |x| = multiples of 180 degrees Overflow 2 cpow() Interface F_COMPLEX cpow (F_TYPE a, F_TYPE b, F_TYPE c, F_TYPE d) 3 Description cpow() raises a complex base (a + ib) to a complex exponent (c + id). cpow(a,b,c,d) is defined as e**((c + id) ln(a + ib)). Entry-Point Names Generic Function Data Type OpenVMS Digital Name Required Alpha UNIX Alpha cpow S_FLOAT math$cpow_s cpowf T_FLOAT math$cpow_t cpow X_FLOAT math$cpow_x F_FLOAT math$cpow_f G_FLOAT math$cpow_g 3 Exceptions Exceptional Argument Routine Behavior sqrt (a**2 + b**2) > max_float Overflow c/2 * ln(a**2 + b**2) > max_float Overflow c/2 * ln(a**2 + b**2) - (d * Overflow atan2(b,c)) > max_float Data Type Value for: max_float F Hexadecimal: FFFF7FFF G Hexadecimal: FFFFFFFFFFFF7FFF S Hexadecimal: 7F7FFFFF T Hexadecimal: 7FEFFFFFFFFFFFFF X Hexadecimal: 7FFEFFFFFFFFFFFFFFFFFFFFFFFFFFFF F Decimal: 1.701411e38 G Decimal: 8.988465674311579e307 S Decimal: 3.402823e38 T Decimal: 1.797693134862316e308 X Decimal: 1.189731495357231765085759326628007016196477e4932 2 csin() Interface F_COMPLEX csin (F_TYPE x, F_TYPE y) 3 Description csin() computes the sine of a complex number, x + iy. csin(x,y) is defined as sin (x + iy) = (sin x cosh iy + icos x sinh iy). Entry-Point Names Generic Function Data Type OpenVMS Digital Name Required Alpha UNIX Alpha csin S_FLOAT math$csin_s csinf T_FLOAT math$csin_t csin X_FLOAT math$csin_x F_FLOAT math$csin_f G_FLOAT math$csin_g 3 Exceptions Exceptional Argument Routine Behavior |y| = infinity Invalid argument (sinh x sin y) > max_float Overflow (cosh x cos y) > max_float Overflow Data Type Value for: max_float F Hexadecimal: FFFF7FFF G Hexadecimal: FFFFFFFFFFFF7FFF S Hexadecimal: 7F7FFFFF T Hexadecimal: 7FEFFFFFFFFFFFFF X Hexadecimal: 7FFEFFFFFFFFFFFFFFFFFFFFFFFFFFFF F Decimal: 1.701411e38 G Decimal: 8.988465674311579e307 S Decimal: 3.402823e38 T Decimal: 1.797693134862316e308 X Decimal: 1.189731495357231765085759326628007016196477e4932 2 csqrt() Interface F_COMPLEX csqrt (F_TYPE x, F_TYPE y) 3 Description csqrt() computes the square root of a complex number, x + iy. The real part of csqrt is greater than or equal to zero. csqrt(x,y) is defined as the square root of (x + iy). Entry-Point Names Generic Function Data Type OpenVMS Digital Name Required Alpha UNIX Alpha csqrt S_FLOAT math$csqrt_s csqrtf T_FLOAT math$csqrt_t csqrt X_FLOAT math$csqrt_x F_FLOAT math$csqrt_f G_FLOAT math$csqrt_g 3 Exceptions None. 2 cvt_ftof() 3 Description NOTE This routine does not apply to OpenVMS Alpha. OpenVMS Alpha users should use the CVT$FTOF routine documented in the OpenVMS RTL Library (LIB$) Manual. 2 drem() Interface F_TYPE drem (F_TYPE x, F_TYPE y) 3 Description drem() returns the remainder r = x-n*y, where n = rint(x/y). Additionally, if |n-x/y|=1/2, then n is even. The remainder is computed exactly, and |r| is less than or equal to |y|/2. The drem() and remainder() functions are aliases of each other. IEEE Std 754 defines drem(x,0) and drem(infinity,y) to be invalid operations that produce a NaN. Entry-Point Names Generic Function Data Type OpenVMS Digital Name Required Alpha UNIX Alpha drem S_FLOAT math$drem_s dremf T_FLOAT math$drem_t drem X_FLOAT math$drem_x F_FLOAT math$drem_f G_FLOAT math$drem_g 3 Exceptions Exceptional Argument Routine Behavior y = 0 Invalid argument x = infinity Invalid argument 2 erf() Interface F_TYPE erf (F_TYPE x) F_TYPE erfc (F_TYPE x) 3 Description erf() returns the value of the error function where erf(x) equals (2 * sqrt(pi)) times the area under the curve e**(-t**2) between 0 and x. erfc() returns (1.0-erf(x)). The erfc() function can result in an underflow as x gets large. Entry-Point Names Generic Function Data Type OpenVMS Digital Name Required Alpha UNIX Alpha erf S_FLOAT math$erf_s erff T_FLOAT math$erf_t erf X_FLOAT math$erf_x F_FLOAT math$erf_f G_FLOAT math$erf_g erfc S_FLOAT math$erfc_s erfcf T_FLOAT math$erfc_t erfc X_FLOAT math$erfc_x F_FLOAT math$erfc_f G_FLOAT math$erfc_g 3 Exceptions None. 2 exp() Interface F_TYPE exp (F_TYPE x) F_TYPE expm1 (F_TYPE x) 3 Description exp() computes the value of the exponential function, defined as e**x, where e is the constant used as a base for natural logarithms. expm1() computes exp(x)-1 accurately, even for tiny x. Entry-Point Names Generic Function Data Type OpenVMS Digital Name Required Alpha UNIX Alpha exp S_FLOAT math$exp_s expf T_FLOAT math$exp_t exp X_FLOAT math$exp_x F_FLOAT math$exp_f G_FLOAT math$exp_g expm1 S_FLOAT math$expm1_s expm1f T_FLOAT math$expm1_t expm1 X_FLOAT math$expm1_x F_FLOAT math$expm1_f G_FLOAT math$expm1_g 3 Exceptions Exceptional Argument Routine Behavior x > ln(max_float) Overflow x < ln(min_float) Underflow Data Type Value for: ln(max_float) F Hexadecimal: 0F3443B0 G Hexadecimal: 7B616E3A28B740A6 S Hexadecimal: 42B17218 T Hexadecimal: 40862E42FEFA39EF X Hexadecimal: 400C62E42FEFA39EF35793C7673007E6 F Decimal: 88.029692 G Decimal: 709.0895657128241 S Decimal: 88.7228391 T Decimal: 709.7827128933840 X Decimal: 11356.5234062941439494919310779707648912527 Data Type Value for: ln(min_float) F Hexadecimal: 7218C3B1 G Hexadecimal: 39EFFEFA2E42C0A6 S Hexadecimal: C2CE8ED0 T Hexadecimal: C0874385446D71C3 X Hexadecimal: C00C6546282207802C89D24D65E96274 F Decimal: -88.72284 G Decimal: -709.7827128933840 S Decimal: -103.2789 T Decimal: -744.4400719213813 X Decimal: -11432.7695961557379335278266113311643138373 2 fabs() Interface F_TYPE fabs (F_TYPE x) 3 Description fabs() computes the absolute value of x. Entry-Point Names Generic Function Data Type OpenVMS Digital Name Required Alpha UNIX Alpha fabs S_FLOAT math$fabs_s fabsf T_FLOAT math$fabs_t fabs X_FLOAT math$fabs_x F_FLOAT math$fabs_f G_FLOAT math$fabs_g 3 Exceptions None. 2 finite() Interface int finite (F_TYPE x) 3 Description finite() returns the integer value 1 (true) or 0 (false). finite(x) = 1 when -infinity < x < +infinity. finite(x) = 0 when |x| = infinity or x is a NaN. Entry-Point Names Generic Function Data Type Digital Name Required OpenVMS Alpha UNIX Alpha finite S_FLOAT math$finite_s finitef T_FLOAT math$finite_t finite X_FLOAT math$finite_x F_FLOAT math$finite_f G_FLOAT math$finite_g 3 Exceptions None. 2 floor() Interface F_TYPE floor (F_TYPE x) 3 Description floor() returns the largest floating-point integer value less than or equal to x. Entry-Point Names Generic Function Data Type OpenVMS Digital Name Required Alpha UNIX Alpha floor S_FLOAT math$floor_s floorf T_FLOAT math$floor_t floor X_FLOAT math$floor_x F_FLOAT math$floor_f G_FLOAT math$floor_g 3 Exceptions None. 2 fmod() Interface F_TYPE fmod (F_TYPE x, F_TYPE y) 3 Description fmod() computes the floating-point remainder of x modulo y. It returns the remainder r = x-n*y, where n = trunc(x/y). The remainder is computed exactly. The result has the same sign as x and a magnitude less than the magnitude of y. Entry-Point Names Generic Function Data Type OpenVMS Digital Name Required Alpha UNIX Alpha fmod S_FLOAT math$fmod_s fmodf T_FLOAT math$fmod_t fmod X_FLOAT math$fmod_x F_FLOAT math$fmod_f G_FLOAT math$fmod_g 3 Exceptions Exceptional Argument Routine Behavior x = infinity Invalid argument y = 0 Invalid argument 2 fp_class() Interface int fp_class (F_TYPE x) 3 Description These routines determine the class of IEEE floating-point values. They return one of the constants in the file <fp_class.h> and never cause an exception, even for signaling NaNs. These routines implement the recommended function class(x) in the appendix of the IEEE Std 754. The constants in <fp_class.h> refer to the following classes of values: Constant Class FP_SNAN Signaling NaN (Not-a-Number) FP_QNAN Quiet NaN (Not-a-Number) FP_POS_INF +Infinity FP_NEG_INF -Infinity FP_POS_NORM Positive normalized FP_NEG_NORM Negative normalized FP_POS_DENORM Positive denormalized FP_NEG_DENORM Negative denormalized FP_POS_ZERO +0.0 (positive zero) FP_NEG_ZERO -0.0 (negative zero) Entry-Point Names Generic Function Data Type Digital Name Required OpenVMS Alpha UNIX Alpha fp_class S_FLOAT math$fp_class_s fp_classf T_FLOAT math$fp_class_t fp_class X_FLOAT math$fp_class_x F_FLOAT math$fp_class_f G_FLOAT math$fp_class_g 3 Exceptions None. 2 frexp() Interface F_TYPE frexp (F_TYPE x, int *n) 3 Description frexp() breaks a floating-point number into a normalized fraction and an integral power of 2. It stores the integer in the int object pointed to by the n parameter and returns the fraction part. Entry-Point Names Generic Function Data Type OpenVMS Digital Name Required Alpha UNIX Alpha frexp S_FLOAT math$frexp_s frexpf T_FLOAT math$frexp_t frexp X_FLOAT math$frexp_x F_FLOAT math$frexp_f G_FLOAT math$frexp_g 3 Exceptions Exceptional Argument Routine Behavior |x| = infinity Invalid argument 2 hypot() Interface F_TYPE hypot (F_TYPE x, F_TYPE y) 3 Description hypot() computes the length of the hypotenuse of a right triangle, where x and y represent the perpendicular sides of the triangle. hypot(x,y) is defined as the square root of (x**2 + y**2) and returns the same value as cabs(x,y). Entry-Point Names Generic Function Data Type OpenVMS Digital Name Required Alpha UNIX Alpha hypot S_FLOAT math$hypot_s hypotf T_FLOAT math$hypot_t hypot X_FLOAT math$hypot_x F_FLOAT math$hypot_f G_FLOAT math$hypot_g 3 Exceptions Exceptional Argument Routine Behavior sqrt(x**2 + y**2) > max_float Overflow Data Type Value for: max_float F Hexadecimal: FFFF7FFF G Hexadecimal: FFFFFFFFFFFF7FFF S Hexadecimal: 7F7FFFFF T Hexadecimal: 7FEFFFFFFFFFFFFF X Hexadecimal: 7FFEFFFFFFFFFFFFFFFFFFFFFFFFFFFF F Decimal: 1.701411e38 G Decimal: 8.988465674311579e307 S Decimal: 3.402823e38 T Decimal: 1.797693134862316e308 X Decimal: 1.189731495357231765085759326628007016196477e4932 2 ilogb() Interface int ilogb (F_TYPE x) 3 Description ilogb() returns the integral part of logr(|x|) as a signed integral value, for x /= 0, where r is the radix of the machine's floating point arithmetic. Entry-Point Names Generic Function Data Type Digital Name Required OpenVMS Alpha UNIX Alpha ilogb S_FLOAT math$ilogb_s ilogbf T_FLOAT math$ilogb_t ilogb X_FLOAT math$ilogb_x F_FLOAT math$ilogb_f G_FLOAT math$ilogb_g 3 Exceptions Exceptional Argument Routine Behavior |x| = infinity INT_MAX x = 0, NaN INT_MIN 2 isnan() Interface int isnan (F_TYPE x) 3 Description isnan() returns 1 (true) if x is NaN (the IEEE floating-point reserved Not-a-Number value) and 0 (false) otherwise. Entry-Point Names Generic Function Data Type OpenVMS Digital Name Required Alpha UNIX Alpha isnan S_FLOAT math$isnan_s isnanf T_FLOAT math$isnan_t isnan X_FLOAT math$isnan_x F_FLOAT math$isnan_f G_FLOAT math$isnan_g 3 Exceptions None. 2 ldexp() Interface F_TYPE ldexp (F_TYPE x, int n) 3 Description ldexp() multiplies a floating-point number, x, by 2**n. Entry-Point Names Generic Function Data Type OpenVMS Digital Name Required Alpha UNIX Alpha ldexp S_FLOAT math$ldexp_s ldexpf T_FLOAT math$ldexp_t ldexp X_FLOAT math$ldexp_x F_FLOAT math$ldexp_f G_FLOAT math$ldexp_g 3 Exceptions Exceptional Argument Routine Behavior |x*(2**n)| > max_ Overflow float |x*(2**n)| < min_ Underflow float Data Type Value for: max_float F Hexadecimal: FFFF7FFF G Hexadecimal: FFFFFFFFFFFF7FFF S Hexadecimal: 7F7FFFFF T Hexadecimal: 7FEFFFFFFFFFFFFF X Hexadecimal: 7FFEFFFFFFFFFFFFFFFFFFFFFFFFFFFF F Decimal: 1.701411e38 G Decimal: 8.988465674311579e307 S Decimal: 3.402823e38 T Decimal: 1.797693134862316e308 X Decimal: 1.189731495357231765085759326628007016196477e4932 Data Type Value for: min_float F Hexadecimal: 00000080 G Hexadecimal: 0000000000000010 S Hexadecimal: 00000001 T Hexadecimal: 0000000000000001 X Hexadecimal: 00000000000000000000000000000001 F Decimal: 2.9387359e-39 G Decimal: 5.562684646268003e-309 S Decimal: 1.4012985e-45 T Decimal: 4.940656458412465e-324 X Decimal: 6.4751751194380251109244389582276465524996e-4966 2 lgamma() Interface F_TYPE lgamma (F_TYPE x) 3 Description lgamma() returns the logarithm of the absolute value of gamma of x, or ln(|G(x)|), where G is the gamma function. The sign of gamma of x is returned in the external integer variable signgam as +1 or -1. The x parameter cannot be 0 or a negative integer. gamma() returns the natural log of the gamma function and so is functionally equivalent to lgamma(). Because of this, gamma() is marked TO BE WITHDRAWN in the X/Open Portability Guide, Revision 4 (XPG4). Entry-Point Names Generic Function Data Type Digital Name Required OpenVMS Alpha UNIX Alpha lgamma S_FLOAT math$lgamma_s lgammaf T_FLOAT math$lgamma_t lgamma X_FLOAT math$lgamma_x F_FLOAT math$lgamma_f G_FLOAT math$lgamma_g 3 Exceptions Exceptional Argument Routine Behavior |x| = infinity Invalid argument x = 0, -1, -2, -3, ... Invalid argument |x| > lgamma_max_float Overflow Data Type Value for: lgamma_max_float F Hexadecimal: 50F97CC6 G Hexadecimal: F55FC5015ABD7F67 S Hexadecimal: 7BC650F9 T Hexadecimal: 7F475ABDC501F55F X Hexadecimal: 7FF171AA9917FFFBD7EA44AE6D203DF6 F Decimal: 2.0594342e36 G Decimal: 1.2812545499066958e305 S Decimal: 2.0594342e36 T Decimal: 1.2812545499066958e305 X Decimal: 1.0485738685148938358098967157129705040168e4928 2 log() Interface F_TYPE ln (F_TYPE x) F_TYPE log2 (F_TYPE x) F_TYPE log10 (F_TYPE x) F_TYPE log1p (F_TYPE y) 3 Description ln() computes the natural (base e) logarithm of x. log2() computes the base 2 logarithm of x. log10() computes the common (base 10) logarithm of x. log1p() computes ln(1+y) accurately, even for tiny y. Entry-Point Names Generic Function Data Type OpenVMS Digital Name Required Alpha UNIX Alpha ln S_FLOAT math$ln_s logf T_FLOAT math$ln_t log X_FLOAT math$ln_x F_FLOAT math$ln_f G_FLOAT math$ln_g log2 S_FLOAT math$log2_s log2f T_FLOAT math$log2_t log2 X_FLOAT math$log2_x F_FLOAT math$log2_f G_FLOAT math$log2_g log10 S_FLOAT math$log10_s log10f T_FLOAT math$log10_t log10 X_FLOAT math$log10_x F_FLOAT math$log10_f G_FLOAT math$log10_g log1p S_FLOAT math$log1p_s log1pf T_FLOAT math$log1p_t log1p X_FLOAT math$log1p_x F_FLOAT math$log1p_f G_FLOAT math$log1p_g 3 Exceptions Exceptional Argument Routine Behavior x < 0 Invalid argument x = 0 Overflow 1+y < 0 Invalid argument 1+y = 0 Overflow 2 logb() Interface F_TYPE logb (F_TYPE x) 3 Description logb() returns a signed integer converted to double-precision floating-point and so chosen that 1 <= |x|/2**n < 2 unless x = 0 or |x| = infinity. IEEE Std 754 defines logb(+infinity) = +infinity and logb(0) = -infinity. The latter is required to signal division by zero. Entry-Point Names Generic Function Data Type OpenVMS Digital Name Required Alpha UNIX Alpha logb S_FLOAT math$logb_s logbf T_FLOAT math$logb_t logb X_FLOAT math$logb_x F_FLOAT math$logb_f G_FLOAT math$logb_g 3 Exceptions Exceptional Argument Routine Behavior |x| = infinity Invalid argument 2 modf() Interface F_TYPE modf (F_TYPE x, F_TYPE *n) 3 Description modf() splits a floating-point number x into a fractional part f and an integer part i such that |f| < 1.0 and (f + i) = x. Both f and i have the same sign as x. modf() returns f and stores i into the location pointed to by n. Entry-Point Names Generic Function Data Type OpenVMS Digital Name Required Alpha UNIX Alpha modf S_FLOAT math$modf_s modff T_FLOAT math$modf_t modf X_FLOAT math$modf_x F_FLOAT math$modf_f G_FLOAT math$modf_g 3 Exceptions None. 2 nextafter() Interface F_TYPE nextafter (F_TYPE x, F_TYPE y) 3 Description nextafter() returns the machine-representable number next to x in the direction y. Entry-Point Names Generic Function Data Type Digital Name Required OpenVMS Alpha UNIX Alpha nextafter S_FLOAT math$nextafter_s nextafterf T_FLOAT math$nextafter_t nextafter X_FLOAT math$nextafter_x F_FLOAT math$nextafter_f G_FLOAT math$nextafter_g 3 Exceptions Exceptional Argument Routine Behavior x = max_float and y = Overflow +infinity x = -max_float and y = - Overflow infinity x = min_float and y is less Underflow than or equal to 0 x = -min_float and y is Underflow greater than or equal to 0 2 nint() Interface F_TYPE nint (F_TYPE x) 3 Description nint() returns the nearest integral value to x, except halfway cases are rounded to the integral value larger in magnitude. This function corresponds to the Fortran generic intrinsic function nint(). Entry-Point Names Generic Function Data Type OpenVMS Digital Name Required Alpha UNIX Alpha nint S_FLOAT math$nint_s nintf T_FLOAT math$nint_t nint X_FLOAT math$nint_x F_FLOAT math$nint_f G_FLOAT math$nint_g 3 Exceptions None. 2 pow() Interface F_TYPE pow (F_TYPE x, F_TYPE y) 3 Description pow() raises a floating-point base x to a floating-point exponent y. The value of pow(x,y) is computed as e**(y ln(x)) for positive x. If x is 0 or negative, see your language reference manual. Passing a NaN input value to pow() produces a NaN result for nonzero values of y. For pow(NaN,0), see your language reference manual. Entry-Point Names Generic Function Data Type OpenVMS Digital Name Required Alpha UNIX Alpha pow S_FLOAT math$pow_ss powf T_FLOAT math$pow_tt pow X_FLOAT math$pow_xx F_FLOAT math$pow_ff G_FLOAT math$pow_gg 3 Exceptions Exceptional Argument Routine Behavior y ln(x) > ln(max_float) Overflow y ln(x) < ln(min_float) Underflow Fortran-Exceptional Argument Routine Behavior x < 0 Invalid argument x = 0 and y < 0 Invalid argument x = 0 and y = 0 Invalid argument x = +infinity and y = 0 Invalid argument x = 1 and |y| = infinity Invalid argument ANSI C-Exceptional Argument Routine Behavior |x| = 1 and |y| = infinity Invalid argument x < 0 and y is not integral Invalid argument Data Type Value for: ln(max_float) F Hexadecimal: 0F3443B0 G Hexadecimal: 7B616E3A28B740A6 S Hexadecimal: 42B17218 T Hexadecimal: 40862E42FEFA39EF X Hexadecimal: 400C62E42FEFA39EF35793C7673007E6 F Decimal: 88.029692 G Decimal: 709.0895657128241 S Decimal: 88.7228391 T Decimal: 709.7827128933840 X Decimal: 11356.5234062941439494919310779707648912527 Data Type Value for: ln(min_float) F Hexadecimal: 7218C3B1 G Hexadecimal: 39EFFEFA2E42C0A6 S Hexadecimal: C2CE8ED0 T Hexadecimal: C0874385446D71C3 X Hexadecimal: C00C6546282207802C89D24D65E96274 F Decimal: -88.72284 G Decimal: -709.7827128933840 S Decimal: -103.2789 T Decimal: -744.4400719213813 X Decimal: -11432.7695961557379335278266113311643138373 2 random() Interface F_TYPE random (int *n) 3 Description random() is a general random number generator. The argument to the random function is an integer passed by reference. There are no restrictions on the input argument, although it should be initialized to different values on separate runs in order to obtain different random sequences. This function must be called again to obtain the next pseudorandom number. The argument is updated automatically. The result is a floating-point number that is uniformly distributed in the interval (0.0,1.0). Entry-Point Names Generic Function Data Type Digital Name Required OpenVMS Alpha UNIX Alpha random S_FLOAT math$random_s T_FLOAT math$random_t X_FLOAT math$random_x F_FLOAT math$random_f G_FLOAT math$random_g 3 Exceptions None. 2 remainder() Interface F_TYPE remainder (F_TYPE x, F_TYPE y) 3 Description remainder() returns the remainder r = x-n*y, where n = rint(x/y). Additionally, if |n-x/y|=1/2, then n is even. Consequently, the remainder is computed exactly, and |r| is less than or equal to |y|/2. The drem() and remainder() functions are aliases of each other. IEEE Std 754 defines remainder(x,0) and remainder(infinity,y) to be invalid operations that produce a NaN. Entry-Point Names Generic Function Data Type Digital Name Required OpenVMS Alpha UNIX Alpha remainder S_FLOAT math$remainder_s remainderf T_FLOAT math$remainder_t remainder X_FLOAT math$remainder_x F_FLOAT math$remainder_f G_FLOAT math$remainder_g 3 Exceptions Exceptional Argument Routine Behavior y = 0 Invalid argument x = infinity Invalid argument 2 rint() Interface F_TYPE rint (F_TYPE x) 3 Description rint() rounds x to an integral value according to the current IEEE rounding direction specified by the user. Entry-Point Names Generic Function Data Type OpenVMS Digital Name Required Alpha UNIX Alpha rint S_FLOAT math$rint_s rintf T_FLOAT math$rint_t rint X_FLOAT math$rint_x F_FLOAT math$rint_f G_FLOAT math$rint_g 3 Exceptions None. 2 scalb() Interface F_TYPE scalb (F_TYPE x, F_TYPE y) 3 Description scalb() = x*(2**y) computed, for integer y. Entry-Point Names Generic Function Data Type OpenVMS Digital Name Required Alpha UNIX Alpha scalb S_FLOAT math$scalb_s scalbf T_FLOAT math$scalb_t scalb X_FLOAT math$scalb_x F_FLOAT math$scalb_f G_FLOAT math$scalb_g 3 Exceptions Exceptional Argument Routine Behavior x*(2**y) > max_float Overflow x*(2**y) < min_float Underflow Data Type Value for: max_float F Hexadecimal: FFFF7FFF G Hexadecimal: FFFFFFFFFFFF7FFF S Hexadecimal: 7F7FFFFF T Hexadecimal: 7FEFFFFFFFFFFFFF X Hexadecimal: 7FFEFFFFFFFFFFFFFFFFFFFFFFFFFFFF F Decimal: 1.701411e38 G Decimal: 8.988465674311579e307 S Decimal: 3.402823e38 T Decimal: 1.797693134862316e308 X Decimal: 1.189731495357231765085759326628007016196477e4932 Data Type Value for: min_float F Hexadecimal: 00000080 G Hexadecimal: 0000000000000010 S Hexadecimal: 00000001 T Hexadecimal: 0000000000000001 X Hexadecimal: 00000000000000000000000000000001 F Decimal: 2.9387359e-39 G Decimal: 5.562684646268003e-309 S Decimal: 1.4012985e-45 T Decimal: 4.940656458412465e-324 X Decimal: 6.4751751194380251109244389582276465524996e-4966 2 sin() Interface F_TYPE sin (F_TYPE x) F_TYPE sind (F_TYPE x) 3 Description sin() computes the sine of x, measured in radians. sind() computes the sine of x, measured in degrees. Entry-Point Names Generic Function Data Type OpenVMS Digital Name Required Alpha UNIX Alpha sin S_FLOAT math$sin_s sinf T_FLOAT math$sin_t sin X_FLOAT math$sin_x F_FLOAT math$sin_f G_FLOAT math$sin_g sind S_FLOAT math$sind_s sindf T_FLOAT math$sind_t sind X_FLOAT math$sind_x F_FLOAT math$sind_f G_FLOAT math$sind_g 3 Exceptions Exceptional Argument Routine Behavior |x| = infinity Invalid argument (sind) |x| < (180/pi) * min_float Underflow Data Type Value for: (180/pi) * min_float F Hexadecimal: 2EE10365 G Hexadecimal: C1F81A63A5DC006C S Hexadecimal: 00000039 T Hexadecimal: 0000000000000039 X Hexadecimal: 00000000000000000000000000000039 F Decimal: 1.683772e-37 G Decimal: 3.187183529933798e-307 S Decimal: 8.028849e-44 T Decimal: 2.830787630910868e-322 X Decimal: 3.71000205951917569316937757202433432154392e-4964 2 sincos() Interface F_COMPLEX sincos (F_TYPE x) F_COMPLEX sincosd(F_TYPE x) 3 Description sincos() computes both the sine and cosine of x, measured in radians. sincosd() computes both the sine and cosine of x, measured in degrees. sincos(x) is defined as (sin x + icos y). Entry-Point Names Generic Function Data Type Digital Name Required OpenVMS Alpha UNIX Alpha sincos S_FLOAT math$sincos_s sincosf T_FLOAT math$sincos_t sincos X_FLOAT math$sincos_x F_FLOAT math$sincos_f G_FLOAT math$sincos_g sincosd S_FLOAT math$sincosd_s sincosdf T_FLOAT math$sincosd_t sincosd X_FLOAT math$sincosd_x F_FLOAT math$sincosd_f G_FLOAT math$sincosd_g 3 Exceptions Exceptional Argument Routine Behavior |x| = infinity Invalid argument (sind) |x| < (180/pi) Underflow * min_float 2 sinh() Interface F_TYPE sinh (F_TYPE x) 3 Description sinh() computes the hyperbolic sine of x. sinh(x) is defined as (exp(x)-exp(-x))/2. Entry-Point Names Generic Function Data Type OpenVMS Digital Name Required Alpha UNIX Alpha sinh S_FLOAT math$sinh_s sinhf T_FLOAT math$sinh_t sinh X_FLOAT math$sinh_x F_FLOAT math$sinh_f G_FLOAT math$sinh_g 3 Exceptions Exceptional Argument Routine Behavior |x| > ln(2 * max_float) Overflow Data Type Value for: ln(2 * max_float) F Hexadecimal: 721843B1 G Hexadecimal: 39EFFEFA2E4240A6 S Hexadecimal: 42B2D4FC T Hexadecimal: 408633CE8FB9F87E X Hexadecimal: 400C62E9BB80635D81D36125B64DA4A6 F Decimal: 88.72284 G Decimal: 709.7827128933840 S Decimal: 89.41599 T Decimal: 710.4758600739439 X Decimal: 11357.2165534747038948013483100922230678208 2 sinhcosh() Interface F_COMPLEX sinhcosh (F_TYPE x) 3 Description sinhcosh() computes both the hyperbolic sine and hyperbolic cosine of x. sinhcosh(x) is defined as (sinh x + icosh x). Entry-Point Names Generic Function Data Type Digital Name Required OpenVMS Alpha UNIX Alpha sinhcosh S_FLOAT math$sinhcosh_s sinhcoshf T_FLOAT math$sinhcosh_t sinhcosh X_FLOAT math$sinhcosh_x F_FLOAT math$sinhcosh_f G_FLOAT math$sinhcosh_g 3 Exceptions Exceptional Argument Routine Behavior |x| > ln(2 * max_float) Overflow Data Type Value for: ln(2 * max_float) F Hexadecimal: 721843B1 G Hexadecimal: 39EFFEFA2E4240A6 S Hexadecimal: 42B2D4FC T Hexadecimal: 408633CE8FB9F87E X Hexadecimal: 400C62E9BB80635D81D36125B64DA4A6 F Decimal: 88.72284 G Decimal: 709.7827128933840 S Decimal: 89.41599 T Decimal: 710.4758600739439 X Decimal: 11357.2165534747038948013483100922230678208 2 sqrt() Interface F_TYPE sqrt (F_TYPE x) 3 Description sqrt() computes the rounded square root of x. For platforms supporting a signed zero, sqrt(-0) = 0. Entry-Point Names Generic Function Data Type OpenVMS Digital Name Required Alpha UNIX Alpha sqrt S_FLOAT math$sqrt_s sqrtf T_FLOAT math$sqrt_t sqrt X_FLOAT math$sqrt_x F_FLOAT math$sqrt_f G_FLOAT math$sqrt_g 3 Exceptions Exceptional Argument Routine Behavior x < 0 Invalid argument 2 tan() Interface F_TYPE tan (F_TYPE x) F_TYPE tand (F_TYPE x) 3 Description tan() computes the tangent of x, measured in radians. tand() computes the tangent of x, measured in degrees. Entry-Point Names Generic Function Data Type OpenVMS Digital Name Required Alpha UNIX Alpha tan S_FLOAT math$tan_s tanf T_FLOAT math$tan_t tan X_FLOAT math$tan_x F_FLOAT math$tan_f G_FLOAT math$tan_g tand S_FLOAT math$tand_s tandf T_FLOAT math$tand_t tand X_FLOAT math$tand_x F_FLOAT math$tand_f G_FLOAT math$tand_g 3 Exceptions Exceptional Argument Routine Behavior |x| = infinity Invalid argument (tand) |x| < (180/pi) * min_float Underflow (tand) x = (2n+1) * 90 Overflow Data Type Value for: (180/pi) * min_float F Hexadecimal: 2EE10365 G Hexadecimal: C1F81A63A5DC006C S Hexadecimal: 00000039 T Hexadecimal: 0000000000000039 X Hexadecimal: 00000000000000000000000000000039 F Decimal: 1.683772e-37 G Decimal: 3.187183529933798e-307 S Decimal: 8.028849e-44 T Decimal: 2.830787630910868e-322 X Decimal: 3.71000205951917569316937757202433432154392e-4964 2 tanh() Interface F_TYPE tanh (F_TYPE x) 3 Description tanh() computes the hyperbolic tangent of x. tanh(x) is defined as (exp(x)-exp(-x))/(exp(x) + exp(-x)). Entry-Point Names Generic Function Data Type OpenVMS Digital Name Required Alpha UNIX Alpha tanh S_FLOAT math$tanh_s tanhf T_FLOAT math$tanh_t tanh X_FLOAT math$tanh_x F_FLOAT math$tanh_f G_FLOAT math$tanh_g 3 Exceptions None. 2 trunc() Interface F_TYPE trunc (F_TYPE x) 3 Description trunc() truncates x to an integer. Entry-Point Names Generic Function Data Type OpenVMS Digital Name Required Alpha UNIX Alpha trunc S_FLOAT math$trunc_s truncf T_FLOAT math$trunc_t trunc X_FLOAT math$trunc_x F_FLOAT math$trunc_f G_FLOAT math$trunc_g 3 Exceptions None. 2 unordered() Interface int unordered (F_TYPE x, F_TYPE y) 3 Description unordered(x,y) returns the value 1 (true) if x, y, or both, are a NaN and returns the value 0 (false) otherwise. Entry-Point Names Generic Function Data Type Digital Name Required OpenVMS Alpha UNIX Alpha unordered S_FLOAT math$unordered_s unorderedf T_FLOAT math$unordered_t unordered X_FLOAT math$unordered_x F_FLOAT math$unordered_f G_FLOAT math$unordered_g 3 Exceptions None.