[re]-merged in Brians stuff
[org.ibex.core.git] / src / org / ibex / js / JSMath.java
diff --git a/src/org/ibex/js/JSMath.java b/src/org/ibex/js/JSMath.java
deleted file mode 100644 (file)
index 32d730d..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-// Copyright 2004 Adam Megacz, see the COPYING file for licensing [GPL ]
-
-package org.ibex.js; 
-
-/** The JavaScript Math object */
-class JSMath extends JS {
-    private static final JS E       = JS.N(java.lang.Math.E);
-    private static final JS PI      = JS.N(java.lang.Math.PI);
-    private static final JS LN10    = JS.N(java.lang.Math.log(10));
-    private static final JS LN2     = JS.N(java.lang.Math.log(2));
-    private static final JS LOG10E  = JS.N(1/java.lang.Math.log(10));
-    private static final JS LOG2E   = JS.N(1/java.lang.Math.log(2));
-    private static final JS SQRT1_2 = JS.N(1/java.lang.Math.sqrt(2));
-    private static final JS SQRT2   = JS.N(java.lang.Math.sqrt(2));
-
-    public JS callMethod(JS method, JS a0, JS a1, JS a2, JS[] rest, int nargs) throws JSExn {
-        switch(nargs) {
-            case 0: {
-                //#jswitch(method)
-                case "random": return JS.N(java.lang.Math.random());
-                //#end
-                break;
-            }
-            case 1: {
-                //#jswitch(method)
-                case "ceil": return JS.N((long)java.lang.Math.ceil(toDouble(a0)));
-                case "floor": return JS.N((long)java.lang.Math.floor(toDouble(a0)));
-                case "round": return JS.N((long)java.lang.Math.round(toDouble(a0)));
-                case "abs": return JS.N(java.lang.Math.abs(toDouble(a0)));
-                case "sin": return JS.N(java.lang.Math.sin(toDouble(a0)));
-                case "cos": return JS.N(java.lang.Math.cos(toDouble(a0)));
-                case "tan": return JS.N(java.lang.Math.tan(toDouble(a0)));
-                case "asin": return JS.N(java.lang.Math.asin(toDouble(a0)));
-                case "acos": return JS.N(java.lang.Math.acos(toDouble(a0)));
-                case "atan": return JS.N(java.lang.Math.atan(toDouble(a0)));
-                case "sqrt": return JS.N(java.lang.Math.sqrt(toDouble(a0)));
-                case "exp": return JS.N(java.lang.Math.exp(toDouble(a0)));
-                case "log": return JS.N(java.lang.Math.log(toDouble(a0)));
-                //#end
-                break;
-            }
-            case 2: {
-                //#jswitch(method)
-                case "min": return JS.N(java.lang.Math.min(toDouble(a0), toDouble(a1)));
-                case "max": return JS.N(java.lang.Math.max(toDouble(a0), toDouble(a1)));
-                case "pow": return JS.N(java.lang.Math.pow(toDouble(a0), toDouble(a1)));
-                case "atan2": return JS.N(java.lang.Math.atan2(toDouble(a0), toDouble(a1)));
-                //#end
-                break;
-            }
-        }
-        return super.callMethod(method, a0, a1, a2, rest, nargs);
-    }
-
-    public JS get(JS key) throws JSExn {
-        //#jswitch(key)
-        case "E": return E;
-        case "LN10": return LN10;
-        case "LN2": return LN2;
-        case "LOG10E": return LOG10E;
-        case "LOG2E": return LOG2E;
-        case "PI": return PI;
-        case "SQRT1_2": return SQRT1_2;
-        case "SQRT2": return SQRT2;
-        case "ceil": return METHOD;
-        case "floor": return METHOD;
-        case "round": return METHOD;
-        case "min": return METHOD;
-        case "max": return METHOD;
-        case "pow": return METHOD;
-        case "atan2": return METHOD;
-        case "abs": return METHOD;
-        case "sin": return METHOD;
-        case "cos": return METHOD;
-        case "tan": return METHOD;
-        case "asin": return METHOD;
-        case "acos": return METHOD;
-        case "atan": return METHOD;
-        case "sqrt": return METHOD;
-        case "exp": return METHOD;
-        case "log": return METHOD;
-        case "random": return METHOD;
-        //#end
-        return super.get(key);
-    }
-}