Go to main content
Oracle Developer Studio 12.6 Man Pages

Exit Print View

Updated: June 2017
 
 

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