use cubecl::prelude::*;
#[cube]
pub(crate) fn lowest_coordinate_matching<E: CubePrimitive>(
target: Line<E>,
item: Line<E>,
coordinate: Line<u32>,
) -> Line<u32> {
let line_size = item.size();
let is_candidate = item.equal(target);
let candidate_coordinate = select_many(
is_candidate,
coordinate,
Line::empty(line_size).fill(u32::MAX),
);
plane_min(candidate_coordinate)
}