---
name: "zone"
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/la_constants"
---

# zone(3)

LA\_CONSTANTS is a module for the scaling constants for the compiled Fortran single and double precisions

Part of [la\_constants(3)](/la_constants/3.md).

## NAME

la\_constants - **LA\_CONSTANTS** is a module for the scaling constants for the compiled Fortran single and double precisions

## SYNOPSIS

### Variables

integer, parameter **sp** = kind(1.e0)\
 real(**sp**), parameter **szero** = 0.0\_sp\
 real(**sp**), parameter **shalf** = 0.5\_sp\
 real(**sp**), parameter **sone** = 1.0\_sp\
 real(**sp**), parameter **stwo** = 2.0\_sp\
 real(**sp**), parameter **sthree** = 3.0\_sp\
 real(**sp**), parameter **sfour** = 4.0\_sp\
 real(**sp**), parameter **seight** = 8.0\_sp\
 real(**sp**), parameter **sten** = 10.0\_sp\
 complex(**sp**), parameter **czero** = ( 0.0\_sp, 0.0\_sp )\
 complex(**sp**), parameter **chalf** = ( 0.5\_sp, 0.0\_sp )\
 complex(**sp**), parameter **cone** = ( 1.0\_sp, 0.0\_sp )\
 character \*1, parameter **sprefix** = 'S'\
 character \*1, parameter **cprefix** = 'C'\
 real(**sp**), parameter **sulp** = epsilon(0.\_sp)\
 real(**sp**), parameter **seps** = **sulp** \* 0.5\_sp\
 real(**sp**), parameter **ssafmin** = real(radix(0.\_sp), **sp**)\*\*max( minexponent(0.\_sp)-1, 1-maxexponent(0.\_sp) )\
 real(**sp**), parameter **ssafmax** = **sone** / **ssafmin**\
 real(**sp**), parameter **ssmlnum** = **ssafmin** / **sulp**\
 real(**sp**), parameter **sbignum** = **ssafmax** \* **sulp**\
 real(**sp**), parameter **srtmin** = sqrt(**ssmlnum**)\
 real(**sp**), parameter **srtmax** = sqrt(**sbignum**)\
 real(**sp**), parameter **stsml** = real(radix(0.\_sp), **sp**)\*\*ceiling( (minexponent(0.\_sp) - 1) \* 0.5\_sp)\
 real(**sp**), parameter **stbig** = real(radix(0.\_sp), **sp**)\*\*floor( (maxexponent(0.\_sp) - digits(0.\_sp) + 1) \* 0.5\_sp)\
 real(**sp**), parameter **sssml** = real(radix(0.\_sp), **sp**)\*\*( - floor( (minexponent(0.\_sp) - digits(0.\_sp)) \* 0.5\_sp))\
 real(**sp**), parameter **ssbig** = real(radix(0.\_sp), **sp**)\*\*( - ceiling( (maxexponent(0.\_sp) + digits(0.\_sp) - 1) \* 0.5\_sp))\
 integer, parameter **dp** = kind(1.d0)\
 real(**dp**), parameter **dzero** = 0.0\_dp\
 real(**dp**), parameter **dhalf** = 0.5\_dp\
 real(**dp**), parameter **done** = 1.0\_dp\
 real(**dp**), parameter **dtwo** = 2.0\_dp\
 real(**dp**), parameter **dthree** = 3.0\_dp\
 real(**dp**), parameter **dfour** = 4.0\_dp\
 real(**dp**), parameter **deight** = 8.0\_dp\
 real(**dp**), parameter **dten** = 10.0\_dp\
 complex(**dp**), parameter **zzero** = ( 0.0\_dp, 0.0\_dp )\
 complex(**dp**), parameter **zhalf** = ( 0.5\_dp, 0.0\_dp )\
 complex(**dp**), parameter **zone** = ( 1.0\_dp, 0.0\_dp )\
 character \*1, parameter **dprefix** = 'D'\
 character \*1, parameter **zprefix** = 'Z'\
 real(**dp**), parameter **dulp** = epsilon(0.\_dp)\
 real(**dp**), parameter **deps** = **dulp** \* 0.5\_dp\
 real(**dp**), parameter **dsafmin** = real(radix(0.\_dp), **dp**)\*\*max( minexponent(0.\_dp)-1, 1-maxexponent(0.\_dp) )\
 real(**dp**), parameter **dsafmax** = **done** / **dsafmin**\
 real(**dp**), parameter **dsmlnum** = **dsafmin** / **dulp**\
 real(**dp**), parameter **dbignum** = **dsafmax** \* **dulp**\
 real(**dp**), parameter **drtmin** = sqrt(**dsmlnum**)\
 real(**dp**), parameter **drtmax** = sqrt(**dbignum**)\
 real(**dp**), parameter **dtsml** = real(radix(0.\_dp), **dp**)\*\*ceiling( (minexponent(0.\_dp) - 1) \* 0.5\_dp)\
 real(**dp**), parameter **dtbig** = real(radix(0.\_dp), **dp**)\*\*floor( (maxexponent(0.\_dp) - digits(0.\_dp) + 1) \* 0.5\_dp)\
 real(**dp**), parameter **dssml** = real(radix(0.\_dp), **dp**)\*\*( - floor( (minexponent(0.\_dp) - digits(0.\_dp)) \* 0.5\_dp))\
 real(**dp**), parameter **dsbig** = real(radix(0.\_dp), **dp**)\*\*( - ceiling( (maxexponent(0.\_dp) + digits(0.\_dp) - 1) \* 0.5\_dp))\

