pub unsafe fn ordered_scan<T: Copy>(
data: &[T],
[_, len, inner]: [usize; 3],
seed: Option<&[T]>,
out: &mut Vec<T>,
lane: &dyn Fn(Option<T>, &[T], usize, &mut Vec<T>) -> Option<Kind>,
block: &dyn Fn(&[T], &[T], &mut [MaybeUninit<T>]) -> Result<(), Kind>,
) -> Option<Kind>Expand description
Appends the ordered left scan of each lane of [outer, len, inner] in data to out, in the same layout: along the last axis by lane, one call for every lane, stepping from seed’s item; along any other axis by block, one call for each row, stepping the row before it, or seed’s row, by the row’s items. Without a seed, a lane’s first item or row is kept as it is. Gives the kind of the first step that failed.
§Safety
block must initialize every output slot before returning, including when it returns Err.