summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rwxr-xr-xlib/pure/hashes.nim4
-rw-r--r--tests/run/thashes.nim7
2 files changed, 11 insertions, 0 deletions
diff --git a/lib/pure/hashes.nim b/lib/pure/hashes.nim
index 9c086c675..ac6d3c3ce 100755
--- a/lib/pure/hashes.nim
+++ b/lib/pure/hashes.nim
@@ -122,3 +122,7 @@ proc hash*[T: tuple](x: T): THash =
     result = result !& hash(f)
   result = !$result
 
+proc hash*(x: float): THash {.inline.} =
+  var y = x + 1.0
+  result = cast[ptr THash](addr(y))[]
+
diff --git a/tests/run/thashes.nim b/tests/run/thashes.nim
new file mode 100644
index 000000000..2b418c4cd
--- /dev/null
+++ b/tests/run/thashes.nim
@@ -0,0 +1,7 @@
+import unittest
+import hashes
+
+suite "hashes":
+  suite "hashing":
+    test "0.0 and -0.0 should have the same hash value":
+      check hash(0.0) == hash(-0.0)
\ No newline at end of file