method
hash
v1_9_1_378 -
Show latest stable
-
0 notes -
Class: BigDecimal
- 1_8_6_287
- 1_8_7_72
- 1_8_7_330
- 1_9_1_378 (0)
- 1_9_2_180 (0)
- 1_9_3_125 (0)
- 1_9_3_392 (0)
- 2_1_10 (38)
- 2_2_9 (0)
- 2_4_6 (0)
- 2_5_5 (0)
- 2_6_3 (0)
- What's this?
hash()
public
Hide source
static VALUE BigDecimal_hash(VALUE self) { ENTER(1); Real *p; U_LONG hash,i; GUARD_OBJ(p,GetVpValue(self,1)); hash = (U_LONG)p->sign; /* hash!=2: the case for 0(1),NaN(0) or +-Infinity(3) is sign itself */ if(hash==2) { for(i = 0; i < p->Prec;i++) { hash = 31 * hash + p->frac[i]; hash ^= p->frac[i]; } hash += p->exponent; } return INT2FIX(hash); }