LAPACK  3.10.0
LAPACK: Linear Algebra PACKage

◆ dlabad()

subroutine dlabad ( double precision  SMALL,
double precision  LARGE 
)

DLABAD

Download DLABAD + dependencies [TGZ] [ZIP] [TXT]

Purpose:
 DLABAD takes as input the values computed by DLAMCH for underflow and
 overflow, and returns the square root of each of these values if the
 log of LARGE is sufficiently large.  This subroutine is intended to
 identify machines with a large exponent range, such as the Crays, and
 redefine the underflow and overflow limits to be the square roots of
 the values computed by DLAMCH.  This subroutine is needed because
 DLAMCH does not compensate for poor arithmetic in the upper half of
 the exponent range, as is found on a Cray.
Parameters
[in,out]SMALL
          SMALL is DOUBLE PRECISION
          On entry, the underflow threshold as computed by DLAMCH.
          On exit, if LOG10(LARGE) is sufficiently large, the square
          root of SMALL, otherwise unchanged.
[in,out]LARGE
          LARGE is DOUBLE PRECISION
          On entry, the overflow threshold as computed by DLAMCH.
          On exit, if LOG10(LARGE) is sufficiently large, the square
          root of LARGE, otherwise unchanged.
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.

Definition at line 73 of file dlabad.f.

74 *
75 * -- LAPACK auxiliary routine --
76 * -- LAPACK is a software package provided by Univ. of Tennessee, --
77 * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
78 *
79 * .. Scalar Arguments ..
80  DOUBLE PRECISION LARGE, SMALL
81 * ..
82 *
83 * =====================================================================
84 *
85 * .. Intrinsic Functions ..
86  INTRINSIC log10, sqrt
87 * ..
88 * .. Executable Statements ..
89 *
90 * If it looks like we're on a Cray, take the square root of
91 * SMALL and LARGE to avoid overflow and underflow problems.
92 *
93  IF( log10( large ).GT.2000.d0 ) THEN
94  small = sqrt( small )
95  large = sqrt( large )
96  END IF
97 *
98  RETURN
99 *
100 * End of DLABAD
101 *