DLKX5ORVHGLKOQD2ZDBDQKZBSN5XQ7WXMZPCZNMTMJV2JRKS664AC
if(car == _symbol("only2+"))
if(car == _symbol(">"))
return _gt(_eval3(_cadr(form), env, env, d+1),
_eval3(_caddr(form), env, env, d+1))
else if(car == _symbol("<"))
return _lt(_eval3(_cadr(form), env, env, d+1),
_eval3(_caddr(form), env, env, d+1))
else if(car == _symbol("="))
return _number_eq(_eval3(_cadr(form), env, env, d+1),
_eval3(_caddr(form), env, env, d+1))
else if(car == _symbol("!="))
return _number_ne(_eval3(_cadr(form), env, env, d+1),
_eval3(_caddr(form), env, env, d+1))
else if(car == _symbol(">="))
return _ge(_eval3(_cadr(form), env, env, d+1),
_eval3(_caddr(form), env, env, d+1))
else if(car == _symbol("<="))
return _le(_eval3(_cadr(form), env, env, d+1),
_eval3(_caddr(form), env, env, d+1))
else if(car == _symbol("only2+"))
}
function _gt(a, b, tv) {
split(a, tv)
if(tv[1] == "#") {
a = tv[2]
split(b, tv)
if(tv[1] == "#") {
b = tv[2]
return a > b ? _true() : _false();
}
}
# if either a or b was not a number, we're here
logg_err(">", "non-numeric operand", d)
return _nil()
}
function _lt(a, b, tv) {
split(a, tv)
if(tv[1] == "#") {
a = tv[2]
split(b, tv)
if(tv[1] == "#") {
b = tv[2]
return a < b ? _true() : _false();
}
}
# if either a or b was not a number, we're here
logg_err("<", "non-numeric operand", d)
return _nil()
}
function _number_eq(a, b, tv) {
split(a, tv)
if(tv[1] == "#") {
a = tv[2]
split(b, tv)
if(tv[1] == "#") {
b = tv[2]
return a == b ? _true() : _false();
}
}
# if either a or b was not a number, we're here
logg_err("=", "non-numeric operand", d)
return _nil()
}
function _number_ne(a, b, tv) {
split(a, tv)
if(tv[1] == "#") {
a = tv[2]
split(b, tv)
if(tv[1] == "#") {
b = tv[2]
return a != b ? _true() : _false();
}
}
# if either a or b was not a number, we're here
logg_err("!=", "non-numeric operand", d)
return _nil()
}
function _ge(a, b, tv) {
split(a, tv)
if(tv[1] == "#") {
a = tv[2]
split(b, tv)
if(tv[1] == "#") {
b = tv[2]
return a >= b ? _true() : _false();
}
}
# if either a or b was not a number, we're here
logg_err(">=", "non-numeric operand", d)
return _nil()