static Ops ops(Object x)
{
Type xc = x.GetType();
if (xc == typeof(long))
return LONG_OPS;
else if (xc == typeof(double))
return DOUBLE_OPS;
else if (xc == typeof(int))
return LONG_OPS;
else if (xc == typeof(float))
return DOUBLE_OPS;
else if (xc == typeof(BigInt))
return BIGINT_OPS;
else if (xc == typeof(BigInteger))
return BIGINT_OPS;
else if (xc == typeof(Ratio))
return RATIO_OPS;
else if (xc == typeof(BigDecimal))
return BIGDECIMAL_OPS;
else
return LONG_OPS;
}