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 and libsunmath 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
Note: With the exception of the random number functions (d_addran(), d_addrans(), d_lcran(), d_lcrans(), and d_shufrans()), the functions listed below are deprecated and may be removed in a future release. Fortran programs may invoke the corresponding C functions instead using the C-Fortran interface features described in the Fortran Programming Guide.
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( n, 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.
See Also
intro(3M)
Numerical Computation Guide
Fortran Library Reference Manual
Fortran Programming Guide