roundup_lwork3
Roundup_lwork: fix rounding integer to float
Usage
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 !>
Definition at line 58 of file droundup_lwork.f.
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 !>
Definition at line 58 of file sroundup_lwork.f.
History
- Arch Linux 2026-11-01: the text shown here
- Debian 13 (Trixie)