Annotation of rpl/lapack/lapack/dlabad.f, revision 1.1
1.1 ! bertrand 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>