MCPcopy Create free account
hub / github.com/pydata/numexpr / VEC_ARG3_ALIGNED

Function VEC_ARG3_ALIGNED

code_generators/interp_generator.py:413–433  ·  view source on GitHub ↗
(expr: str)

Source from the content-addressed store, hash-verified

411'''.replace('EXPR', expr)
412
413def VEC_ARG3_ALIGNED(expr: str) -> str:
414 return '''
415{
416 NE_REGISTER store_in = params->program[pc].ret;
417 NE_REGISTER arg1 = params->program[pc].arg1;
418 NE_REGISTER arg2 = params->program[pc].arg2;
419 NE_REGISTER arg3 = params->program[pc].arg3;
420
421 BOUNDS_CHECK(store_in);
422 BOUNDS_CHECK(arg1);
423 BOUNDS_CHECK(arg2);
424 BOUNDS_CHECK(arg3);
425
426 char *dest = params->registers[store_in].mem;
427 char *x1 = params->registers[arg1].mem;
428 char *x2 = params->registers[arg2].mem;
429 char *x3 = params->registers[arg3].mem;
430 EXPR;
431 return 0;
432}
433'''.replace('EXPR', expr)
434VEC_ARGN_ALIGNED = {0: VEC_ARG0_ALIGNED, 1: VEC_ARG1_ALIGNED, 2: VEC_ARG2_ALIGNED, 3: VEC_ARG3_ALIGNED}
435
436# Strided expressions can iterate over non-unity steps, i.e. 2,4,3,

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…