Determines machine parameters for floating-point arithmetic.


float pslamch (MKL_INT *ictxt , char *cmach );

double pdlamch (MKL_INT *ictxt , char *cmach );

Include Files

  • mkl_scalapack.h


The p?lamchfunction determines single precision machine parameters.

Input Parameters


(global). The BLACS context handle in which the computation takes place.



Specifies the value to be returned by p?lamch:

= 'E' or 'e', p?lamch := eps

= 'S' or 's' , p?lamch := sfmin

= 'B' or 'b', p?lamch := base

= 'P' or 'p', p?lamch := eps*base

= 'N' or 'n', p?lamch := t

= 'R' or 'r', p?lamch := rnd

= 'M' or 'm', p?lamch := emin

= 'U' or 'u', p?lamch := rmin

= 'L' or 'l', p?lamch := emax

= 'O' or 'o', p?lamch := rmax,


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 - (baseemax)*(1-eps)

Output Parameters


Value returned by the function.

See Also

For more complete information about compiler optimizations, see our Optimization Notice.
Select sticky button color: 
Orange (only for download buttons)