## Detailed Description

**LA\_CONSTANTS** is a module for the scaling constants for the compiled Fortran single and double precisions

**Author**

Edward Anderson, Lockheed Martin

**Date**

May 2016

**Contributors:**

Weslley Pereira, University of Colorado Denver, USA Nick Papior, Technical University of Denmark, DK

**Further Details:**

```
!>
!>  Anderson E. (2017)
!>  Algorithm 978: Safe Scaling in the Level 1 BLAS
!>  ACM Trans Math Softw 44:1--28
!>  https://doi.org/10.1145/3061665
!>
!>  Blue, James L. (1978)
!>  A Portable Fortran Program to Find the Euclidean Norm of a Vector
!>  ACM Trans Math Softw 4:15--23
!>  https://doi.org/10.1145/355769.355771
!>
!>
```

## Variable Documentation

### complex(sp), parameter la\_constants::chalf = ( 0.5\_sp, 0.0\_sp )

Definition at line **57** of file **la\_constants.f90**.

### complex(sp), parameter la\_constants::cone = ( 1.0\_sp, 0.0\_sp )

Definition at line **58** of file **la\_constants.f90**.

### character\*1, parameter la\_constants::cprefix = 'C'

Definition at line **60** of file **la\_constants.f90**.

### complex(sp), parameter la\_constants::czero = ( 0.0\_sp, 0.0\_sp )

Definition at line **56** of file **la\_constants.f90**.

### real(dp), parameter la\_constants::dbignum = dsafmax \* dulp

Definition at line **114** of file **la\_constants.f90**.

### real(dp), parameter la\_constants::deight = 8.0\_dp

Definition at line **97** of file **la\_constants.f90**.

### real(dp), parameter la\_constants::deps = dulp \* 0.5\_dp

Definition at line **107** of file **la\_constants.f90**.

### real(dp), parameter la\_constants::dfour = 4.0\_dp

Definition at line **96** of file **la\_constants.f90**.

### real(dp), parameter la\_constants::dhalf = 0.5\_dp

Definition at line **92** of file **la\_constants.f90**.

### real(dp), parameter la\_constants::done = 1.0\_dp

Definition at line **93** of file **la\_constants.f90**.

### integer, parameter la\_constants::dp = kind(1.d0)

Definition at line **89** of file **la\_constants.f90**.

### character\*1, parameter la\_constants::dprefix = 'D'

Definition at line **102** of file **la\_constants.f90**.

### real(dp), parameter la\_constants::drtmax = sqrt(dbignum)

Definition at line **116** of file **la\_constants.f90**.

### real(dp), parameter la\_constants::drtmin = sqrt(dsmlnum)

Definition at line **115** of file **la\_constants.f90**.

### real(dp), parameter la\_constants::dsafmax = done / dsafmin

Definition at line **112** of file **la\_constants.f90**.

### real(dp), parameter la\_constants::dsafmin = real(radix(0.\_dp), dp)\*\*max( minexponent(0.\_dp)-1, 1-maxexponent(0.\_dp) )

Definition at line **108** of file **la\_constants.f90**.

### real(dp), parameter la\_constants::dsbig = real(radix(0.\_dp), dp)\*\*( - ceiling( (maxexponent(0.\_dp) + digits(0.\_dp) - 1) \* 0.5\_dp))

Definition at line **128** of file **la\_constants.f90**.

### real(dp), parameter la\_constants::dsmlnum = dsafmin / dulp

Definition at line **113** of file **la\_constants.f90**.

### real(dp), parameter la\_constants::dssml = real(radix(0.\_dp), dp)\*\*( - floor( (minexponent(0.\_dp) - digits(0.\_dp)) \* 0.5\_dp))

Definition at line **125** of file **la\_constants.f90**.

### real(dp), parameter la\_constants::dtbig = real(radix(0.\_dp), dp)\*\*floor( (maxexponent(0.\_dp) - digits(0.\_dp) + 1) \* 0.5\_dp)

Definition at line **121** of file **la\_constants.f90**.

### real(dp), parameter la\_constants::dten = 10.0\_dp

Definition at line **98** of file **la\_constants.f90**.

