331 |
if (arg->exprType() == REAL_EXPR) { |
if (arg->exprType() == REAL_EXPR) { |
332 |
VMRealExpr* expr = arg->asReal(); |
VMRealExpr* expr = arg->asReal(); |
333 |
return successRealResult({ |
return successRealResult({ |
334 |
.value = ::fabs(expr->evalReal()), |
.value = static_cast<vmfloat>(::fabs(expr->evalReal())), |
335 |
.unitFactor = expr->unitFactor() |
.unitFactor = expr->unitFactor() |
336 |
}); |
}); |
337 |
} else { |
} else { |
338 |
VMIntExpr* expr = arg->asInt(); |
VMIntExpr* expr = arg->asInt(); |
339 |
return successIntResult({ |
return successIntResult({ |
340 |
.value = ::abs(expr->evalInt()), |
.value = std::abs(expr->evalInt()), |
341 |
.unitFactor = expr->unitFactor() |
.unitFactor = expr->unitFactor() |
342 |
}); |
}); |
343 |
} |
} |
1546 |
}); |
}); |
1547 |
} else { |
} else { |
1548 |
return successResult({ |
return successResult({ |
1549 |
.value = ::pow(a,b), |
.value = static_cast<vmfloat>(::pow(a,b)), |
1550 |
.unitFactor = arg0->unitFactor() |
.unitFactor = arg0->unitFactor() |
1551 |
}); |
}); |
1552 |
} |
} |