From 1852c0548c23974e1d5f34f2e9d49ff63e7bc267 Mon Sep 17 00:00:00 2001 From: Simon Hafner Date: Sat, 8 Sep 2012 15:15:28 -0500 Subject: [PATCH] hash() for floats --- lib/pure/hashes.nim | 4 ++++ tests/run/thashes.nim | 7 +++++++ 2 files changed, 11 insertions(+) create mode 100644 tests/run/thashes.nim diff --git a/lib/pure/hashes.nim b/lib/pure/hashes.nim index 9c086c6757..ac6d3c3ced 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 0000000000..2b418c4cdc --- /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