summaryrefslogtreecommitdiff
path: root/test/files/run/t4658.scala
diff options
context:
space:
mode:
authorSimon Ochsenreither <simon@ochsenreither.de>2012-03-27 20:08:30 +0200
committerPaul Phillips <paulp@improving.org>2012-04-06 11:57:41 -0700
commite593d8b9ed6d8d98c698d0a7dc47c3341d59c357 (patch)
treefedd5df5a4592d50c46944dc12a8e3496df78c84 /test/files/run/t4658.scala
parent41c0b0b7b9bd5089e35e1bf32fbcb471a9c78641 (diff)
downloadscala-e593d8b9ed6d8d98c698d0a7dc47c3341d59c357.tar.gz
scala-e593d8b9ed6d8d98c698d0a7dc47c3341d59c357.tar.bz2
scala-e593d8b9ed6d8d98c698d0a7dc47c3341d59c357.zip
Make NumericRange# O(1) instead of O(n).
It makes me a bit nervous that NumericRange[Int] will get different wrong values in overflow situations compared to Range due to the missing toLong though. It could probably need some investigation if reordering the operations can rule out wrong values, e. g. only fail when the fold also fails. Apart from that, it might make sense to just throw an exception if an overflow happens instead of silent overflow.
Diffstat (limited to 'test/files/run/t4658.scala')
-rw-r--r--test/files/run/t4658.scala14
1 files changed, 3 insertions, 11 deletions
diff --git a/test/files/run/t4658.scala b/test/files/run/t4658.scala
index e1799fae9b..8c07c50694 100644
--- a/test/files/run/t4658.scala
+++ b/test/files/run/t4658.scala
@@ -20,22 +20,14 @@ object Test {
def numericBigIntRanges = rangeData.map(r => if (r.inclusive) NumericRange.inclusive(BigInt(r.start), BigInt(r.end), BigInt(r.step)) else NumericRange(BigInt(r.start), BigInt(r.end), BigInt(r.step)))
def main(args: Array[String]) {
- // We drop the first two tests for all ranges which don't have a decent sum implementation,
- // because it is just too slow.
println("Ranges:")
ranges.foreach{range => println(range.sum)}
println("IntRanges:")
- println("Disabled #1")
- println("Disabled #2")
- numericIntRanges.drop(2).foreach{range => println(range.sum)}
+ numericIntRanges.foreach{range => println(range.sum)}
println("LongRanges:")
- println("Disabled #1")
- println("Disabled #2")
- numericLongRanges.drop(2).foreach{range => println(range.sum)}
+ numericLongRanges.foreach{range => println(range.sum)}
println("BigIntRanges:")
- println("Disabled #1")
- println("Disabled #2")
- numericBigIntRanges.drop(2).foreach{range => println(range.sum)}
+ numericBigIntRanges.foreach{range => println(range.sum)}
}
} \ No newline at end of file