DLAMC3(3)

πŸ“¦ version 3.12.0, in opensuse-leap 16.0

πŸŽ€ DLAMC3(3) β€” Library Functions Manual πŸŽ€

okay so bestie, this is the DLAMC3(3) page from the Library Functions Manual β€” LAPACK dlamch.f energy, no cap. It's lowkey a tiny page but it's got layers. Let's go. πŸ’–

🌸 NAME 🌸

/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/INSTALL/dlamch.f

that's the path, literally. 🫢

✨ SYNOPSIS ✨

πŸ¦‹ Functions/Subroutines πŸ¦‹

  • double precision function DLAMCH (cmach) β€” the DLAMCH one
  • double precision function DLAMC3 (a, b) β€” the DLAMC3 one

both double precision functions, both listed here in this exact order. 🌈

πŸ’– Function/Subroutine Documentation πŸ’–

🌟 double precision function DLAMC3 (double precision a, double precision b) 🌟

πŸ’« DLAMC3 Purpose: πŸ’«

the source says, literally:

!> DLAMC3  is intended to force  A  and  B  to be stored prior to doing
!> the addition of  A  and  B ,  for use in situations where optimizers
!> might hold one of these in a register.
!>

translation: it forces A and B to be stored before it does A + B, so optimizers can't stash one of them in a register. iconic behavior. πŸ’…

πŸ‘‘ Author πŸ‘‘

LAPACK is a software package provided by Univ. of Tennessee, Univ.
of California Berkeley, Univ. of Colorado Denver and NAG Ltd..

πŸŽ€ Parameters πŸŽ€

A:

!>          A is a DOUBLE PRECISION
!>

B:

!>          B is a DOUBLE PRECISION
!>          The values A and B.
!>

πŸ’« Purpose: πŸ’«

yes, the source repeats the purpose block, so here it is again, exact:

!> DLAMC3  is intended to force  A  and  B  to be stored prior to doing
!> the addition of  A  and  B ,  for use in situations where optimizers
!> might hold one of these in a register.
!>

πŸŽ€ Parameters πŸŽ€

  • A
  • B
!>          The values A and B.
!>

Definition at line 171 of file dlamch.f.

🌟 double precision function DLAMCH (character cmach) 🌟

DLAMCH DLAMCHF77 deprecated
🚨 deprecated alert, bestie: the source literally labels this one DLAMCH DLAMCHF77 deprecated. not a drill.

πŸ’« Purpose: πŸ’«

!>
!> DLAMCH determines double precision machine parameters.
!>

πŸŽ€ Parameters πŸŽ€

CMACH:

!>          CMACH is CHARACTER*1
!>          Specifies the value to be returned by DLAMCH:
!>          = 'E' or 'e',   DLAMCH := eps
!>          = 'S' or 's ,   DLAMCH := sfmin
!>          = 'B' or 'b',   DLAMCH := base
!>          = 'P' or 'p',   DLAMCH := eps*base
!>          = 'N' or 'n',   DLAMCH := t
!>          = 'R' or 'r',   DLAMCH := rnd
!>          = 'M' or 'm',   DLAMCH := emin
!>          = 'U' or 'u',   DLAMCH := rmin
!>          = 'L' or 'l',   DLAMCH := emax
!>          = 'O' or 'o',   DLAMCH := rmax
!>          where
!>          eps   = relative machine precision
!>          sfmin = safe minimum, such that 1/sfmin does not overflow
!>          base  = base of the machine
!>          prec  = eps*base
!>          t     = number of (base) digits in the mantissa
!>          rnd   = 1.0 when rounding occurs in addition, 0.0 otherwise
!>          emin  = minimum exponent before (gradual) underflow
!>          rmin  = underflow threshold - base**(emin-1)
!>          emax  = largest exponent before overflow
!>          rmax  = overflow threshold  - (base**emax)*(1-eps)
!>

πŸ‘‘ Author πŸ‘‘

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

πŸ’« Purpose: πŸ’«

again, exact:

!>
!> DLAMCHF77 determines double precision machine parameters.
!>

πŸŽ€ Parameters πŸŽ€

CMACH:

!>          CMACH is CHARACTER*1
!>          Specifies the value to be returned by DLAMCH:
!>          = 'E' or 'e',   DLAMCH := eps
!>          = 'S' or 's ,   DLAMCH := sfmin
!>          = 'B' or 'b',   DLAMCH := base
!>          = 'P' or 'p',   DLAMCH := eps*base
!>          = 'N' or 'n',   DLAMCH := t
!>          = 'R' or 'r',   DLAMCH := rnd
!>          = 'M' or 'm',   DLAMCH := emin
!>          = 'U' or 'u',   DLAMCH := rmin
!>          = 'L' or 'l',   DLAMCH := emax
!>          = 'O' or 'o',   DLAMCH := rmax
!>          where
!>          eps   = relative machine precision
!>          sfmin = safe minimum, such that 1/sfmin does not overflow
!>          base  = base of the machine
!>          prec  = eps*base
!>          t     = number of (base) digits in the mantissa
!>          rnd   = 1.0 when rounding occurs in addition, 0.0 otherwise
!>          emin  = minimum exponent before (gradual) underflow
!>          rmin  = underflow threshold - base**(emin-1)
!>          emax  = largest exponent before overflow
!>          rmax  = overflow threshold  - (base**emax)*(1-eps)
!>

πŸ‘‘ Author πŸ‘‘

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

Definition at line 68 of file dlamch.f.

✨ Author ✨

Generated automatically by Doxygen for LAPACK from the source code.


πŸ’– cute sign-off: this page is from LAPACK Version 3.12.0, source path /home/abui...LL/dlamch.f(3). no date in the footer, so I'm not inventing one β€” periodt. 🫢

πŸ“¦ where this page comes from