MCPcopy Create free account
hub / github.com/GaijinEntertainment/daScript / das_context_eval_lambda_unaligned

Function das_context_eval_lambda_unaligned

src/misc/daScriptC.cpp:346–361  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

344}
345
346void das_context_eval_lambda_unaligned ( das_context * context, das_lambda * lambda, vec4f_unaligned * arguments, int narguments, vec4f_unaligned * result ) {
347 vec4f * args = nullptr;
348 if ( narguments ) {
349 if ( intptr_t(arguments) & 0xf ) {
350 args = (vec4f *) alloca(narguments * sizeof(vec4f));
351 DAS_ASSERT((intptr_t(args) & 0xf) == 0);
352 for ( int i=0; i!=narguments; ++i ) {
353 args[i] = v_ldu((const float *)(arguments + i));
354 }
355 } else {
356 args = (vec4f *) arguments;
357 }
358 }
359 vec4f res = das_context_eval_lambda(context, lambda, args);
360 v_stu((float *)result, res);
361}
362
363void das_context_eval_lambda_cmres ( das_context * context, das_lambda * lambda, vec4f * arguments, void * cmres ) {
364 SimFunction ** fnpp = (SimFunction **) lambda;

Callers

nothing calls this directly

Calls 3

das_context_eval_lambdaFunction · 0.85
v_lduFunction · 0.50
v_stuFunction · 0.50

Tested by

no test coverage detected