pub fn shl_fixnum(lhs: i64, rhs: i64) -> VMResult {
    if rhs >= 0 {
        Ok(shl_fixnum_sub(lhs, rhs))
    } else {
        Ok(shr_fixnum_sub(lhs, -rhs))
    }
}
Safe arithmetic shift left operation (`lhs` << `rhs`).

# Examples

```
# use ruruby::*;
# use ruruby::arith::*;
assert_eq!(shl_fixnum(10, 10), Ok(Value::integer(10240)));
assert_eq!(shl_fixnum(10240, -10), Ok(Value::integer(10)));
```
ruruby/src/arith.rs