LAPACK 3.12.0
LAPACK: Linear Algebra PACKage
|
double precision function droundup_lwork | ( | integer | lwork | ) |
DROUNDUP_LWORK
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.
[in] | LWORK | Workspace size. |
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.