LAPACK 3.12.0
LAPACK: Linear Algebra PACKage

◆ sroundup_lwork()

real function sroundup_lwork ( integer  LWORK)

SROUNDUP_LWORK

Purpose:
 SROUNDUP_LWORK deals with a subtle bug with returning LWORK as a Float.
 This routine guarantees it is rounded up instead of down by
 multiplying LWORK by 1+eps when it is necessary, where eps is the relative machine precision.
 E.g.,

        float( 16777217            ) == 16777216
        float( 16777217 ) * (1.+eps) == 16777218

 \return SROUNDUP_LWORK
 \verbatim
         SROUNDUP_LWORK >= LWORK.
         SROUNDUP_LWORK is guaranteed to have zero decimal part.
Parameters
[in]LWORKWorkspace size.
Author
Weslley Pereira, University of Colorado Denver, USA
Further Details:
  This routine was inspired in the method `magma_zmake_lwork` from MAGMA.
  \see https://bitbucket.org/icl/magma/src/master/control/magma_zauxiliary.cpp