Explain why the selective color and spline loops index by range

This commit is contained in:
Dennis Kobert
2026-09-09 15:39:12 +00:00
parent 7cd6e7cd04
commit a06039c6c8
2 changed files with 4 additions and 0 deletions

View File

@@ -950,6 +950,8 @@ fn selective_color<T: Adjust<Color> + Clone + Send + Sync + no_std_types::contex
(SelectiveColorChoice::Blacks, (k_c, k_m, k_y, k_k)),
];
let mut sum = Vec3::ZERO;
// Indexed rather than iterated because this compiles to SPIR-V, whose backend rejects the arbitrary pointer offset an array iterator produces
#[allow(clippy::needless_range_loop)]
for i in 0..array.len() {
let (color_parameter_group, (c, m, y, k)) = array[i];

View File

@@ -63,6 +63,8 @@ impl CubicSplines {
assert!(augmented_matrix[row][row].abs() > f32::EPSILON);
let scale_factor = augmented_matrix[row_below_current][row] / augmented_matrix[row][row];
// `col` indexes two distinct rows at once, one of them mutably, so an iterator would need a split borrow
#[allow(clippy::needless_range_loop)]
for col in row..5 {
augmented_matrix[row_below_current][col] -= augmented_matrix[row][col] * scale_factor
}