Hi,
I've replaced 5.6.53 with 5.6.54. There are just two changes:
* Portability to big-endian machines (PPC, SPARC, many RISC processors)
* Fixed CHR, which relied on undocumented `features' of
previous hash_term/2.
Enjoy --- Jan
P.s. Hash values are now platform independent. Both 32/64 bit and
big/little endian. String hashing on little-endian machines is
a lot (2x) faster though. Fortunately there are not that many programs
where string hashing takes a significant part of the CPU time.
P.s. Tom, you can of course get the old behaviour using
hash(Term, Hash) :-
( integer(Term)
-> Hash = Term
; hash_term(Term, Hash)
).
I think the new implementation is better as it guarantees proper
distribution when hashing integers that have some pattern.
P.s. I think hash_term/2 should be called term_hash/2. Cf. term_variables
and argument order. I'm a bit reluctant to change it though.
------------
For further info, please visit
http://www.swi-prolog.org/To unsubscribe, send a plaintext mail with "unsubscribe prolog <e-mail>"
in its body to
majordomo@...