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>