LAPACK  3.10.0
LAPACK: Linear Algebra PACKage

◆ slabad()

subroutine slabad ( real  SMALL,
real  LARGE 
)

SLABAD

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

Purpose:
 SLABAD takes as input the values computed by SLAMCH 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 SLAMCH.  This subroutine is needed because
 SLAMCH 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 REAL
          On entry, the underflow threshold as computed by SLAMCH.
          On exit, if LOG10(LARGE) is sufficiently large, the square
          root of SMALL, otherwise unchanged.
[in,out]LARGE
          LARGE is REAL
          On entry, the overflow threshold as computed by SLAMCH.
          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 slabad.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  REAL 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. ) THEN
94  small = sqrt( small )
95  large = sqrt( large )
96  END IF
97 *
98  RETURN
99 *
100 * End of SLABAD
101 *