From 0c9c1c013e9060ccafca9ac4c22031e687b6c984 Mon Sep 17 00:00:00 2001 From: cooldome Date: Sun, 29 Apr 2018 22:57:05 +0100 Subject: Add a test --- tests/float/tfloatrange.nim | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 tests/float/tfloatrange.nim (limited to 'tests/float') 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" + + -- cgit 1.4.1-2-gfad0