---
name: "slamch"
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/slamch.f"
---

# slamch(3)

Part of [slamch.f(3)](/slamch.f/3.md).

## NAME

INSTALL/slamch.f

## SYNOPSIS

### Functions/Subroutines

real function **slamch** (cmach)\
 **SLAMCH**  real function **slamc3** (a, b)\
 **SLAMC3**

## Function/Subroutine Documentation

### real function slamc3 (real a, real b)

**SLAMC3** **Purpose:**

```
!> SLAMC3  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*

```
!>
```

*B*

```
!>          The values A and B.
!>
```

Definition at line **170** of file **slamch.f**.

### real function slamch (character cmach)

**SLAMCH**

**Purpose:**

```
!>
!> SLAMCH determines single precision machine parameters.
!>
```

**Parameters**

*CMACH*

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

## Author

Generated automatically by Doxygen for LAPACK from the source code.
