1HPL_pdlamch(3) HPL Library Functions HPL_pdlamch(3)
2
3
4
6 HPL_pdlamch - determines machine-specific arithmetic constants.
7
9 #include "hpl.h"
10
11 double HPL_pdlamch( MPI_Comm COMM, const HPL_T_MACH CMACH );
12
14 HPL_pdlamch determines machine-specific arithmetic constants such
15 as the relative machine precision (eps), the safe minimum(sfmin) such
16 that 1/sfmin does not overflow, the base of the machine (base), the
17 precision (prec), the number of (base) digits in the mantissa
18 (t), whether rounding occurs in addition (rnd = 1.0 and 0.0 other‐
19 wise), the minimum exponent before (gradual) underflow (emin), the
20 underflow threshold (rmin)- base**(emin-1), the largest exponent
21 before overflow (emax), the overflow threshold (rmax) -
22 (base**emax)*(1-eps).
23
25 COMM (global/local input) MPI_Comm
26 The MPI communicator identifying the process collection.
27
28 CMACH (global input) const HPL_T_MACH
29 Specifies the value to be returned by HPL_pdlamch
30 = HPL_MACH_EPS, HPL_pdlamch := eps (default)
31 = HPL_MACH_SFMIN, HPL_pdlamch := sfmin
32 = HPL_MACH_BASE, HPL_pdlamch := base
33 = HPL_MACH_PREC, HPL_pdlamch := eps*base
34 = HPL_MACH_MLEN, HPL_pdlamch := t
35 = HPL_MACH_RND, HPL_pdlamch := rnd
36 = HPL_MACH_EMIN, HPL_pdlamch := emin
37 = HPL_MACH_RMIN, HPL_pdlamch := rmin
38 = HPL_MACH_EMAX, HPL_pdlamch := emax
39 = HPL_MACH_RMAX, HPL_pdlamch := rmax
40
41 where
42
43 eps = relative machine precision,
44 sfmin = safe minimum,
45 base = base of the machine,
46 prec = eps*base,
47 t = number of digits in the mantissa,
48 rnd = 1.0 if rounding occurs in addition,
49 emin = minimum exponent before underflow,
50 rmin = underflow threshold,
51 emax = largest exponent before overflow,
52 rmax = overflow threshold.
53
54
55
56HPL 2.1 October 26, 2012 HPL_pdlamch(3)