mirror of
https://github.com/nim-lang/Nim.git
synced 2026-05-01 11:34:43 +00:00
@@ -2,7 +2,7 @@ discard """
|
||||
targets: "c cpp js"
|
||||
"""
|
||||
|
||||
import hashes
|
||||
import std/hashes
|
||||
|
||||
block hashes:
|
||||
block hashing:
|
||||
@@ -75,3 +75,32 @@ block largeSize: # longer than 4 characters
|
||||
doAssert hash(xx) == hash(ssl, 0, 4)
|
||||
doAssert hash(xx, 0, 3) == hash(xxl, 0, 3)
|
||||
doAssert hash(xx, 0, 3) == hash(ssl, 0, 3)
|
||||
|
||||
proc main() =
|
||||
doAssert hash(0.0) == hash(0)
|
||||
when sizeof(int) == 8:
|
||||
block:
|
||||
var s: seq[Hash]
|
||||
for a in [0.0, 1.0, -1.0, 1000.0, -1000.0]:
|
||||
let b = hash(a)
|
||||
doAssert b notin s
|
||||
s.add b
|
||||
when defined(js):
|
||||
doAssert hash(0.345602) == 2035867618
|
||||
doAssert hash(234567.45) == -20468103
|
||||
doAssert hash(-9999.283456) == -43247422
|
||||
doAssert hash(84375674.0) == 707542256
|
||||
else:
|
||||
doAssert hash(0.345602) == 387936373221941218
|
||||
doAssert hash(234567.45) == -8179139172229468551
|
||||
doAssert hash(-9999.283456) == 5876943921626224834
|
||||
doAssert hash(84375674.0) == 1964453089107524848
|
||||
else:
|
||||
doAssert hash(0.345602) != 0
|
||||
doAssert hash(234567.45) != 0
|
||||
doAssert hash(-9999.283456) != 0
|
||||
doAssert hash(84375674.0) != 0
|
||||
|
||||
|
||||
static: main()
|
||||
main()
|
||||
|
||||
Reference in New Issue
Block a user