MCPcopy Create free account
hub / github.com/HaxeFoundation/hxcpp / doRun

Method doRun

src/hx/cppia/Cppia.cpp:4458–4477  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

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); }

Callers

nothing calls this directly

Calls 4

GetFloatAlignedFunction · 0.85
DoubleModFunction · 0.85
SetFloatAlignedFunction · 0.85
runFloatMethod · 0.45

Tested by

no test coverage detected