diff options
author | Simon Ochsenreither <simon@ochsenreither.de> | 2012-03-27 20:08:30 +0200 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2012-04-06 11:57:41 -0700 |
commit | e593d8b9ed6d8d98c698d0a7dc47c3341d59c357 (patch) | |
tree | fedd5df5a4592d50c46944dc12a8e3496df78c84 /test/files/run/t4658.scala | |
parent | 41c0b0b7b9bd5089e35e1bf32fbcb471a9c78641 (diff) | |
download | scala-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.scala | 14 |
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 |