HPL_pdlamch(3)

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