pack.c:323
static I32
num2i32(x)
    VALUE x;
{
    long num = NUM2LONG(x);

    if (num < I32_MIN || I32_MAX < num) {
	rb_raise(rb_eRangeError, "integer %ld too big to convert to `I32'", num);
    }
    return (I32)num;
}
