| 4456 | const char *getName() HXCPP_OVERRIDE { return "MemStackFloatSetter"; } |
| 4457 | |
| 4458 | inline Float doRun(CppiaCtx *ctx) |
| 4459 | { |
| 4460 | Float v = value->runFloat(ctx); |
| 4461 | BCR_CHECK; |
| 4462 | |
| 4463 | void *ptr = (char*)ctx->frame + offset; |
| 4464 | switch(op) |
| 4465 | { |
| 4466 | case aoAdd: v = GetFloatAligned(ptr) + v; break; |
| 4467 | case aoMult: v = GetFloatAligned(ptr) * v; break; |
| 4468 | case aoDiv: v = GetFloatAligned(ptr) / v; break; |
| 4469 | case aoSub: v = GetFloatAligned(ptr) - v; break; |
| 4470 | case aoAnd: v = GetFloatAligned(ptr) && v; break; |
| 4471 | case aoOr: v = GetFloatAligned(ptr) || v; break; |
| 4472 | case aoMod: v = hx::DoubleMod( GetFloatAligned(ptr), v); break; |
| 4473 | default: ; |
| 4474 | } |
| 4475 | SetFloatAligned(ptr, v); |
| 4476 | return v; |
| 4477 | } |
| 4478 | |
| 4479 | |
| 4480 | void runVoid(CppiaCtx *ctx) HXCPP_OVERRIDE { doRun(ctx); } |
nothing calls this directly
no test coverage detected