|
ANSI Common Lisp 12 Numbers 12.2 Dictionary of Numbers
12.2.15 =, /=, <, >, <=, >= |
Function |
- Syntax:
-
=
&rest numbers+
generalized-boolean
/=
&rest numbers+
generalized-boolean
<
&rest numbers+
generalized-boolean
>
&rest numbers+
generalized-boolean
<=
&rest numbers+
generalized-boolean
>=
&rest numbers+
generalized-boolean
- Arguments and Values:
-
number - for <, >, <=, >=: a real;
for =, /=: a number.
generalized-boolean - a generalized boolean.
- Description:
-
=, /=, <, >, <=, and >=
perform arithmetic comparisons on their arguments as follows:
- =
The value of = is true if all numbers are the same in value;
otherwise it is false.
Two complexes are considered equal by =
if their real and imaginary parts are equal according to =.
- /=
The value of /= is true if no two numbers are the same in value;
otherwise it is false.
- <
The value of < is true if the numbers are in monotonically increasing order;
otherwise it is false.
- >
The value of > is true if the numbers are in monotonically decreasing order;
otherwise it is false.
- <=
The value of <= is true if the numbers are in monotonically
nondecreasing order;
otherwise it is false.
- >=
The value of >= is true if the numbers are in monotonically
nonincreasing order;
otherwise it is false.
=, /=, <, >, <=, and >=
perform necessary type conversions.
- Examples:
-
The uses of these functions are illustrated in the next figure.
Uses of /=, =, <, >, <=, and >=
(= 3 3) is true. |
(/= 3 3) is false. |
(= 3 5) is false. |
(/= 3 5) is true. |
(= 3 3 3 3) is true. |
(/= 3 3 3 3) is false. |
(= 3 3 5 3) is false. |
(/= 3 3 5 3) is false. |
(= 3 6 5 2) is false. |
(/= 3 6 5 2) is true. |
(= 3 2 3) is false. |
(/= 3 2 3) is false. |
(< 3 5) is true. |
(<= 3 5) is true. |
(< 3 -5) is false. |
(<= 3 -5) is false. |
(< 3 3) is false. |
(<= 3 3) is true. |
(< 0 3 4 6 7) is true. |
(<= 0 3 4 6 7) is true. |
(< 0 3 4 4 6) is false. |
(<= 0 3 4 4 6) is true. |
(> 4 3) is true. |
(>= 4 3) is true. |
(> 4 3 2 1 0) is true. |
(>= 4 3 2 1 0) is true. |
(> 4 3 3 2 0) is false. |
(>= 4 3 3 2 0) is true. |
(> 4 3 1 2 0) is false. |
(>= 4 3 1 2 0) is false. |
(= 3) is true. |
(/= 3) is true. |
(< 3) is true. |
(<= 3) is true. |
(= 3.0 #c(3.0 0.0)) is true. |
(/= 3.0 #c(3.0 1.0)) is true. |
(= 3 3.0) is true. |
(= 3.0s0 3.0d0) is true. |
(= 0.0 -0.0) is true. |
(= 5/2 2.5) is true. |
(> 0.0 -0.0) is false. |
(= 0 -0.0) is true. |
(<= 0 x 9) is true if x is between 0 and 9,
inclusive |
(< 0.0 x 1.0) is true if x is between 0.0 and 1.0,
exclusive |
(< -1 j (length v)) is true if j is a valid array index for
a vector v |
- Exceptional Situations:
-
Might signal type-error if some argument is not a real.
Might signal arithmetic-error if otherwise unable to fulfill its contract.
- Notes:
-
= differs from eql in that
(= 0.0 -0.0) is always true,
because = compares the mathematical values of its operands,
whereas eql compares the representational values, so to speak.
- Allegro CL Implementation Details:
-
None.
|