NAME
libm_double - FORTRAN access to double precision libm func-
tions 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 pre-
cision 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