12345678910111213141516171819202122232425262728293031 |
- #include "defs.h"
- void
- eval_sgn(void)
- {
- push(cadr(p1));
- eval();
- sgn();
- }
- void
- sgn(void)
- {
- save();
- p1 = pop();
- if (!isnum(p1)) {
- push_symbol(SGN);
- push(p1);
- list(2);
- } else if (iszero(p1))
- push_integer(0);
- else if (isnegativenumber(p1))
- push_integer(-1);
- else
- push_integer(1);
- restore();
- }
|