home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1999 November / PCONLINE_11_99.ISO / filesbbs / OS2 / APCHSSL2.ZIP / OS2HTTPD / jserv / com / netscape / javascript / NativeMath.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-04-09  |  2.4 KB  |  91 lines

  1. package com.netscape.javascript;
  2.  
  3. public class NativeMath extends ScriptableObject {
  4.    // $FF: synthetic field
  5.    private static Class class$java$lang$Math;
  6.    // $FF: synthetic field
  7.    private static Class class$com$netscape$javascript$NativeMath;
  8.  
  9.    public double max(double var1, double var3) {
  10.       return Math.max(var1, var3);
  11.    }
  12.  
  13.    public double exp(double var1) {
  14.       if (var1 == Double.POSITIVE_INFINITY) {
  15.          return var1;
  16.       } else {
  17.          return var1 == Double.NEGATIVE_INFINITY ? (double)0.0F : Math.exp(var1);
  18.       }
  19.    }
  20.  
  21.    public double pow(double var1, double var3) {
  22.       return var3 == (double)0.0F ? (double)1.0F : Math.pow(var1, var3);
  23.    }
  24.  
  25.    // $FF: synthetic method
  26.    private static Class class$(String var0) {
  27.       try {
  28.          return Class.forName(var0);
  29.       } catch (ClassNotFoundException var2) {
  30.          throw new NoClassDefFoundError(((Throwable)var2).getMessage());
  31.       }
  32.    }
  33.  
  34.    public double abs(double var1) {
  35.       if (var1 == (double)0.0F) {
  36.          return (double)0.0F;
  37.       } else {
  38.          return var1 < (double)0.0F ? -var1 : var1;
  39.       }
  40.    }
  41.  
  42.    public static Scriptable init(Scriptable var0) throws PropertyException {
  43.       NativeMath var1 = new NativeMath();
  44.       ((ScriptableObject)var1).setPrototype(ScriptableObject.getObjectPrototype(var0));
  45.       ((ScriptableObject)var1).setParentScope(var0);
  46.       String[] var2 = new String[]{"acos", "asin", "atan", "atan2", "ceil", "cos", "floor", "log", "random", "sin", "sqrt", "tan"};
  47.       ((ScriptableObject)var1).defineFunctionProperties(var2, class$java$lang$Math != null ? class$java$lang$Math : (class$java$lang$Math = class$("java.lang.Math")), 2);
  48.       String[] var3 = new String[]{"abs", "exp", "max", "min", "round", "pow"};
  49.       ((ScriptableObject)var1).defineFunctionProperties(var3, class$com$netscape$javascript$NativeMath != null ? class$com$netscape$javascript$NativeMath : (class$com$netscape$javascript$NativeMath = class$("com.netscape.javascript.NativeMath")), 2);
  50.       boolean var4 = true;
  51.       ((ScriptableObject)var1).defineProperty("E", new Double(Math.E), 7);
  52.       ((ScriptableObject)var1).defineProperty("PI", new Double(Math.PI), 7);
  53.       ((ScriptableObject)var1).defineProperty("LN10", new Double(2.302585092994046), 7);
  54.       ((ScriptableObject)var1).defineProperty("LN2", new Double(0.6931471805599453), 7);
  55.       ((ScriptableObject)var1).defineProperty("LOG2E", new Double(1.4426950408889634), 7);
  56.       ((ScriptableObject)var1).defineProperty("LOG10E", new Double(0.4342944819032518), 7);
  57.       ((ScriptableObject)var1).defineProperty("SQRT1_2", new Double(0.7071067811865476), 7);
  58.       ((ScriptableObject)var1).defineProperty("SQRT2", new Double(1.4142135623730951), 7);
  59.       ScriptableObject var5 = (ScriptableObject)var0;
  60.       var5.defineProperty("Math", var1, 2);
  61.       return var1;
  62.    }
  63.  
  64.    public double min(double var1, double var3) {
  65.       return Math.min(var1, var3);
  66.    }
  67.  
  68.    public double round(double var1) {
  69.       if (var1 != var1) {
  70.          return var1;
  71.       } else if (var1 != Double.POSITIVE_INFINITY && var1 != Double.NEGATIVE_INFINITY) {
  72.          long var3 = Math.round(var1);
  73.          if (var3 == 0L) {
  74.             if (var1 < (double)0.0F) {
  75.                return ScriptRuntime.negativeZero;
  76.             } else {
  77.                return var1 == (double)0.0F ? var1 : (double)0.0F;
  78.             }
  79.          } else {
  80.             return (double)var3;
  81.          }
  82.       } else {
  83.          return var1;
  84.       }
  85.    }
  86.  
  87.    public String getClassName() {
  88.       return "Math";
  89.    }
  90. }
  91.