@JRubyMethod(name = "*", required = 1)
public IRubyObject op_mul(ThreadContext context, IRubyObject other) {
Ruby runtime = context.getRuntime();
if (other instanceof RubyFixnum) {
BigInteger result = value.multiply(fix2big(((RubyFixnum) other)));
return result.signum() == 0 ? RubyFixnum.zero(runtime) : new RubyBignum(runtime, result);
}
if (other instanceof RubyBignum) {
BigInteger result = value.multiply(((RubyBignum)other).value);
return result.signum() == 0 ? RubyFixnum.zero(runtime) : new RubyBignum(runtime, result);
} else return opMulOther(context, other);