table of contents
roundup_lwork(3) | LAPACK | roundup_lwork(3) |
NAME¶
roundup_lwork - roundup_lwork: fix rounding integer to float
SYNOPSIS¶
Functions¶
double precision function droundup_lwork (lwork)
DROUNDUP_LWORK real function sroundup_lwork (lwork)
SROUNDUP_LWORK
Detailed Description¶
Function Documentation¶
double precision function droundup_lwork (integer 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
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
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
Author¶
Generated automatically by Doxygen for LAPACK from the source code.
Wed Feb 7 2024 11:30:40 | Version 3.12.0 |