1 // If the number of args is odd then the last arg is the default result.
11 if (cdr(p1
) == symbol(NIL
)) {
12 push(car(p1
)); // default case
29 // The test for equality is weaker than the other relational operators.
31 // For example, A<=B causes a stop when the result of A minus B is not a
34 // However, A==B never causes a stop.
36 // For A==B, any nonzero result for A minus B indicates inequality.
53 // Relational operators expect a numeric result for operand difference.
137 // use subtract for cases like A < A + 1
151 // try floating point if necessary
153 if (p1
->k
!= NUM
&& p1
->k
!= DOUBLE
) {
165 if (MSIGN(p1
->u
.q
.a
) == -1)
177 stop("relational operator: cannot determine due to non-numerical comparison");