LAPACK 3.11.0 LAPACK: Linear Algebra PACKage
Searching...
No Matches

 subroutine slabad ( real SMALL, real LARGE )

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.```

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*