The Grinnell Scheme Web: The
>= procedure

How do you find out whether one number is greater than or equal to another?

Call the >= procedure:

> (>= 5 12)
#f
> (>= 12 5)
#t
> (>= 12 12)
#t
> (>= 12 12.0)
#t
The >= procedure is of arity 2 or more, and all of its operands must be integer, rational, or real numbers.

Not complex numbers?

That's right. Complex numbers aren't arranged as less and greater, so >= can't be used to compare them.

What does the >= procedure do with more than two operands?

If you give the >= procedure more than two operands, it tests whether all of the operands are in descending numerical order, except that adjacent operands may be equal (the sequence of operands must be ``monotonically nonincreasing,'' in mathematical jargon). If any of the operands is strictly greater than any of those that follow it, the procedure returns the ``false'' Boolean value:

> (>= 6 5 4 3 2 1)
#t
> (>= 1 2 3 4 5 6)
#f
> (>= 5 4 3 3.0 2 1)
#t
> (>= 5 4 3 4 2 1)
#f
And if you give it one operand, or none?

Some implementations go beyond what the standard requires and generously return the ``true'' Boolean value in these cases:

> (>= 5)
#t
> (>=)
#t
Under other implementations, however, the program will crash:
> (>= 5)

Error: wrong number of arguments
       (>= 5)
The prudent programmer will avoid calling the >= procedure with fewer than two operands.


Next topic
Previous topic
Table of contents


This document is available on the World Wide Web as

http://www.math.grin.edu/~stone/scheme-web/greater-or-equal.html


created July 2, 1995
last revised December 29, 1995

Copyright 1995 by John David Stone (stone@math.grin.edu)