public void NumericOperation(Func<BigInteger, BigInteger, object> intInt, Func<double, double, object> doubleDouble)
{
var item2 = ScliptingUtil.ToNumeric(Pop());
var item1 = ScliptingUtil.ToNumeric(Pop());
if (item1 is double)
{
if (item2 is double)
CurrentStack.Add(doubleDouble((double) item1, (double) item2));
else
CurrentStack.Add(doubleDouble((double) item1, (double) (BigInteger) item2));
}
else
{
if (item2 is double)
CurrentStack.Add(doubleDouble((double) (BigInteger) item1, (double) item2));
else
CurrentStack.Add(intInt((BigInteger) item1, (BigInteger) item2));
}
}