LABAD - 5.2 English - 68552

AOCL API Guide (68552)

Document ID
68552
Release Date
2025-12-29
Version
5.2 English
template<typename T>
void labad(T *small_val, T *large)#

LABAD takes as input the values computed by LAMCH for underflow and

overflow, and returns the square root of each of these values.

Purpose:

 LABAD takes as input the values computed by SLAMCH for underflow and
 overflow, and   returns the square root of each of these values if the
 log of LARGE is sufficiently large.  This subroutine is intended to
 identify machines with a large exponent range, such as the Crays, and
 redefine the underflow and overflow limits to be the square roots of
 the values computed by SLAMCH.  This subroutine is needed because
 SLAMCH does not compensate for poor arithmetic in the upper half of
 the exponent range, as is found on a Cray.
Parameters:
  • SMALL_VAL[inout]

    SMALL_VAL is REAL

    On entry, the underflow threshold as computed by SLAMCH. On exit, if LOG10(LARGE) is sufficiently large, the square root of SMALL, otherwise unchanged.

  • LARGE[inout]

    LARGE is REAL

    On entry, the overflow threshold as computed by SLAMCH. On exit, if LOG10(LARGE) is sufficiently large, the square root of LARGE, otherwise unchanged.