mirror of
https://github.com/GraphiteEditor/Graphite.git
synced 2026-09-15 14:18:04 +08:00
Explain why the selective color and spline loops index by range
This commit is contained in:
@@ -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];
|
||||
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user