HPL_pdlamch(3)
π HPL_pdlamch π
okay bestie, so this is a page from the HPL Library Functions manual β like, HPL_pdlamch(3) β and honestly? it's giving machine whisperer energy. it's the girl who asks your computer what numbers it can actually handle. no cap. β¨
πΈ NAME πΈ
HPL_pdlamch β determines machine-specific arithmetic constants. she's the vibe check for your floating point, fr fr π
π SYNOPSIS π
#include "hpl.h"
double HPL_pdlamch( MPI_Comm COMM, const HPL_T_MACH CMACH );
π¦ DESCRIPTION π¦
HPL_pdlamch determines machine-specific arithmetic constants. basically she goes up to your hardware and is like "so what's tea, what are your limits" and your hardware spills everything. ππ
here's the whole roster of constants she can hand you:
- the relative machine precision (
eps) - the safe minimum (
sfmin) β the way it's defined is that1/sfmindoes not overflow π - the base of the machine (
base) - the precision (
prec) - the number of (base) digits in the mantissa (
t) - whether rounding occurs in addition (
rnd=1.0and0.0otherwise) - the minimum exponent before (gradual) underflow (
emin) - the underflow threshold (
rmin) β that'sbase**(emin-1) - the largest exponent before overflow (
emax) - the overflow threshold (
rmax) β that's(base**emax)*(1-eps)
like, she's the main character of "what is this machine even capable of". iconic behavior. π₯
β¨ ARGUMENTS β¨
COMM(global/local input)MPI_Commβ the MPI communicator identifying the process collection. yes bestie, this is the group chat. the process collection is literally a group chat. π«ΆCMACH(global input)const HPL_T_MACHβ specifies the value to be returned byHPL_pdlamch. pick your fighter:
= HPL_MACH_EPS, HPL_pdlamch := eps (default)
= HPL_MACH_SFMIN, HPL_pdlamch := sfmin
= HPL_MACH_BASE, HPL_pdlamch := base
= HPL_MACH_PREC, HPL_pdlamch := eps*base
= HPL_MACH_MLEN, HPL_pdlamch := t
= HPL_MACH_RND, HPL_pdlamch := rnd
= HPL_MACH_EMIN, HPL_pdlamch := emin
= HPL_MACH_RMIN, HPL_pdlamch := rmin
= HPL_MACH_EMAX, HPL_pdlamch := emax
= HPL_MACH_RMAX, HPL_pdlamch := rmax
where π
eps = relative machine precision,
sfmin = safe minimum,
base = base of the machine,
prec = eps*base,
t = number of digits in the mantissa,
rnd = 1.0 if rounding occurs in addition,
emin = minimum exponent before underflow,
rmin = underflow threshold,
emax = largest exponent before overflow,
rmax = overflow threshold.
π‘ and yeah,HPL_MACH_EPSis the default β if you don't say anything, she just gives youeps. lowkey the most popular order at the drive-thru. π
π sign-off π
and that's the whole page bestie!! this one's from HPL 2.2, dated February 24, 2016 β so it's vintage vintage, but she ate and left no crumbs. go ask your machine what it's made of. mwah πβ¨π§
π¦ where this page comes from
- fedora 43: hpl-doc 2.2-22.fc43 Β· LicenseRef-Callaway-BSD-with-advertising
- fedora 44: hpl-doc 2.2-23.fc44 Β· LicenseRef-Callaway-BSD-with-advertising
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms