diff options
author | cooldome <ariabushenko@bk.ru> | 2018-04-29 22:57:05 +0100 |
---|---|---|
committer | cooldome <ariabushenko@bk.ru> | 2018-04-29 22:57:05 +0100 |
commit | 0c9c1c013e9060ccafca9ac4c22031e687b6c984 (patch) | |
tree | 4d3d6e04ae806e1133977d0e74b0ac1f54d275df /tests/float | |
parent | e2a4a43acc98743d0d2d4db1f9478f2582507dcf (diff) | |
download | Nim-0c9c1c013e9060ccafca9ac4c22031e687b6c984.tar.gz |
Add a test
Diffstat (limited to 'tests/float')
-rw-r--r-- | tests/float/tfloatrange.nim | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/tests/float/tfloatrange.nim b/tests/float/tfloatrange.nim new file mode 100644 index 000000000..56aaf7450 --- /dev/null +++ b/tests/float/tfloatrange.nim @@ -0,0 +1,37 @@ +discard """ + cmd: "nim c -d:release --rangeChecks:on $file" + output: '''StrictPositiveRange +float +range fail expected +''' +""" +import math, fenv + +type + Positive = range[0.0..Inf] + StrictPositive = range[minimumPositiveValue(float)..Inf] + Negative32 = range[-maximumPositiveValue(float32) .. -1.0'f32] + +proc myoverload(x: float) = + echo "float" + +proc myoverload(x: Positive) = + echo "PositiveRange" + +proc myoverload(x: StrictPositive) = + echo "StrictPositiveRange" + + +let x = 9.0.StrictPositive +myoverload(x) +myoverload(9.0) + +doAssert(sqrt(x) == 3.0) + +var z = -10.0 +try: + myoverload(StrictPositive(z)) +except: + echo "range fail expected" + + |