diff options
Diffstat (limited to 'src/library')
-rw-r--r-- | src/library/scala/collection/mutable/StringBuilder.scala | 8 | ||||
-rw-r--r-- | src/library/scala/concurrent/duration/package.scala | 14 | ||||
-rw-r--r-- | src/library/scala/io/BufferedSource.scala | 2 | ||||
-rw-r--r-- | src/library/scala/math/BigDecimal.scala | 10 | ||||
-rw-r--r-- | src/library/scala/math/BigInt.scala | 4 | ||||
-rw-r--r-- | src/library/scala/math/Numeric.scala | 18 | ||||
-rw-r--r-- | src/library/scala/math/package.scala | 32 | ||||
-rwxr-xr-x | src/library/scala/reflect/NameTransformer.scala | 8 | ||||
-rw-r--r-- | src/library/scala/runtime/RichFloat.scala | 8 | ||||
-rw-r--r-- | src/library/scala/runtime/WorksheetSupport.scala | 2 | ||||
-rw-r--r-- | src/library/scala/util/MurmurHash.scala | 2 | ||||
-rw-r--r-- | src/library/scala/util/hashing/MurmurHash3.scala | 2 | ||||
-rw-r--r-- | src/library/scala/util/parsing/json/Parser.scala | 2 | ||||
-rw-r--r-- | src/library/scala/xml/include/sax/XIncluder.scala | 2 | ||||
-rw-r--r-- | src/library/scala/xml/persistent/CachedFileStorage.scala | 2 |
15 files changed, 63 insertions, 53 deletions
diff --git a/src/library/scala/collection/mutable/StringBuilder.scala b/src/library/scala/collection/mutable/StringBuilder.scala index cfabd9171c..498e9e461e 100644 --- a/src/library/scala/collection/mutable/StringBuilder.scala +++ b/src/library/scala/collection/mutable/StringBuilder.scala @@ -256,8 +256,8 @@ final class StringBuilder(private val underlying: JavaStringBuilder) * @return This StringBuilder. */ def append(x: Boolean): StringBuilder = { underlying append x ; this } - def append(x: Byte): StringBuilder = { underlying append x ; this } - def append(x: Short): StringBuilder = { underlying append x ; this } + def append(x: Byte): StringBuilder = append(x.toInt) + def append(x: Short): StringBuilder = append(x.toInt) def append(x: Int): StringBuilder = { underlying append x ; this } def append(x: Long): StringBuilder = { underlying append x ; this } def append(x: Float): StringBuilder = { underlying append x ; this } @@ -360,8 +360,8 @@ final class StringBuilder(private val underlying: JavaStringBuilder) * @return this StringBuilder. */ def insert(index: Int, x: Boolean): StringBuilder = insert(index, String.valueOf(x)) - def insert(index: Int, x: Byte): StringBuilder = insert(index, String.valueOf(x)) - def insert(index: Int, x: Short): StringBuilder = insert(index, String.valueOf(x)) + def insert(index: Int, x: Byte): StringBuilder = insert(index, x.toInt) + def insert(index: Int, x: Short): StringBuilder = insert(index, x.toInt) def insert(index: Int, x: Int): StringBuilder = insert(index, String.valueOf(x)) def insert(index: Int, x: Long): StringBuilder = insert(index, String.valueOf(x)) def insert(index: Int, x: Float): StringBuilder = insert(index, String.valueOf(x)) diff --git a/src/library/scala/concurrent/duration/package.scala b/src/library/scala/concurrent/duration/package.scala index 2fd735f19e..b32d2b20cb 100644 --- a/src/library/scala/concurrent/duration/package.scala +++ b/src/library/scala/concurrent/duration/package.scala @@ -36,12 +36,12 @@ package object duration { final val NANOSECONDS = java.util.concurrent.TimeUnit.NANOSECONDS final val SECONDS = java.util.concurrent.TimeUnit.SECONDS - implicit def pairIntToDuration(p: (Int, TimeUnit)): Duration = Duration(p._1, p._2) + implicit def pairIntToDuration(p: (Int, TimeUnit)): Duration = Duration(p._1.toLong, p._2) implicit def pairLongToDuration(p: (Long, TimeUnit)): FiniteDuration = Duration(p._1, p._2) implicit def durationToPair(d: Duration): (Long, TimeUnit) = (d.length, d.unit) implicit final class DurationInt(val n: Int) extends AnyVal with DurationConversions { - override protected def durationIn(unit: TimeUnit): FiniteDuration = Duration(n, unit) + override protected def durationIn(unit: TimeUnit): FiniteDuration = Duration(n.toLong, unit) } implicit final class DurationLong(val n: Long) extends AnyVal with DurationConversions { @@ -60,16 +60,16 @@ package object duration { * Avoid reflection based invocation by using non-duck type */ implicit final class IntMult(val i: Int) extends AnyVal { - def *(d: Duration) = d * i - def *(d: FiniteDuration) = d * i + def *(d: Duration) = d * i.toDouble + def *(d: FiniteDuration) = d * i.toLong } implicit final class LongMult(val i: Long) extends AnyVal { - def *(d: Duration) = d * i - def *(d: FiniteDuration) = d * i + def *(d: Duration) = d * i.toDouble + def *(d: FiniteDuration) = d * i.toLong } implicit final class DoubleMult(val f: Double) extends AnyVal { - def *(d: Duration) = d * f + def *(d: Duration) = d * f.toDouble } } diff --git a/src/library/scala/io/BufferedSource.scala b/src/library/scala/io/BufferedSource.scala index e250da27c3..c170d28127 100644 --- a/src/library/scala/io/BufferedSource.scala +++ b/src/library/scala/io/BufferedSource.scala @@ -55,7 +55,7 @@ class BufferedSource(inputStream: InputStream, bufferSize: Int)(implicit val cod // immediately on the source. if (charReaderCreated && iter.hasNext) { val pb = new PushbackReader(charReader) - pb unread iter.next() + pb unread iter.next().toInt new BufferedReader(pb, bufferSize) } else charReader diff --git a/src/library/scala/math/BigDecimal.scala b/src/library/scala/math/BigDecimal.scala index f75cfad882..00a3686585 100644 --- a/src/library/scala/math/BigDecimal.scala +++ b/src/library/scala/math/BigDecimal.scala @@ -44,6 +44,7 @@ object BigDecimal { */ def valueOf(d: Double): BigDecimal = apply(BigDec valueOf d) def valueOf(d: Double, mc: MathContext): BigDecimal = apply(BigDec valueOf d, mc) + def valueOf(x: Long): BigDecimal = apply(x.toDouble) /** Constructs a `BigDecimal` whose value is equal to that of the * specified `Integer` value. @@ -56,10 +57,10 @@ object BigDecimal { if (mc == defaultMathContext && minCached <= i && i <= maxCached) { val offset = i - minCached var n = cache(offset) - if (n eq null) { n = new BigDecimal(BigDec.valueOf(i), mc); cache(offset) = n } + if (n eq null) { n = new BigDecimal(BigDec.valueOf(i.toLong), mc); cache(offset) = n } n } - else new BigDecimal(BigDec.valueOf(i), mc) + else new BigDecimal(BigDec.valueOf(i.toLong), mc) /** Constructs a `BigDecimal` whose value is equal to that of the * specified long value. @@ -99,6 +100,9 @@ object BigDecimal { def apply(d: Double, mc: MathContext): BigDecimal = new BigDecimal(new BigDec(jl.Double.toString(d), mc), mc) + def apply(x: Float): BigDecimal = apply(x.toDouble) + def apply(x: Float, mc: MathContext): BigDecimal = apply(x.toDouble, mc) + /** Translates a character array representation of a `BigDecimal` * into a `BigDecimal`. */ @@ -193,7 +197,7 @@ extends ScalaNumber with ScalaNumericConversions with Serializable { */ def isValidFloat = { val f = toFloat - !f.isInfinity && bigDecimal.compareTo(new java.math.BigDecimal(f)) == 0 + !f.isInfinity && bigDecimal.compareTo(new java.math.BigDecimal(f.toDouble)) == 0 } /** Returns `true` iff this can be represented exactly by [[scala.Double]]; otherwise returns `false`. */ diff --git a/src/library/scala/math/BigInt.scala b/src/library/scala/math/BigInt.scala index 4673aa5d48..afc4d5c535 100644 --- a/src/library/scala/math/BigInt.scala +++ b/src/library/scala/math/BigInt.scala @@ -34,9 +34,9 @@ object BigInt { if (minCached <= i && i <= maxCached) { val offset = i - minCached var n = cache(offset) - if (n eq null) { n = new BigInt(BigInteger.valueOf(i)); cache(offset) = n } + if (n eq null) { n = new BigInt(BigInteger.valueOf(i.toLong)); cache(offset) = n } n - } else new BigInt(BigInteger.valueOf(i)) + } else new BigInt(BigInteger.valueOf(i.toLong)) /** Constructs a `BigInt` whose value is equal to that of the * specified long value. diff --git a/src/library/scala/math/Numeric.scala b/src/library/scala/math/Numeric.scala index cb9f9deb70..e6644c0dfc 100644 --- a/src/library/scala/math/Numeric.scala +++ b/src/library/scala/math/Numeric.scala @@ -51,9 +51,9 @@ object Numeric { def negate(x: Int): Int = -x def fromInt(x: Int): Int = x def toInt(x: Int): Int = x - def toLong(x: Int): Long = x - def toFloat(x: Int): Float = x - def toDouble(x: Int): Double = x + def toLong(x: Int): Long = x.toLong + def toFloat(x: Int): Float = x.toFloat + def toDouble(x: Int): Double = x.toDouble } implicit object IntIsIntegral extends IntIsIntegral with Ordering.IntOrdering @@ -109,11 +109,11 @@ object Numeric { def quot(x: Long, y: Long): Long = x / y def rem(x: Long, y: Long): Long = x % y def negate(x: Long): Long = -x - def fromInt(x: Int): Long = x + def fromInt(x: Int): Long = x.toLong def toInt(x: Long): Int = x.toInt def toLong(x: Long): Long = x - def toFloat(x: Long): Float = x - def toDouble(x: Long): Double = x + def toFloat(x: Long): Float = x.toFloat + def toDouble(x: Long): Double = x.toDouble } implicit object LongIsIntegral extends LongIsIntegral with Ordering.LongOrdering @@ -122,11 +122,11 @@ object Numeric { def minus(x: Float, y: Float): Float = x - y def times(x: Float, y: Float): Float = x * y def negate(x: Float): Float = -x - def fromInt(x: Int): Float = x + def fromInt(x: Int): Float = x.toFloat def toInt(x: Float): Int = x.toInt def toLong(x: Float): Long = x.toLong def toFloat(x: Float): Float = x - def toDouble(x: Float): Double = x + def toDouble(x: Float): Double = x.toDouble } trait FloatIsFractional extends FloatIsConflicted with Fractional[Float] { def div(x: Float, y: Float): Float = x / y @@ -144,7 +144,7 @@ object Numeric { def minus(x: Double, y: Double): Double = x - y def times(x: Double, y: Double): Double = x * y def negate(x: Double): Double = -x - def fromInt(x: Int): Double = x + def fromInt(x: Int): Double = x.toDouble def toInt(x: Double): Int = x.toInt def toLong(x: Double): Long = x.toLong def toFloat(x: Double): Float = x.toFloat diff --git a/src/library/scala/math/package.scala b/src/library/scala/math/package.scala index cb033bda2c..fc85bfdc28 100644 --- a/src/library/scala/math/package.scala +++ b/src/library/scala/math/package.scala @@ -62,7 +62,7 @@ package object math { def sqrt(x: Double): Double = java.lang.Math.sqrt(x) def IEEEremainder(x: Double, y: Double): Double = java.lang.Math.IEEEremainder(x, y) - def ceil(x: Double): Double = java.lang.Math.ceil(x) + def ceil(x: Double): Double = java.lang.Math.ceil(x) def floor(x: Double): Double = java.lang.Math.floor(x) /** Returns the `double` value that is closest in value to the @@ -100,24 +100,30 @@ package object math { */ def round(x: Float): Int = java.lang.Math.round(x) def round(x: Double): Long = java.lang.Math.round(x) - def abs(x: Int): Int = java.lang.Math.abs(x) - def abs(x: Long): Long = java.lang.Math.abs(x) - def abs(x: Float): Float = java.lang.Math.abs(x) + + def abs(x: Int): Int = java.lang.Math.abs(x) + def abs(x: Long): Long = java.lang.Math.abs(x) + def abs(x: Float): Float = java.lang.Math.abs(x) def abs(x: Double): Double = java.lang.Math.abs(x) - def max(x: Int, y: Int): Int = java.lang.Math.max(x, y) - def max(x: Long, y: Long): Long = java.lang.Math.max(x, y) - def max(x: Float, y: Float): Float = java.lang.Math.max(x, y) + def max(x: Int, y: Int): Int = java.lang.Math.max(x, y) + def max(x: Long, y: Long): Long = java.lang.Math.max(x, y) + def max(x: Float, y: Float): Float = java.lang.Math.max(x, y) def max(x: Double, y: Double): Double = java.lang.Math.max(x, y) - def min(x: Int, y: Int): Int = java.lang.Math.min(x, y) - def min(x: Long, y: Long): Long = java.lang.Math.min(x, y) - def min(x: Float, y: Float): Float = java.lang.Math.min(x, y) + def min(x: Int, y: Int): Int = java.lang.Math.min(x, y) + def min(x: Long, y: Long): Long = java.lang.Math.min(x, y) + def min(x: Float, y: Float): Float = java.lang.Math.min(x, y) def min(x: Double, y: Double): Double = java.lang.Math.min(x, y) - def signum(x: Int): Int = java.lang.Integer.signum(x) - def signum(x: Long): Long = java.lang.Long.signum(x) - def signum(x: Float): Float = java.lang.Math.signum(x) + /** Note that these are not pure forwarders to the java versions. + * In particular, the return type of java.lang.Long.signum is Int, + * but here it is widened to Long so that each overloaded variant + * will return the same numeric type it is passed. + */ + def signum(x: Int): Int = java.lang.Integer.signum(x) + def signum(x: Long): Long = java.lang.Long.signum(x) + def signum(x: Float): Float = java.lang.Math.signum(x) def signum(x: Double): Double = java.lang.Math.signum(x) // ----------------------------------------------------------------------- diff --git a/src/library/scala/reflect/NameTransformer.scala b/src/library/scala/reflect/NameTransformer.scala index 6192971c74..a8430548f5 100755 --- a/src/library/scala/reflect/NameTransformer.scala +++ b/src/library/scala/reflect/NameTransformer.scala @@ -30,9 +30,9 @@ object NameTransformer { private val op2code = new Array[String](nops) private val code2op = new Array[OpCodes](ncodes) private def enterOp(op: Char, code: String) = { - op2code(op) = code + op2code(op.toInt) = code val c = (code.charAt(1) - 'a') * 26 + code.charAt(2) - 'a' - code2op(c) = new OpCodes(op, code, code2op(c)) + code2op(c.toInt) = new OpCodes(op, code, code2op(c)) } /* Note: decoding assumes opcodes are only ever lowercase. */ @@ -66,12 +66,12 @@ object NameTransformer { var i = 0 while (i < len) { val c = name charAt i - if (c < nops && (op2code(c) ne null)) { + if (c < nops && (op2code(c.toInt) ne null)) { if (buf eq null) { buf = new StringBuilder() buf.append(name.substring(0, i)) } - buf.append(op2code(c)) + buf.append(op2code(c.toInt)) /* Handle glyphs that are not valid Java/JVM identifiers */ } else if (!Character.isJavaIdentifierPart(c)) { diff --git a/src/library/scala/runtime/RichFloat.scala b/src/library/scala/runtime/RichFloat.scala index cb0681bc19..0bca033b7b 100644 --- a/src/library/scala/runtime/RichFloat.scala +++ b/src/library/scala/runtime/RichFloat.scala @@ -15,22 +15,22 @@ final class RichFloat(val self: Float) extends AnyVal with FractionalProxy[Float protected def integralNum = scala.math.Numeric.FloatAsIfIntegral def round: Int = math.round(self) - def ceil: Float = math.ceil(self).toFloat - def floor: Float = math.floor(self).toFloat + def ceil: Float = math.ceil(self.toDouble).toFloat + def floor: Float = math.floor(self.toDouble).toFloat /** Converts an angle measured in degrees to an approximately equivalent * angle measured in radians. * * @return the measurement of the angle `x` in radians. */ - def toRadians: Float = math.toRadians(self).toFloat + def toRadians: Float = math.toRadians(self.toDouble).toFloat /** Converts an angle measured in radians to an approximately equivalent * angle measured in degrees. * * @return the measurement of the angle `x` in degrees. */ - def toDegrees: Float = math.toDegrees(self).toFloat + def toDegrees: Float = math.toDegrees(self.toDouble).toFloat // isNaN is provided by the implicit conversion to java.lang.Float // def isNaN: Boolean = java.lang.Float.isNaN(self) diff --git a/src/library/scala/runtime/WorksheetSupport.scala b/src/library/scala/runtime/WorksheetSupport.scala index 016a0d04e0..2a0064494b 100644 --- a/src/library/scala/runtime/WorksheetSupport.scala +++ b/src/library/scala/runtime/WorksheetSupport.scala @@ -21,7 +21,7 @@ object WorksheetSupport { private var lastFlush: Long = 0L private var col = -1 override def write(b: Array[Byte], off: Int, len: Int) = { - for (idx <- off until (off + len min b.length)) writeOne(b(idx)) + for (idx <- off until (off + len min b.length)) writeOne(b(idx).toInt) flush() } override def write(c: Int) { diff --git a/src/library/scala/util/MurmurHash.scala b/src/library/scala/util/MurmurHash.scala index 6b306211dc..e05fe0875b 100644 --- a/src/library/scala/util/MurmurHash.scala +++ b/src/library/scala/util/MurmurHash.scala @@ -172,7 +172,7 @@ object MurmurHash { k = nextMagicB(k) j += 2 } - if (j < s.length) h = extendHash(h,s.charAt(j),c,k) + if (j < s.length) h = extendHash(h,s.charAt(j).toInt,c,k) finalizeHash(h) } diff --git a/src/library/scala/util/hashing/MurmurHash3.scala b/src/library/scala/util/hashing/MurmurHash3.scala index af0b12d8ba..c85664349e 100644 --- a/src/library/scala/util/hashing/MurmurHash3.scala +++ b/src/library/scala/util/hashing/MurmurHash3.scala @@ -77,7 +77,7 @@ private[hashing] class MurmurHash3 { h = mix(h, data) i += 2 } - if (i < str.length) h = mixLast(h, str.charAt(i)) + if (i < str.length) h = mixLast(h, str.charAt(i).toInt) finalizeHash(h, str.length) } diff --git a/src/library/scala/util/parsing/json/Parser.scala b/src/library/scala/util/parsing/json/Parser.scala index d727f72915..521dfc6612 100644 --- a/src/library/scala/util/parsing/json/Parser.scala +++ b/src/library/scala/util/parsing/json/Parser.scala @@ -83,7 +83,7 @@ object JSONFormat { * Per RFC4627, section 2.5, we're not technically required to * encode the C1 codes, but we do to be safe. */ - case c if ((c >= '\u0000' && c <= '\u001f') || (c >= '\u007f' && c <= '\u009f')) => "\\u%04x".format(c: Int) + case c if ((c >= '\u0000' && c <= '\u001f') || (c >= '\u007f' && c <= '\u009f')) => "\\u%04x".format(c.toInt) case c => c }.mkString } diff --git a/src/library/scala/xml/include/sax/XIncluder.scala b/src/library/scala/xml/include/sax/XIncluder.scala index 531b7196f2..1939fa1875 100644 --- a/src/library/scala/xml/include/sax/XIncluder.scala +++ b/src/library/scala/xml/include/sax/XIncluder.scala @@ -95,7 +95,7 @@ class XIncluder(outs: OutputStream, encoding: String) extends ContentHandler wit // However, it is required if text contains ]]> // (The end CDATA section delimiter) else if (c == '>') out.write(">") - else out.write(c) + else out.write(c.toInt) i += 1 } } diff --git a/src/library/scala/xml/persistent/CachedFileStorage.scala b/src/library/scala/xml/persistent/CachedFileStorage.scala index 57d512a041..a1489ef3f4 100644 --- a/src/library/scala/xml/persistent/CachedFileStorage.scala +++ b/src/library/scala/xml/persistent/CachedFileStorage.scala @@ -112,7 +112,7 @@ abstract class CachedFileStorage(private val file1: File) extends Thread { override def run = { log("[run]\nstarting storage thread, checking every "+interval+" ms") while (true) { - Thread.sleep( this.interval ) + Thread.sleep( this.interval.toLong ) save() } } |