package java.lang {
import flash.utils.ByteArray;
import java.lang.Arguments;
dynamic public class Float extends Number__ implements Comparable {
  public static var TYPE: java.lang.Class__ = new java.lang.Class__(new Arguments(java.lang.Class__.Class____Ljava_lang_String_2, ["float"]));
  public static const MAX_VALUE: Number = 3.4028234663852886E38;
  public static const MIN_VALUE: Number = 1.401298464324817E-45;
  public static const MAX_EXPONENT: Number = 127;
  public static const MIN_EXPONENT: Number = -126;
  public static const MIN_NORMAL: Number = 1.1754943508222875E-38;
  public static const NaN: Number = 0.0 / 0.0;
  public static const NEGATIVE_INFINITY: Number = -1.0 / 0.0;
  public static const POSITIVE_INFINITY: Number = 1.0 / 0.0;
  public static const SIZE: int = 32;
  private var value: Number = 0;
  public static function floatToIntBits__F(value: Number): int {
    var array: ByteArray = new ByteArray();
    array.writeFloat(value);
    return array.readInt();
  }
  public static function compare__FF(x: Number, y: Number): int {
    if (x < y) {
      return -1;
    } else if (x > y) {
      return 1;
    } else {
      return 0;
    }
    return 0;
  }
  public static function hashCode__F(f: Number): int {
    return int(f);
  }
  public static function isInfinite__F(x: Number): Boolean {
    return !isFinite(x);
  }
  public static function isNaN__F(x: Number): Boolean {
    return isNaN(x);
  }
  public static function parseFloat__Ljava_lang_String_2(s: String): Number {
    return Number(Number__.__parseAndValidateDouble__Ljava_lang_String_2(s));
  }
  public static function toString__F(b: Number): String {
    return Object(String).valueOf__F(b);
  }
  public static function valueOf__F(f: Number): Float {
    return new Float(new Arguments(java.lang.Float.Float__F, [f]));
  }
  public static function valueOf__Ljava_lang_String_2(s: String): Float {
    return new Float(new Arguments(java.lang.Float.Float__F, [parseFloat__Ljava_lang_String_2(s)]));
  }
  public function Float__D(value: Number): Object {
    this.value = Number(value);
    return this;
  }
  public function Float__F(value: Number): Object {
    this.value = value;
    return this;
  }
  public function Float__Ljava_lang_String_2(s: String): Object {
    value = Float.parseFloat__Ljava_lang_String_2(s);
    return this;
  }
  public override function byteValue__(): int {
    return int(value);
  }
  public function compareTo__Ljava_lang_Float_2(b: Float): int {
    if (value < b.value) {
      return -1;
    } else if (value > b.value) {
      return 1;
    } else {
      return 0;
    }
    return 0;
  }
  public override function doubleValue__(): Number {
    return value;
  }
  public function equals__Ljava_lang_Object_2(o: Object): Boolean {
    return (o is Float) && ((Float(o)).value == value);
  }
  public override function floatValue__(): Number {
    return value;
  }
  public function hashCode__(): int {
    return Float.hashCode__F(value);
  }
  public override function intValue__(): int {
    return int(value);
  }
  public function isInfinite__(): Boolean {
    return Float.isInfinite__F(value);
  }
  public function isNaN__(): Boolean {
    return Float.isNaN__F(value);
  }
  public override function longValue__(): Number {
    return Number(value);
  }
  public override function shortValue__(): int {
    return int(value);
  }
  public function toString__(): String {
    return Float.toString__F(value);
  }
  public function compareTo__Ljava_lang_Object_2(arg0: Object): int {
    return arg0.compareTo__Ljava_lang_Float_2();
  }
  public function Float(... vargs) {
    var args: Array;
    var id: int;
    if (vargs.length == 1 && vargs[0] is Arguments) {
      args = Arguments(vargs[0]).args;
      id = Arguments(vargs[0]).id;
    } else {
      if (vargs.length == 1 && vargs[0] is Number) {
        args = vargs;
        id = 0;
      } else if (vargs.length == 1 && vargs[0] is Number) {
        args = vargs;
        id = 1;
      } else if (vargs.length == 1 && vargs[0] is String) {
        args = vargs;
        id = 2;
      }
    }
    switch (id) {
      case 0:
        var args0: Array = [args[0]];
        break;
      case 1:
        var args1: Array = [args[0]];
        break;
      case 2:
        var args2: Array = [args[0]];
        break;
    }
    super();
    switch (id) {
      case 0:
        Float__D(args0[0]);
        break;
      case 1:
        Float__F(args1[0]);
        break;
      case 2:
        Float__Ljava_lang_String_2(args2[0]);
        break;
    }
  }
  public static const Float__D : int = 0;
  public static const Float__F : int = 1;
  public static const Float__Ljava_lang_String_2 : int = 2;
}
}
