Document revision date: 19 July 1999

## DIGITAL Portable Mathematics Library

 Previous Contents Index

## sinhcosh - Hyperbolic Sine and Cosine

### Description

sinhcosh() computes both the hyperbolic sine and hyperbolic cosine of x.

sinhcosh(x) is defined as (sinh x + icosh x).

#### Exceptions

Exceptional Argument Routine Behavior
|x| > ln(2 * max_float) Overflow

Appendix A, Critical Floating-Point Values

## sqrt - Square Root

### Description

sqrt() computes the rounded square root of x.

For platforms supporting a signed zero, sqrt(-0) = 0.

#### Exceptions

Exceptional Argument Routine Behavior
x < 0 Invalid argument

## tan - Tangent of Angle

### Description

tan() computes the tangent of x, measured in radians.

tand() computes the tangent of x, measured in degrees.

#### Exceptions

Exceptional Argument Routine Behavior
|x| = infinity Invalid argument
(tand) |x| < (180/pi) * min_float Underflow
(tand) x = (2n+1) * 90 Overflow

Appendix A, Critical Floating-Point Values

## tanh - Hyperbolic Tangent

### Description

tanh() computes the hyperbolic tangent of x.

tanh(x) is defined as (exp(x)-exp(-x))/(exp(x) + exp(-x)).

None.

## trunc - Truncation

### Description

trunc() truncates x to an integer.

None.

## unordered - Check for x Unordered with Respect to y

### Description

unordered(x,y) returns the value 1 (true) if x, y, or both, are a NaN and returns the value 0 (false) otherwise.

None.

## Appendix ACritical Floating-Point Values

Table A-1 contains the hexadecimal and decimal boundary values used in DPML calculations and exception checking.

Table A-1 Hexadecimal and Decimal Boundary Values
Data Type Value for: max_float

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 Decimal: 2.9387359e-39
G Decimal: 5.562684646268003e-309
S Decimal: 1.4012985e-45
T Decimal: 4.940656458412465e-324
X Decimal: 6.4751751194380251109244389582276465524996e-4966
Data Type Value for: ln(max_float)

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 Decimal: -88.72284
G Decimal: -709.7827128933840
S Decimal: -103.2789
T Decimal: -744.4400719213813
X Decimal: -11432.7695961557379335278266113311643138373
Data Type Value for: ln(2 * max_float)

F Decimal: 88.72284
G Decimal: 709.7827128933840
S Decimal: 89.41599
T Decimal: 710.4758600739439
X Decimal: 11357.2165534747038948013483100922230678208

Data Type Value for: (180/pi) * min_float

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

Data Type Value for: lgamma_max_float

F Decimal: 2.0594342e36
G Decimal: 1.2812545499066958e305
S Decimal: 2.0594342e36
T Decimal: 1.2812545499066958e305
X Decimal: 1.0485738685148938358098967157129705040168e4928

## Appendix BDPML Entry-Point Names

Each entry-point name in Table B-1 is unique and corresponds to data-type specific calculations in a DPML routine. For example, the acos function has five entry-point-names for the OpenVMS Alpha operating system. Because five floating-point data types are available, five acos routines are provided: math\$acos_s, math\$acos_t, math\$acos_f, math\$acos_g, and math\$acos_x. Use the entry-point name that corresponds to your input argument data type.

Table B-1 Entry-Point Names for DPML Platforms
Entry-Point Names
Generic Function Name Data Type Required OpenVMS Alpha DIGITAL 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

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

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

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

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

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

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

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

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

cabs S_FLOAT math\$hypot_s cabsf
T_FLOAT math\$hypot_t cabs
X_FLOAT math\$hypot_x
F_FLOAT math\$hypot_f
G_FLOAT math\$hypot_g

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

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

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

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

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

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

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

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

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

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

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

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

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

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

cvt_ftof All supported types   cvt_ftof

drem S_FLOAT math\$rem_s dremf
T_FLOAT math\$rem_t drem
X_FLOAT math\$rem_x
F_FLOAT math\$rem_f
G_FLOAT math\$rem_g

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

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

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

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

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

fmod S_FLOAT math\$mod_s fmodf
T_FLOAT math\$mod_t fmod
X_FLOAT math\$mod_x
F_FLOAT math\$mod_f
G_FLOAT math\$mod_g

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

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

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

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

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

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

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

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

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

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

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

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

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

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

random S_FLOAT math\$random_l_s
T_FLOAT
X_FLOAT
F_FLOAT math\$random_l_f
G_FLOAT

remainder S_FLOAT math\$rem_s remainderf
T_FLOAT math\$rem_t remainder
X_FLOAT math\$rem_x
F_FLOAT math\$rem_f
G_FLOAT math\$rem_g

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

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

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

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

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

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

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

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

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

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

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

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

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

 Previous Next Contents Index

 privacy and legal statement 6118PRO_004.HTML