LAPACK  3.6.1
LAPACK: Linear Algebra PACKage
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.
Date
November 2011

Definition at line 76 of file slabad.f.

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