Macro simd_dual_op

Source
macro_rules! simd_dual_op {
    (
        $a:expr, $b:expr,
        1, 4,
        $init_expr:expr,
        $combine_expr:expr,
        $extract_expr:expr,
        $scalar_init:expr,
        $scalar_combine:expr
    ) => { ... };
}
Expand description

Generate SIMD dual-vector operations (dot product, correlation, etc.)

This macro eliminates manual loop unrolling for operations that process two input arrays simultaneously.

ยงParameters

  • $a: First input slice
  • $b: Second input slice
  • $accumulator_count: Number of SIMD accumulators
  • $chunk_size: Elements per chunk
  • $init_expr: Expression to initialize accumulators
  • $combine_expr: Expression to combine two vectors
  • $extract_expr: Expression to extract final result
  • $scalar_init: Initial value for scalar processing
  • $scalar_combine: Expression for scalar combination