'\" t .\" @(#)libm_quadruple.3f .\" .\" For screen: tbl libm_quadruple.3f | nroff -man | more .\" For paper: tbl libm_quadruple.3f | nroff -man | lp .\" .TH LIBM_QUADRUPLE 3F "07 July 1995" .SH NAME libm_quadruple - FORTRAN access to quadruple-precision functions (SPARC only) .SH SYNOPSIS .sp Example for non-intrinsics: .sp .nf .na .ft 3 REAL*16 c, q_acosh, q_hypot, q_infinity, s, x, y, z z = q_acosh( x ) i = iq_finite( x ) z = q_hypot( x, y ) z = q_infinity() CALL q_sincos( x, s, c ) .ft 1 .fi .ad .sp Quad functions used are in a .B REAL*16 statement. .\" .SH DESCRIPTION .\" These functions provide access to quadruple-precision .I libm functions. .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 quadruple precision values if their arguments are quadruple 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 .BR c , .BR l , .BR p , .BR s , .BR u , .BR x , and .B y are .BR REAL*16 . .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 .sp * = nonstandard: it is an extension that this is intrinsic .bp .\" .SH "NON-INTRINSIC FUNCTIONS" .\" 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 If you use one of these quad functions, put it into a .B "REAL*16" statement, or type it with .BR IMPLICIT . .sp For meanings of routines and arguments, do a .B man command on the routine name without the .BR q_ ; the output is a C man page for the double precision function, but the meanings are the same. .PP Variables .BR c , .BR l , .BR p , .BR s , .BR u , .BR x , and .B y are .BR REAL*16 . .\" .TS tab(;) ; lfLB lfL lfR . q_copysign( x, y ); real*16; function; q_fabs( x ); real*16; function; q_fmod( x ); real*16; function; q_infinity( ); real*16; function; iq_finite( x ); integer; function; iq_fp_class( x ); integer; function; iq_ilogb( x ) ; integer; function; iq_isinf( x ) ; integer; function; iq_isnan( x ) ; integer; function; iq_isnormal( x ) ; integer; function; iq_issubnormal( x ) ; integer; function; iq_iszero( x ); integer; function; iq_signbit( x ) ; integer; function; q_max_normal() ; real*16; function; q_max_subnormal() ; real*16; function; q_min_normal() ; real*16; function; q_min_subnormal() ; real*16; function; q_nextafter( x, y ) ; real*16; function; q_quiet_nan( n ) ; real*16; function; q_remainder( x, y ) ; real*16; function; q_scalbn( x, n ) ; real*16; function; q_signaling_nan( n ) ; real*16; function; .TE .PP If you need to use any other quadruple-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 "Numerical Computation Guide" .br .I "FORTRAN 77 Reference Manual"