![]() |
LAPACK
3.10.1
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.