SROUNDUP_LWORK.F(3)

πŸ“¦
version 3.12.1 Β· 3 versions
, in arch rolling

Okay bestie, welcome to INSTALL/sroundup_lwork.f from the Library Functions Manual β€” this is the tiny-but-iconic routine that deals with a subtle bug when you return LWORK as a Float, and it is serving main-character energy. πŸ’…βœ¨

🌸 NAME 🌸

INSTALL/sroundup_lwork.f β€” that's the name, no cap. 🫢

✨ SYNOPSIS ✨

🧚 Functions/Subroutines 🧚

  • real function sroundup_lwork (lwork) β€” SROUNDUP_LWORK. That's the whole synopsis vibe. πŸŽ€

πŸŽ€ FUNCTION/SUBROUTINE DOCUMENTATION πŸŽ€

real function sroundup_lwork (integer lwork)

SROUNDUP_LWORK β€” say it with me, bestie. πŸ‘‘

πŸ’– 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

Then the docs hand us the literal return/verbatim bits:

!> \return SROUNDUP_LWORK
!> \verbatim
!>         SROUNDUP_LWORK >= LWORK.
!>         SROUNDUP_LWORK is guaranteed to have zero decimal part.
!>

πŸ’… Parameters πŸ’…

  • LWORK β€” workspace size. That's it, that's the argument. πŸ“

🌈 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. πŸ€–πŸ’–

Okay that's the whole page, bestie! Mwah πŸ’‹ β€” from LAPACK Version 3.12.0, page INSTALL/sroundup_lwork.f(3), and there's no date line in the footer to report, so I'm not inventing one. πŸ¦‹πŸŒΈ

πŸ“¦ where this page comes from