diff options
Diffstat (limited to 'examples/scala-js/javalanglib/src/main/scala/java/lang/Float.scala')
-rw-r--r-- | examples/scala-js/javalanglib/src/main/scala/java/lang/Float.scala | 96 |
1 files changed, 0 insertions, 96 deletions
diff --git a/examples/scala-js/javalanglib/src/main/scala/java/lang/Float.scala b/examples/scala-js/javalanglib/src/main/scala/java/lang/Float.scala deleted file mode 100644 index 70cb33e..0000000 --- a/examples/scala-js/javalanglib/src/main/scala/java/lang/Float.scala +++ /dev/null @@ -1,96 +0,0 @@ -package java.lang - -/* This is a hijacked class. Its instances are primitive numbers. - * Constructors are not emitted. - */ -final class Float private () extends Number with Comparable[Float] { - - def this(value: scala.Float) = this() - def this(s: String) = this() - - @inline def floatValue(): scala.Float = - this.asInstanceOf[scala.Float] - - @inline override def byteValue(): scala.Byte = floatValue.toByte - @inline override def shortValue(): scala.Short = floatValue.toShort - @inline def intValue(): scala.Int = floatValue.toInt - @inline def longValue(): scala.Long = floatValue.toLong - @inline def doubleValue(): scala.Double = floatValue.toDouble - - override def equals(that: Any): scala.Boolean = that match { - case that: Double => // yes, Double - val a = doubleValue - val b = that.doubleValue - (a == b) || (Double.isNaN(a) && Double.isNaN(b)) - case _ => - false - } - - // Uses the hashCode of Doubles. See Bits.numberHashCode for the rationale. - @inline override def hashCode(): Int = - scala.scalajs.runtime.Bits.numberHashCode(doubleValue) - - @inline override def compareTo(that: Float): Int = - Float.compare(floatValue, that.floatValue) - - @inline override def toString(): String = - Float.toString(floatValue) - - @inline def isNaN(): scala.Boolean = - Float.isNaN(floatValue) - - @inline def isInfinite(): scala.Boolean = - Float.isInfinite(floatValue) - -} - -object Float { - final val TYPE = classOf[scala.Float] - final val POSITIVE_INFINITY = 1.0f / 0.0f - final val NEGATIVE_INFINITY = 1.0f / -0.0f - final val NaN = 0.0f / 0.0f - final val MAX_VALUE = scala.Float.MaxValue - final val MIN_VALUE = scala.Float.MinPositiveValue - final val MAX_EXPONENT = 127 - final val MIN_EXPONENT = -126 - final val SIZE = 32 - - @inline def valueOf(floatValue: scala.Float): Float = new Float(floatValue) - - @inline def valueOf(s: String): Float = valueOf(parseFloat(s)) - - @inline def parseFloat(s: String): scala.Float = - Double.parseDouble(s).toFloat - - @inline def toString(f: scala.Float): String = - "" + f - - def compare(a: scala.Float, b: scala.Float): scala.Int = { - // NaN must equal itself, and be greater than anything else - if (isNaN(a)) { - if (isNaN(b)) 0 - else 1 - } else if (isNaN(b)) { - -1 - } else { - if (a == b) 0 - else if (a < b) -1 - else 1 - } - } - - @inline protected def equals(a: scala.Float, b: scala.Float): scala.Boolean = - a == b || (isNaN(a) && isNaN(b)) - - @inline def isNaN(v: scala.Float): scala.Boolean = - v != v - - @inline def isInfinite(v: scala.Float): scala.Boolean = - v == POSITIVE_INFINITY || v == NEGATIVE_INFINITY - - @inline def intBitsToFloat(bits: scala.Int): scala.Float = - scala.scalajs.runtime.Bits.intBitsToFloat(bits) - - @inline def floatToIntBits(value: scala.Float): scala.Int = - scala.scalajs.runtime.Bits.floatToIntBits(value) -} |