---
name: "dlamch.f"
section: "3"
platform: "linux"
package: "lapack-doc"
version: "3.12.1-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/dlamch.f"
---

# dlamch.f(3)

## NAME

INSTALL/dlamch.f

## SYNOPSIS

### Functions/Subroutines

double precision function **dlamch** (cmach)\
 **DLAMCH**  double precision function **dlamc3** (a, b)\
 **DLAMC3**

## Function/Subroutine Documentation

### double precision function dlamc3 (double precision a, double precision b)

**DLAMC3** **Purpose:**

```
!> DLAMC3  is intended to force  A  and  B  to be stored prior to doing
!> the addition of  A  and  B ,  for use in situations where optimizers
!> might hold one of these in a register.
!>
```

**Author**

LAPACK is a software package provided by Univ. of Tennessee, Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..

**Parameters**

*A*

```
!>          A is a DOUBLE PRECISION
!>
```

*B*

```
!>          B is a DOUBLE PRECISION
!>          The values A and B.
!>
```

Definition at line **171** of file **dlamch.f**.

### double precision function dlamch (character cmach)

**DLAMCH**

**Purpose:**

```
!>
!> DLAMCH determines double precision machine parameters.
!>
```

**Parameters**

*CMACH*

```
!>          CMACH is CHARACTER*1
!>          Specifies the value to be returned by DLAMCH:
!>          = 'E' or 'e',   DLAMCH := eps
!>          = 'S' or 's ,   DLAMCH := sfmin
!>          = 'B' or 'b',   DLAMCH := base
!>          = 'P' or 'p',   DLAMCH := eps*base
!>          = 'N' or 'n',   DLAMCH := t
!>          = 'R' or 'r',   DLAMCH := rnd
!>          = 'M' or 'm',   DLAMCH := emin
!>          = 'U' or 'u',   DLAMCH := rmin
!>          = 'L' or 'l',   DLAMCH := emax
!>          = 'O' or 'o',   DLAMCH := 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)
!>
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **68** of file **dlamch.f**.

## Author

Generated automatically by Doxygen for LAPACK from the source code.
