Developer Reference for Intel® oneAPI Math Kernel Library for Fortran

ID 766686
Date 3/31/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

val = slamch( cmach )

val = dlamch( cmach )

Include Files
  • mkl.fi
Description

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

Input Parameters
cmach

CHARACTER*1. 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

REAL for slamch

DOUBLE PRECISION for dlamch

Value returned by the function.