File:
[local] /
rpl /
lapack /
lapack /
dlabad.f
Revision
1.7:
download - view:
text,
annotated -
select for diffs -
revision graph
Tue Dec 21 13:53:28 2010 UTC (13 years, 6 months ago) by
bertrand
Branches:
MAIN
CVS tags:
rpl-4_1_3,
rpl-4_1_2,
rpl-4_1_1,
rpl-4_1_0,
rpl-4_0_24,
rpl-4_0_22,
rpl-4_0_21,
rpl-4_0_20,
rpl-4_0,
HEAD
Mise à jour de lapack vers la version 3.3.0.
1: SUBROUTINE DLABAD( SMALL, LARGE )
2: *
3: * -- LAPACK auxiliary routine (version 3.2) --
4: * -- LAPACK is a software package provided by Univ. of Tennessee, --
5: * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
6: * November 2006
7: *
8: * .. Scalar Arguments ..
9: DOUBLE PRECISION LARGE, SMALL
10: * ..
11: *
12: * Purpose
13: * =======
14: *
15: * DLABAD takes as input the values computed by DLAMCH for underflow and
16: * overflow, and returns the square root of each of these values if the
17: * log of LARGE is sufficiently large. This subroutine is intended to
18: * identify machines with a large exponent range, such as the Crays, and
19: * redefine the underflow and overflow limits to be the square roots of
20: * the values computed by DLAMCH. This subroutine is needed because
21: * DLAMCH does not compensate for poor arithmetic in the upper half of
22: * the exponent range, as is found on a Cray.
23: *
24: * Arguments
25: * =========
26: *
27: * SMALL (input/output) DOUBLE PRECISION
28: * On entry, the underflow threshold as computed by DLAMCH.
29: * On exit, if LOG10(LARGE) is sufficiently large, the square
30: * root of SMALL, otherwise unchanged.
31: *
32: * LARGE (input/output) DOUBLE PRECISION
33: * On entry, the overflow threshold as computed by DLAMCH.
34: * On exit, if LOG10(LARGE) is sufficiently large, the square
35: * root of LARGE, otherwise unchanged.
36: *
37: * =====================================================================
38: *
39: * .. Intrinsic Functions ..
40: INTRINSIC LOG10, SQRT
41: * ..
42: * .. Executable Statements ..
43: *
44: * If it looks like we're on a Cray, take the square root of
45: * SMALL and LARGE to avoid overflow and underflow problems.
46: *
47: IF( LOG10( LARGE ).GT.2000.D0 ) THEN
48: SMALL = SQRT( SMALL )
49: LARGE = SQRT( LARGE )
50: END IF
51: *
52: RETURN
53: *
54: * End of DLABAD
55: *
56: END
CVSweb interface <joel.bertrand@systella.fr>