KTH framework for Nek5000 toolboxes; testing version  0.0.1
dlabad.f
Go to the documentation of this file.
1  SUBROUTINE dlabad( SMALL, LARGE )
2 *
3 * -- LAPACK auxiliary routine (version 3.0) --
4 * Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd.,
5 * Courant Institute, Argonne National Lab, and Rice University
6 * October 31, 1992
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
subroutine dlabad(SMALL, LARGE)
Definition: dlabad.f:2