void executeMultiplyIntDbl(Executer &executer) { auto rhs = executer.topDbl(); executer.pop(); auto lhs = executer.topIntAsDbl(); multiplyAndCheckResult(executer, lhs, rhs); }
void executeExponentialIntDbl(Executer &executer) { auto y = executer.topDbl(); executer.pop(); auto x = executer.topIntAsDbl(); calculatePowerDblDbl(executer, x, y); }
void executeCvtDbl(Executer &executer) { executer.setTop(executer.topIntAsDbl()); }
void executeSubtractDblInt(Executer &executer) { auto rhs = executer.topIntAsDbl(); executer.pop(); executer.setTop(executer.topDbl() - rhs); }
void executeAddDblInt(Executer &executer) { auto rhs = executer.topIntAsDbl(); executer.pop(); executer.setTop(executer.topDbl() + rhs); }
void executeModuloIntDbl(Executer &executer) { auto rhs = popDoubleDivisor(executer); auto lhs = executer.topIntAsDbl(); executer.setTop(std::fmod(lhs, rhs)); }
void executeDivideIntDbl(Executer &executer) { auto rhs = popDoubleDivisor(executer); auto lhs = executer.topIntAsDbl(); divideAndCheckResult(executer, lhs, rhs); }
void executeMultiplyDblInt(Executer &executer) { auto rhs = executer.topIntAsDbl(); doDoubleMultiply(executer, rhs); }