Developer Reference for Intel® oneAPI Math Kernel Library for C

ID 766684
Date 11/07/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

?lamch

Determines machine parameters for floating-point arithmetic.

Syntax

float LAPACKE_slamch (char cmach );

double LAPACKE_dlamch (char cmach );

Include Files

  • mkl.h

Description

The function ?lamch determines single precision and double precision machine parameters.

Input Parameters

cmach

Specifies the value to be returned by ?lamch:

= 'E' or 'e', val = eps

= 'S' or 's', val = sfmin

= 'B' or 'b', val = base

= 'P' or 'p', val = eps*base

= 'n' or 'n', val = t

= 'R' or 'r', val = rnd

= 'M' or 'm', val = emin

= 'U' or 'u', val = rmin

= 'L' or 'l', val = emax

= 'O' or 'o', val = rmax

where

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 - (base**emax)*(1-eps).

NOTE:

You can use a character string for cmach instead of a single character in order to make your code more readable. The first character of the string determines the value to be returned. For example, 'Precision' is interpreted as 'p'.

Output Parameters

val

Value returned by the function.