ToC DocOverview CGDoc RelNotes Index PermutedIndex
Allegro CL
Home Previous Up Next Table of Contents Index
  ANSI Common Lisp   12 Numbers   12.2 Dictionary of Numbers

12.2.29 abs Function

Syntax:
abs number    absolute-value

Arguments and Values:
number - a number.

absolute-value - a non-negative real.

Description:
abs returns the absolute value of number.

If number is a real, the result is of the same type as number.

If number is a complex, the result is a positive real with the same magnitude as number. The result can be a float even if number's components are rationals and an exact rational result would have been possible. Thus the result of (abs #c(3 4)) can be either 5 or 5.0, depending on the implementation.

Examples:
 (abs 0)  0
 (abs 12/13)  12/13
 (abs -1.09)  1.09
 (abs #c(5.0 -5.0))  7.071068
 (abs #c(5 5))  7.071068
 (abs #c(3/5 4/5))  1 or approximately 1.0
 (eql (abs -0.0) -0.0)  true

See Also:
Section 12.1.3.3 Rule of Float Substitutability

Notes:
If number is a complex, the result is equivalent to the following:

(sqrt (+ (expt (realpart number) 2) (expt (imagpart number) 2)))

An implementation should not use this formula directly for all complexes but should handle very large or very small components specially to avoid intermediate overflow or underflow.

Allegro CL Implementation Details:
None.

Home Previous Up Next Table of Contents Index
© Franz Inc. All Rights Reserved - File last updated 2022-07-25