LAPACK
3.4.2
LAPACK: Linear Algebra PACKage
Main Page
Modules
Files
File List
File Members
All
Files
Functions
Groups
slabad.f
Go to the documentation of this file.
1
*> \brief \b SLABAD
2
*
3
* =========== DOCUMENTATION ===========
4
*
5
* Online html documentation available at
6
* http://www.netlib.org/lapack/explore-html/
7
*
8
*> \htmlonly
9
*> Download SLABAD + dependencies
10
*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.tgz?format=tgz&filename=/lapack/lapack_routine/slabad.f">
11
*> [TGZ]</a>
12
*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.zip?format=zip&filename=/lapack/lapack_routine/slabad.f">
13
*> [ZIP]</a>
14
*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/slabad.f">
15
*> [TXT]</a>
16
*> \endhtmlonly
17
*
18
* Definition:
19
* ===========
20
*
21
* SUBROUTINE SLABAD( SMALL, LARGE )
22
*
23
* .. Scalar Arguments ..
24
* REAL LARGE, SMALL
25
* ..
26
*
27
*
28
*> \par Purpose:
29
* =============
30
*>
31
*> \verbatim
32
*>
33
*> SLABAD takes as input the values computed by SLAMCH for underflow and
34
*> overflow, and returns the square root of each of these values if the
35
*> log of LARGE is sufficiently large. This subroutine is intended to
36
*> identify machines with a large exponent range, such as the Crays, and
37
*> redefine the underflow and overflow limits to be the square roots of
38
*> the values computed by SLAMCH. This subroutine is needed because
39
*> SLAMCH does not compensate for poor arithmetic in the upper half of
40
*> the exponent range, as is found on a Cray.
41
*> \endverbatim
42
*
43
* Arguments:
44
* ==========
45
*
46
*> \param[in,out] SMALL
47
*> \verbatim
48
*> SMALL is REAL
49
*> On entry, the underflow threshold as computed by SLAMCH.
50
*> On exit, if LOG10(LARGE) is sufficiently large, the square
51
*> root of SMALL, otherwise unchanged.
52
*> \endverbatim
53
*>
54
*> \param[in,out] LARGE
55
*> \verbatim
56
*> LARGE is REAL
57
*> On entry, the overflow threshold as computed by SLAMCH.
58
*> On exit, if LOG10(LARGE) is sufficiently large, the square
59
*> root of LARGE, otherwise unchanged.
60
*> \endverbatim
61
*
62
* Authors:
63
* ========
64
*
65
*> \author Univ. of Tennessee
66
*> \author Univ. of California Berkeley
67
*> \author Univ. of Colorado Denver
68
*> \author NAG Ltd.
69
*
70
*> \date November 2011
71
*
72
*> \ingroup auxOTHERauxiliary
73
*
74
* =====================================================================
75
SUBROUTINE
slabad
( SMALL, LARGE )
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
*
105
END
SRC
slabad.f
Generated on Tue Sep 25 2012 16:27:55 for LAPACK by
1.8.1.1