|
@@ -34,6 +34,7 @@ public class LispEval {
|
|
|
operators.put("ceil", new MathOperator());
|
|
|
operators.put("floor", new MathOperator());
|
|
|
operators.put("log10", new MathOperator());
|
|
|
+ operators.put("cos", new MathOperator());
|
|
|
operators.put("quote", (op, lisp) -> {
|
|
|
if(lisp.size() != 1) {
|
|
|
throw new LispError(LispError.ERR_NUM_ARG);
|
|
@@ -154,6 +155,12 @@ public class LispEval {
|
|
|
}
|
|
|
return LispElement.generate(Math.abs(le.toNumber()));
|
|
|
});
|
|
|
+ operators.put("pow", (op, lisp) -> {
|
|
|
+ if(lisp.size() != 2) {
|
|
|
+ throw new LispError(LispError.ERR_NUM_ARG);
|
|
|
+ }
|
|
|
+ return LispElement.generate(Math.pow(LispElement.getElement(lisp.car()).toNumber(), LispElement.getElement(lisp.cdr().car()).toNumber()));
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
private Object lispElt = null;
|