make diag generic

This commit is contained in:
Simon Gardling 2025-02-08 22:37:05 -05:00
parent 325ac75c31
commit 5c27572f9f
Signed by: titaniumtown
GPG Key ID: 9AB28AC10ECE533D

View File

@ -27,14 +27,12 @@ where
output output
} }
pub fn diag( pub fn diag<T>(i: T, j: T, min_i: T, min_j: T, max_i: T, max_j: T) -> Vec<Vec<(T, T)>>
i: usize, where
j: usize, T: num::Integer + Copy,
min_i: usize, RangeInclusive<T>: Iterator<Item = T> + DoubleEndedIterator,
min_j: usize, Rev<RangeInclusive<T>>: Iterator<Item = T>,
max_i: usize, {
max_j: usize,
) -> Vec<Vec<(usize, usize)>> {
let i_chains = split_from(min_i, max_i, i); let i_chains = split_from(min_i, max_i, i);
let j_chains = split_from(min_j, max_j, j); let j_chains = split_from(min_j, max_j, j);