These subprograms are quadruple-precision (REAL*16) libm functions and subroutines (SPARC only).
In general, these do not correspond to standard generic intrinsic functions; data types are determined by the usual data typing rules.
Samples: Quadruple precision functions:
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 )
The quadruple precision functions must appear in a REAL*16 statement
Table 1-6 Quadruple-Precision libm Functions
q_copysign( x, y ) q_fabs( x ) q_fmod( x ) q_infinity( ) |
REAL*16 REAL*16 REAL*16 REAL*16 |
Function Function Function Function |
iq_finite( x ) iq_fp_class( x ) iq_ilogb( x ) iq_isinf( x ) iq_isnan( x ) iq_isnormal( x ) iq_issubnormal( x ) iq_iszero( x ) iq_signbit( x ) |
INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER |
Function Function Function Function Function Function Function Function Function |
q_max_normal() q_max_subnormal() q_min_normal() q_min_subnormal() q_nextafter( x, y ) q_quiet_nan( n ) q_remainder( x, y ) q_scalbn( x, n ) q_signaling_nan( n ) |
REAL*16 REAL*16 REAL*16 REAL*16 REAL*16 REAL*16 REAL*16 REAL*16 REAL*16 |
Function Function Function Function Function Function Function Function Function |
The variables c, l, p, s, u, x, and y are of type quadruple precision.
Explicitly type these functions with a REAL*16 statement or with an appropriate IMPLICIT statement.
sind(x), asind(x), ... take degrees rather than radians.
If you need to use any other quadruple-precision libm function, you can call it using $PRAGMA C(fcn) before the call. For details, see the chapter on the C-FORTRAN interface in the Fortran Programming Guide.