ToC | DocOverview | CGDoc | RelNotes | Index | PermutedIndex
| Allegro CL

| 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.

© Franz Inc. 1998-2019 - File last updated 02-07-2019