Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ libm_double(3F) — Sun WorkShop 5.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

intro(3M)

LIBM_DOUBLE(3F)

NAME

libm_double − FORTRAN access to double precision libm functions and subroutines

SYNOPSIS

Example for non-intrinsics:

DOUBLE PRECISION c, d_acosh, d_hypot, d_infinity, s, x, y, z
  ...
z = d_acosh( x )
i = id_finite( x )
z = d_hypot( x, y )
z = d_infinity()
CALL d_sincos( x, s, c )

Put any function used into a DOUBLE PRECISION statement. 

DESCRIPTION

These subprograms provide access to double precision libm functions and subroutines.  asind(x), sind(x), and so on involve degrees, rather than radians.

INTRINSICS

The following FORTRAN intrinsic functions return double precision values if their arguments are double precision.  You need not put them in a type statement.  If the function needed is available as an intrinsic function, it is simpler to use an intrinsic than a non-intrinsic function. 

The variables x and y are of type double precision. 
 

sqrt(x) asin(x) acosd(x)∗


log(x) acos(x) asind(x)∗


log10(x) atan(x) acosd(x)∗


exp(x) atan2(x,y) atand(x)∗


x∗∗y sinh(x) atan2d(x,y)∗


sin(x) cosh(x)∗ aint(x)


cos(x) tanh(x)∗ anint(x)


tan(x) sind(x)∗ nint(x)


∗ = nonstandard: it is an extension that this is intrinsic

NON-INTRINSIC FUNCTIONS AND SUBROUTINES

In general, these functions do not correspond to standard FORTRAN generic intrinsic functions, so their data types are determined by the usual FORTRAN data typing rules. 

Caveat: If you use one of these DOUBLE PRECISION functions, put it into a DOUBLE PRECISION statement, or type it by some IMPLICIT statement). 

For meanings of routines and arguments, do a man command on the routine name without the d_; the output is a C man page, but the meanings are the same. 

The variables c, l, p, s, u, x, and y are double precision. 

d_acos( x ) double precision function

d_acosd( x ) double precision function

d_acosh( x ) double precision function

d_acosp( x ) double precision function

d_acospi( x ) double precision function






d_atan( x ) double precision function

d_atand( x ) double precision function

d_atanh( x ) double precision function

d_atanp( x ) double precision function

d_atanpi( x ) double precision function






d_asin( x ) double precision function

d_asind( x ) double precision function

d_asinh( x ) double precision function

d_asinp( x ) double precision function

d_asinpi( x ) double precision function






d_atan2(( y, x ) double precision function

d_atan2d( y, x ) double precision function

d_atan2pi( y, x ) double precision function






d_cbrt( x ) double precision function

d_ceil( x ) double precision function

d_copysign( x, y ) double precision function






d_cos( x ) double precision function

d_cosd( x ) double precision function

d_cosh( x ) double precision function

d_cosp( x ) double precision function

d_cospi( x ) double precision function






d_erf( x ) double precision function

d_erfc( x ) double precision function

d_expm1( x ) double precision function

d_floor( x ) double precision function

d_hypot( x, y ) double precision function

d_infinity( ) double precision function






d_j0( x ) double precision function

d_j1( x ) double precision function

d_jn( x ) double precision function






id_finite( x ) integer function

id_fp_class( x ) integer function

id_ilogb( x ) integer function

id_irint( x ) integer function

id_isinf( x ) integer function

id_isnan( x ) integer function

id_isnormal( x ) integer function

id_issubnormal( x ) integer function

id_iszero( x ) integer function

id_signbit( x  ) integer function






d_addran() double precision function

d_addrans( x, p, l, u ) n/a subroutine

d_lcran() double precision function

d_lcrans( x, p, l, u ) n/a subroutine

d_shufrans(x, p, l, u) n/a subroutine






d_lgamma( x ) double precision function

d_logb( x ) double precision function

d_log1p( x ) double precision function

d_log2( x ) double precision function






d_max_normal() double precision function

d_max_subnormal() double precision function

d_min_normal() double precision function

d_min_subnormal() double precision function

d_nextafter( x, y ) double precision function

d_quiet_nan( n ) double precision function

d_remainder( x, y ) double precision function

d_rint( x ) double precision function

d_scalb( x, y ) double precision function

d_scalbn( x, n ) double precision function

d_signaling_nan( n ) double precision function

d_significand( x ) double precision function






d_sin( x ) double precision function

d_sind( x ) double precision function

d_sinh( x ) double precision function

d_sinp( x ) double precision function

d_sinpi( x ) double precision function






d_sincos( x, s, c ) n/a subroutine

d_sincosd( x, s, c ) n/a subroutine

d_sincosp( x, s, c ) n/a subroutine

d_sincospi( x, s, c ) n/a subroutine






d_tan( x ) double precision function

d_tand( x ) double precision function

d_tanh( x ) double precision function

d_tanp( x ) double precision function

d_tanpi( x ) double precision function






d_y0( x ) double precision function

d_y1( x ) double precision function

d_yn( n,x ) double precision function

If you need to use any other double precision libm function, you can call a C function that calls the libm function. 

FILES

libm.a

SEE ALSO

intro(3M)
FORTRAN 77 Reference Manual
Numerical Computation Guide

SunOS 5.0  —  Last change: 07 July 1995

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026