pub fn batched_outer_product_into<D, A, B, OpA, OpB>(
dest: &mut StridedViewMut<'_, D>,
lhs: &StridedView<'_, A, OpA>,
rhs: &StridedView<'_, B, OpB>,
lhs_free_ndim: usize,
rhs_free_ndim: usize,
) -> Result<(), StridedError>where
D: Copy + MaybeSendSync + 'static,
A: Copy + MaybeSendSync + Mul<B, Output = D> + 'static,
B: Copy + MaybeSendSync + 'static,
OpA: ElementOp<A>,
OpB: ElementOp<B>,Expand description
Compute dest[lhs_free..., rhs_free..., batch...] = lhs[lhs_free..., batch...] * rhs[rhs_free..., batch...].
This is a semantic convenience wrapper over broadcast_mul_into. The
broadcast/mul planner owns kernel selection, so explicit outer-product calls
and equivalent broadcasted multiplication use the same implementation path.