# HPL_pdlamch man page

HPL_pdlamch — determines machine-specific arithmetic constants.

## Synopsis

**#include "hpl.h"****double HPL_pdlamch( MPI_Comm** *COMM*, **const HPL_T_MACH** *CMACH* **);**

## Description

**HPL_pdlamch** determines machine-specific arithmetic constants such as the relative machine precision (eps), the safe minimum(sfmin) such that 1/sfmin does 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.0 and 0.0 otherwise), the minimum exponent before (gradual) underflow (emin), the underflow threshold (rmin)- base**(emin-1), the largest exponent before overflow (emax), the overflow threshold (rmax) - (base**emax)*(1-eps).

## Arguments

- COMM (global/local input) MPI_Comm
- The MPI communicator identifying the process collection.
- CMACH (global input) const HPL_T_MACH
- Specifies the value to be returned by HPL_pdlamch

= 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.

## Info

October 26, 2012 HPL 2.1 HPL Library Functions