INSTALL/droundup_lwork.f(3) Library Functions Manual INSTALL/droundup_lwork.f(3)

INSTALL/droundup_lwork.f


double precision function droundup_lwork (lwork)
DROUNDUP_LWORK

DROUNDUP_LWORK

Purpose:

 DROUNDUP_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( 9007199254740993            ) == 9007199254740992
        float( 9007199254740993 ) * (1.+eps) == 9007199254740994
 \return DROUNDUP_LWORK
 \verbatim
         DROUNDUP_LWORK >= LWORK.
         DROUNDUP_LWORK is guaranteed to have zero decimal part.

Parameters

LWORK Workspace 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

Definition at line 58 of file droundup_lwork.f.

Generated automatically by Doxygen for LAPACK from the source code.

Version 3.12.0 LAPACK