hash()
public
Generate a hash value such that two ranges
with the same start and end points, and the
same value for the “exclude end” flag, generate the same hash value.
Show source
static VALUE
range_hash(VALUE range)
{
long hash = EXCL(range);
VALUE v;
v = rb_hash(RANGE_BEG(range));
hash ^= v << 1;
v = rb_hash(RANGE_END(range));
hash ^= v << 9;
hash ^= EXCL(range) << 24;
return LONG2FIX(hash);
}