fix secondary hash code for fixnums

svn: r11399
This commit is contained in:
Matthew Flatt 2008-08-23 12:42:42 +00:00
parent c3985c706c
commit 188d8a4a98

View File

@ -1367,16 +1367,15 @@ static long equal_hash_key2(Scheme_Object *o, Hash_Info *hi)
switch(t) { switch(t) {
case scheme_integer_type: case scheme_integer_type:
return t; return t - SCHEME_INT_VAL(o);
#ifdef MZ_USE_SINGLE_FLOATS #ifdef MZ_USE_SINGLE_FLOATS
case scheme_float_type: case scheme_float_type:
return t;
#endif #endif
case scheme_double_type: case scheme_double_type:
{ {
double d; double d;
int e; int e;
d = SCHEME_DBL_VAL(o); d = SCHEME_FLOAT_VAL(o);
if (MZ_IS_NAN(d) if (MZ_IS_NAN(d)
|| MZ_IS_POS_INFINITY(d) || MZ_IS_POS_INFINITY(d)
|| MZ_IS_NEG_INFINITY(d)) { || MZ_IS_NEG_INFINITY(d)) {