Ok, so I finally got down to this. A patch is attached. Maybe someone can have a look first, since I changed some some other things aswell. I think it might be good to also do some mixing for pointers, even though its quite unlikely to generate datasets where the lower 32 bits of many pointers have the same value. I was playing around with some more complex fixed width mixing functions, but my tests suggested that they perform badly when using modulo prime in hash tables. Therefore, this patch simply uses XOR. I was thinking that using hash_svalue on nan should produce an error because I dont see how nan can be used hash tables in any reasonable way. Opinions?
arne