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
    !>

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.

Author

Generated automatically by Doxygen for LAPACK from the source code.