Expand description
Raw Pointer SIMD Operations for JIT
These functions operate directly on f64 data buffers with zero boxing overhead. Signature: simd_op(ptr_a: *const f64, ptr_b: *const f64, len: u64) -> *mut f64
The JIT compiler extracts Series data pointers and lengths, then calls these functions directly for maximum performance.
Functionsยง
- jit_
simd_ add - SIMD-accelerated vector addition: result[i] = a[i] + b[i] Returns a newly allocated buffer that must be freed by the caller
- jit_
simd_ add_ scalar - SIMD-accelerated scalar addition: result[i] = a[i] + scalar
- jit_
simd_ div - SIMD-accelerated vector division: result[i] = a[i] / b[i]
- jit_
simd_ div_ scalar - SIMD-accelerated scalar division: result[i] = a[i] / scalar
- jit_
simd_ eq - SIMD-accelerated equality: result[i] = (a[i] == b[i]) ? 1.0 : 0.0
- jit_
simd_ free - Free a SIMD result buffer allocated by jit_simd_* functions
- jit_
simd_ gt - SIMD-accelerated greater-than: result[i] = (a[i] > b[i]) ? 1.0 : 0.0
- jit_
simd_ gte - SIMD-accelerated greater-than-or-equal: result[i] = (a[i] >= b[i]) ? 1.0 : 0.0
- jit_
simd_ lt - SIMD-accelerated less-than: result[i] = (a[i] < b[i]) ? 1.0 : 0.0
- jit_
simd_ lte - SIMD-accelerated less-than-or-equal: result[i] = (a[i] <= b[i]) ? 1.0 : 0.0
- jit_
simd_ max - SIMD-accelerated element-wise max: result[i] = max(a[i], b[i])
- jit_
simd_ min - SIMD-accelerated element-wise min: result[i] = min(a[i], b[i])
- jit_
simd_ mul - SIMD-accelerated vector multiplication: result[i] = a[i] * b[i]
- jit_
simd_ mul_ scalar - SIMD-accelerated scalar multiplication: result[i] = a[i] * scalar
- jit_
simd_ neq - SIMD-accelerated inequality: result[i] = (a[i] != b[i]) ? 1.0 : 0.0
- jit_
simd_ sub - SIMD-accelerated vector subtraction: result[i] = a[i] - b[i]
- jit_
simd_ sub_ scalar - SIMD-accelerated scalar subtraction: result[i] = a[i] - scalar