
ANSI Common Lisp 12 Numbers 12.2 Dictionary of Numbers
 Syntax:

abs
number
absolutevalue
 Arguments and Values:

number  a number.
absolutevalue  a nonnegative 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.
