Skip to main content

=, /=, <, >, <=, >=

=, /=, <, >, <=, >= 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 Figure 12–13.

Figure 12–13. 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.

Expanded Reference: =, /=, <, >, <=, >=

tip

TODO: Please contribute to this page by adding explanations and examples

(= )
(/= )
(< )
(> )
(<= )
(>= )