### real(dp), parameter la\_constants::dthree = 3.0\_dp

Definition at line **95** of file **la\_constants.f90**.

### real(dp), parameter la\_constants::dtsml = real(radix(0.\_dp), dp)\*\*ceiling( (minexponent(0.\_dp) - 1) \* 0.5\_dp)

Definition at line **119** of file **la\_constants.f90**.

### real(dp), parameter la\_constants::dtwo = 2.0\_dp

Definition at line **94** of file **la\_constants.f90**.

### real(dp), parameter la\_constants::dulp = epsilon(0.\_dp)

Definition at line **106** of file **la\_constants.f90**.

### real(dp), parameter la\_constants::dzero = 0.0\_dp

Definition at line **91** of file **la\_constants.f90**.

### real(sp), parameter la\_constants::sbignum = ssafmax \* sulp

Definition at line **71** of file **la\_constants.f90**.

### real(sp), parameter la\_constants::seight = 8.0\_sp

Definition at line **54** of file **la\_constants.f90**.

### real(sp), parameter la\_constants::seps = sulp \* 0.5\_sp

Definition at line **64** of file **la\_constants.f90**.

### real(sp), parameter la\_constants::sfour = 4.0\_sp

Definition at line **53** of file **la\_constants.f90**.

### real(sp), parameter la\_constants::shalf = 0.5\_sp

Definition at line **49** of file **la\_constants.f90**.

### real(sp), parameter la\_constants::sone = 1.0\_sp

Definition at line **50** of file **la\_constants.f90**.

### integer, parameter la\_constants::sp = kind(1.e0)

Definition at line **46** of file **la\_constants.f90**.

### character\*1, parameter la\_constants::sprefix = 'S'

Definition at line **59** of file **la\_constants.f90**.

### real(sp), parameter la\_constants::srtmax = sqrt(sbignum)

Definition at line **73** of file **la\_constants.f90**.

### real(sp), parameter la\_constants::srtmin = sqrt(ssmlnum)

Definition at line **72** of file **la\_constants.f90**.

### real(sp), parameter la\_constants::ssafmax = sone / ssafmin

Definition at line **69** of file **la\_constants.f90**.

### real(sp), parameter la\_constants::ssafmin = real(radix(0.\_sp), sp)\*\*max( minexponent(0.\_sp)-1, 1-maxexponent(0.\_sp) )

Definition at line **65** of file **la\_constants.f90**.

### real(sp), parameter la\_constants::ssbig = real(radix(0.\_sp), sp)\*\*( - ceiling( (maxexponent(0.\_sp) + digits(0.\_sp) - 1) \* 0.5\_sp))

Definition at line **85** of file **la\_constants.f90**.

### real(sp), parameter la\_constants::ssmlnum = ssafmin / sulp

Definition at line **70** of file **la\_constants.f90**.

### real(sp), parameter la\_constants::sssml = real(radix(0.\_sp), sp)\*\*( - floor( (minexponent(0.\_sp) - digits(0.\_sp)) \* 0.5\_sp))

Definition at line **82** of file **la\_constants.f90**.

### real(sp), parameter la\_constants::stbig = real(radix(0.\_sp), sp)\*\*floor( (maxexponent(0.\_sp) - digits(0.\_sp) + 1) \* 0.5\_sp)

Definition at line **78** of file **la\_constants.f90**.

### real(sp), parameter la\_constants::sten = 10.0\_sp

Definition at line **55** of file **la\_constants.f90**.

### real(sp), parameter la\_constants::sthree = 3.0\_sp

Definition at line **52** of file **la\_constants.f90**.

### real(sp), parameter la\_constants::stsml = real(radix(0.\_sp), sp)\*\*ceiling( (minexponent(0.\_sp) - 1) \* 0.5\_sp)

Definition at line **76** of file **la\_constants.f90**.

### real(sp), parameter la\_constants::stwo = 2.0\_sp

Definition at line **51** of file **la\_constants.f90**.

### real(sp), parameter la\_constants::sulp = epsilon(0.\_sp)

Definition at line **63** of file **la\_constants.f90**.

### real(sp), parameter la\_constants::szero = 0.0\_sp

Definition at line **48** of file **la\_constants.f90**.

### complex(dp), parameter la\_constants::zhalf = ( 0.5\_dp, 0.0\_dp )

Definition at line **100** of file **la\_constants.f90**.

### complex(dp), parameter la\_constants::zone = ( 1.0\_dp, 0.0\_dp )

Definition at line **101** of file **la\_constants.f90**.

### character\*1, parameter la\_constants::zprefix = 'Z'

Definition at line **103** of file **la\_constants.f90**.

### complex(dp), parameter la\_constants::zzero = ( 0.0\_dp, 0.0\_dp )

Definition at line **99** of file **la\_constants.f90**.

## Author

Generated automatically by Doxygen for LAPACK from the source code.
