Next: , Previous: Integer Operations, Up: Numbers

5.5.2.8 Comparison Predicates

The C comparison functions below always takes two arguments, while the Scheme functions can take an arbitrary number. Also keep in mind that the C functions return one of the Scheme boolean values `SCM_BOOL_T` or `SCM_BOOL_F` which are both true as far as C is concerned. Thus, always write ```scm_is_true (scm_num_eq_p (x, y))``` when testing the two Scheme numbers `x` and `y` for equality, for example.

— Scheme Procedure: =
— C Function: scm_num_eq_p (x, y)

Return `#t` if all parameters are numerically equal.

— Scheme Procedure: <
— C Function: scm_less_p (x, y)

Return `#t` if the list of parameters is monotonically increasing.

— Scheme Procedure: >
— C Function: scm_gr_p (x, y)

Return `#t` if the list of parameters is monotonically decreasing.

— Scheme Procedure: <=
— C Function: scm_leq_p (x, y)

Return `#t` if the list of parameters is monotonically non-decreasing.

— Scheme Procedure: >=
— C Function: scm_geq_p (x, y)

Return `#t` if the list of parameters is monotonically non-increasing.

— Scheme Procedure: zero? z
— C Function: scm_zero_p (z)

Return `#t` if z is an exact or inexact number equal to zero.

— Scheme Procedure: positive? x
— C Function: scm_positive_p (x)

Return `#t` if x is an exact or inexact number greater than zero.

— Scheme Procedure: negative? x
— C Function: scm_negative_p (x)

Return `#t` if x is an exact or inexact number less than zero.