'\" t .\" @(#)libm_double.3f 1.4 88/03/19 SMI; .\" .\" For screen: tbl libm_double.3f | nroff -man | more .\" For paper: tbl libm_double.3f | nroff -man | lp .\" .TH LIBM_DOUBLE 3F "07 July 1995" .SH NAME libm_double \- FORTRAN access to double precision libm functions and subroutines .SH SYNOPSIS Example for non-intrinsics: .sp .2 .nf .na .ft 3 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 ) .ft 1 .fi .ad .PP Put any function used into a .B DOUBLE PRECISION statement. .\" .SH DESCRIPTION .\" These subprograms provide access to double precision .B libm functions and subroutines. .BR asind(x) , .BR sind(x) , and so on involve .IR degrees , rather than .IR radians . .\" .SH INTRINSICS .\" .PP 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. .PP The variables .B x and .B y are of type double precision. .TS tab(;) ; lfL lfL lfL . 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) .TE .PP * = nonstandard: it is an extension that this is intrinsic .\" .bp .\" .SH "NON-INTRINSIC FUNCTIONS AND SUBROUTINES" .\" In general, these functions do .I not correspond to standard FORTRAN generic intrinsic functions, so their data types are determined by the usual FORTRAN data typing rules. .PP .IR Caveat : If you use one of these .B "DOUBLE PRECISION" functions, put it into a .B "DOUBLE PRECISION" statement, or type it by some .B IMPLICIT statement). .PP For meanings of routines and arguments, do a .B man command on the routine name without the .BR d_ ; the output is a C man page, but the meanings are the same. .PP The variables .BR c , .BR l , .BR p , .BR s , .BR u , .BR x , and .B y are double precision. .PP .\" .TS tab(;) ; lfLB lfL lfR . 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; .TE .PP If you need to use any other double precision .B libm function, you can call a C function that calls the .B libm function. .\" .SH FILES .\" .B libm.a .\" .SH "SEE ALSO" .\" .BR intro (3M) .br .I "FORTRAN 77 Reference Manual" .br .I "Numerical Computation Guide"