/*
* call-seq:
* fix << count => integer
*
* Shifts _fix_ left _count_ positions (right if _count_ is negative).
*/
static VALUE
rb_fix_lshift(x, y)
VALUE x, y;
{
long val, width;
val = NUM2LONG(x);
if (!FIXNUM_P(y))
return rb_big_lshift(rb_int2big(val), y);
width = FIX2LONG(y);
if (width < 0)
return fix_rshift(val, (unsigned long)-width);
return fix_lshift(val, width);
}