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( 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.
Files
libm.a
See also
intro(3M)
FORTRAN 77 Reference Manual
Numerical Computation Guide