// Path: src/main/java/javascript/ScriptHelper.java
// public final class ScriptHelper {
//     
//     /**
//      * Sets a key/value pair of <code>Object</type> type.
//      */
//     public static native void put(String s, Object value);
//     
//     /**
//      * Sets a key/value pair of <code>boolean</code> type.
//      */
//     public static native void put(String s, boolean value);
//     
//     /**
//      * Sets a key/value pair of <code>primitive</code> type,
//      * except of type <code>boolean</code>.
//      */
//     public static native void put(String s, double value);
//     
//     //public static native Object get(String s);
// 
//     /**
//      * Executes the specified script.
//      * <b>Important</b>: In the current version the script must be a string literal.
//      * 
//      * @return the object returned by the JavaScript code
//      */
//     public static native Object eval(String script);
//     
//     /**
//      * Same as {@link ScriptHelper#eval(String)}, but returns an int.
//      */
//     public static native int evalInt(String jsCode);
//     
//     /**
//      * Same as {@link ScriptHelper#eval(String)}, but returns a long.
//      */
//     public static native long evalLong(String jsCode);
//     
//     /**
//      * Same as {@link ScriptHelper#eval(String)}, but returns float.
//      */
//     public static native float evalFloat(String jsCode);
//     
//     /**
//      * Same as {@link ScriptHelper#eval(String)}, but returns a double.
//      */
//     public static native double evalDouble(String jsCode);
//     
//     /**
//      * Same as {@link ScriptHelper#eval(String)}, but returns a char.
//      */
//     public static native char evalChar(String jsCode);
//     
//     /**
//      * Same as {@link ScriptHelper#eval(String)}, but returns a boolean.
//      */
//     public static native boolean evalBoolean(String jsCode);
// }
// 
// Path: src/main/java/javascript/Utils.java
// public class Utils {
// 
//     /**
//      * This method unifies the instructions lcmp, fcmp<op> and dcmp<op> with
//      * op = (g|l).
//      * It compares two numerical values. The value gORl must be 1 for (g)
//      * or -1 for (l), otherwise 0.
//      * If either value1 or value2 is NaN, then lg is returned.
//      */
//     public static int cmp(double value1, double value2, int gORl) {
//         if (gORl != 0 && (Double.isNaN(value1) || Double.isNaN(value2))) return gORl;
//         ScriptHelper.put("value1", value1);
//         ScriptHelper.put("value2", value2);
//         return ScriptHelper.evalInt("j2js.cmp(value1, value2)");
//     }
//     
// }


import javascript.ScriptHelper;
import javascript.Utils;
/*
 * Copyright (c) 2006 Wolfgang Kuehn
 */

package java.lang;


/**
 * The Double class wraps a value of the primitive type double in an object.
 */
public final class Double extends Number {

    public static final double NaN;
    
    public static final Class<Double> TYPE = null;
    
// Path: src/main/java/javascript/ScriptHelper.java
// public final class ScriptHelper {
//     
//     /**
//      * Sets a key/value pair of <code>Object</type> type.
//      */
//     public static native void put(String s, Object value);
//     
//     /**
//      * Sets a key/value pair of <code>boolean</code> type.
//      */
//     public static native void put(String s, boolean value);
//     
//     /**
//      * Sets a key/value pair of <code>primitive</code> type,
//      * except of type <code>boolean</code>.
//      */
//     public static native void put(String s, double value);
//     
//     //public static native Object get(String s);
// 
//     /**
//      * Executes the specified script.
//      * <b>Important</b>: In the current version the script must be a string literal.
//      * 
//      * @return the object returned by the JavaScript code
//      */
//     public static native Object eval(String script);
//     
//     /**
//      * Same as {@link ScriptHelper#eval(String)}, but returns an int.
//      */
//     public static native int evalInt(String jsCode);
//     
//     /**
//      * Same as {@link ScriptHelper#eval(String)}, but returns a long.
//      */
//     public static native long evalLong(String jsCode);
//     
//     /**
//      * Same as {@link ScriptHelper#eval(String)}, but returns float.
//      */
//     public static native float evalFloat(String jsCode);
//     
//     /**
//      * Same as {@link ScriptHelper#eval(String)}, but returns a double.
//      */
//     public static native double evalDouble(String jsCode);
//     
//     /**
//      * Same as {@link ScriptHelper#eval(String)}, but returns a char.
//      */
//     public static native char evalChar(String jsCode);
//     
//     /**
//      * Same as {@link ScriptHelper#eval(String)}, but returns a boolean.
//      */
//     public static native boolean evalBoolean(String jsCode);
// }
// 
// Path: src/main/java/javascript/Utils.java
// public class Utils {
// 
//     /**
//      * This method unifies the instructions lcmp, fcmp<op> and dcmp<op> with
//      * op = (g|l).
//      * It compares two numerical values. The value gORl must be 1 for (g)
//      * or -1 for (l), otherwise 0.
//      * If either value1 or value2 is NaN, then lg is returned.
//      */
//     public static int cmp(double value1, double value2, int gORl) {
//         if (gORl != 0 && (Double.isNaN(value1) || Double.isNaN(value2))) return gORl;
//         ScriptHelper.put("value1", value1);
//         ScriptHelper.put("value2", value2);
//         return ScriptHelper.evalInt("j2js.cmp(value1, value2)");
//     }
//     
// }


// Path: src/main/java/java/lang/Double.java
import javascript.ScriptHelper;
import javascript.Utils;

/*
 * Copyright (c) 2006 Wolfgang Kuehn
 */

package java.lang;


/**
 * The Double class wraps a value of the primitive type double in an object.
 */
public final class Double extends Number {

    public static final double NaN;
    
    public static final Class<Double> TYPE = null;
    
    static {