diff --git a/acpu/examples/trace64.rs b/acpu/examples/trace64.rs
index a521f77..29e340e 100644
--- a/acpu/examples/trace64.rs
+++ b/acpu/examples/trace64.rs
@@ -286,7 +286,6 @@ fn main() {
}
// Direct B loads with stride=N*4, no packing
- let b_stride = N * 4; // bytes
for p in 0..N {
// LDY: packed A column
amx_op::<OP_LDY>(ap.add(p * 64) as u64);
diff --git a/acpu/src/crypto/mod.rs b/acpu/src/crypto/mod.rs
index 0aefa1e..e1e7a34 100644
--- a/acpu/src/crypto/mod.rs
+++ b/acpu/src/crypto/mod.rs
@@ -359,7 +359,7 @@ mod tests {
fn aes128_key_expand(key: &[u8; 16]) -> Vec<[u8; 16]> {
let rcon: [u8; 10] = [0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36];
- let mut w = vec![0u32; 44];
+ let mut w = [0u32; 44];
for i in 0..4 {
w[i] = u32::from_be_bytes([key[4 * i], key[4 * i + 1], key[4 * i + 2], key[4 * i + 3]]);
}
diff --git a/acpu/src/field/goldilocks.rs b/acpu/src/field/goldilocks.rs
index 6530221..d783521 100644
--- a/acpu/src/field/goldilocks.rs
+++ b/acpu/src/field/goldilocks.rs
@@ -296,12 +296,12 @@ mod tests {
#[test]
fn test_pow7_x16() {
let mut state = [0u64; 16];
- for i in 0..16 {
- state[i] = (i as u64 + 1) * 3;
+ for (i, value) in state.iter_mut().enumerate() {
+ *value = (i as u64 + 1) * 3;
}
let mut expected = state;
- for i in 0..16 {
- expected[i] = gl_pow7(expected[i]);
+ for value in &mut expected {
+ *value = gl_pow7(*value);
}
gl_pow7_x16(&mut state);
assert_eq!(state, expected);
diff --git a/acpu/src/field/permute.rs b/acpu/src/field/permute.rs
index dbc95f3..c1a75c1 100644
--- a/acpu/src/field/permute.rs
+++ b/acpu/src/field/permute.rs
@@ -143,16 +143,16 @@ mod tests {
fn test_rc() -> [u64; 144] {
let mut rc = [0u64; 144];
- for i in 0..144 {
- rc[i] = (i as u64 + 1).wrapping_mul(0x9E3779B97F4A7C15);
+ for (i, value) in rc.iter_mut().enumerate() {
+ *value = (i as u64 + 1).wrapping_mul(0x9E3779B97F4A7C15);
}
rc
}
fn test_diag() -> [u64; 16] {
let mut d = [0u64; 16];
- for i in 0..16 {
- d[i] = (i as u64 + 2).wrapping_mul(0x517CC1B727220A95);
+ for (i, value) in d.iter_mut().enumerate() {
+ *value = (i as u64 + 2).wrapping_mul(0x517CC1B727220A95);
}
d
}
diff --git a/acpu/src/gemm/mod.rs b/acpu/src/gemm/mod.rs
index 8faa097..ccf8665 100644
--- a/acpu/src/gemm/mod.rs
+++ b/acpu/src/gemm/mod.rs
@@ -1091,7 +1091,6 @@ fn pack_b_32(b: &[f32], ldb: usize, pc: usize, jc: usize, kc: usize, nc: usize,
/// Odd/rem A ร 32-wide B โ two 16ร16 kernels per B strip.
#[cfg(target_arch = "aarch64")]
#[allow(clippy::too_many_arguments)]
-#[allow(clippy::too_many_arguments)]
pub(super) fn gebp_kernel(
a_pack: &[f32],
b_pack: &[f32],
diff --git a/acpu/src/numeric/bf16.rs b/acpu/src/numeric/bf16.rs
index 4fcc3e4..1ed610c 100644
--- a/acpu/src/numeric/bf16.rs
+++ b/acpu/src/numeric/bf16.rs
@@ -164,7 +164,7 @@ mod tests {
0.0f32,
1.0,
-1.0,
- 3.14,
+ f32::from_bits(0x4048_f5c3), // original decimal 3.14 test input
-100.0,
f32::INFINITY,
f32::NEG_INFINITY,
diff --git a/acpu/src/sparse/chebyshev.rs b/acpu/src/sparse/chebyshev.rs
index 163e437..ac61851 100644
--- a/acpu/src/sparse/chebyshev.rs
+++ b/acpu/src/sparse/chebyshev.rs
@@ -183,7 +183,8 @@ pub fn chebyshev_matvec(
csr.set(&az, t1);
// Step 3: t1[i] = โd_inv_sqrt[i] * t1[i]
for i in 0..n {
- t1[i] = -d_inv_sqrt[i] * t1[i];
+ let scaled = -d_inv_sqrt[i] * t1[i];
+ t1[i] = scaled;
}
// Accumulate y = c_0 T_0 + c_1 T_1
@@ -204,8 +205,7 @@ pub fn chebyshev_matvec(
//
// (k starts at 2, so k==2 is even: T_0 in t0, T_1 in t1 โ write T_2 into t0)
- for k in 2..=order {
- let ck = coeffs[k];
+ for (k, &ck) in coeffs.iter().enumerate().skip(2) {
if k % 2 == 0 {
// T_{k-2} in t0, T_{k-1} in t1. Compute T_k into t0.
// az = D^{-ยฝ} t1
@@ -259,7 +259,7 @@ mod tests {
assert!((bessel_i(0, 0.0) - 1.0).abs() < 1e-5, "I_0(0)");
// I_0(1) โ 1.2660658777520082
assert!(
- (bessel_i(0, 1.0) - 1.266_065_9).abs() < 1e-4,
+ (bessel_i(0, 1.0) - 1.266_066).abs() < 1e-4,
"I_0(1) = {}",
bessel_i(0, 1.0)
);
diff --git a/acpu/src/sparse/mod.rs b/acpu/src/sparse/mod.rs
index 15118d9..a12b169 100644
--- a/acpu/src/sparse/mod.rs
+++ b/acpu/src/sparse/mod.rs
@@ -53,8 +53,8 @@ fn inner(row_ptr: &[u32], col_idx: &[u32], values: &[f32], x: &[f32], y: &mut [f
let mut acc = 0.0f32;
// Prefetch the x entries we'll need for this row.
- for pf in 0..len.min(PF) {
- let ptr = x.as_ptr().add(cols[pf] as usize);
+ for &column in cols.iter().take(PF) {
+ let ptr = x.as_ptr().add(column as usize);
// PRFM PLDL1KEEP โ bring into L1 dcache.
core::arch::asm!(
"prfm pldl1keep, [{ptr}]",
@@ -189,8 +189,8 @@ mod tests {
expected0
);
// y[i] = x[0] = 0 for i in 1..n
- for i in 1..n {
- assert!(y[i].abs() < 1e-5, "y[{i}]={}", y[i]);
+ for (i, value) in y.iter().enumerate().skip(1) {
+ assert!(value.abs() < 1e-5, "y[{i}]={value}");
}
}
}
diff --git a/acpu/src/vector/integer.rs b/acpu/src/vector/integer.rs
index 471b177..984c833 100644
--- a/acpu/src/vector/integer.rs
+++ b/acpu/src/vector/integer.rs
@@ -408,7 +408,7 @@ mod tests {
#[test]
fn test_sum_i32() {
- let v: Vec<i32> = (0..4096).map(|i| (i % 100) as i32 - 50).collect();
+ let v: Vec<i32> = (0..4096).map(|i| (i % 100) - 50).collect();
let expected: i64 = v.iter().map(|&x| x as i64).sum();
assert_eq!(sum_i32(&v), expected);
}
diff --git a/acpu/src/vector/media.rs b/acpu/src/vector/media.rs
index 1958b24..4be53b2 100644
--- a/acpu/src/vector/media.rs
+++ b/acpu/src/vector/media.rs
@@ -383,7 +383,7 @@ mod tests {
#[test]
fn test_rgb_to_yuv_known() {
let mut yuv = vec![0u8; 48];
- rgb_to_yuv(&mut yuv, &vec![0u8; 48]);
+ rgb_to_yuv(&mut yuv, &[0u8; 48]);
for i in 0..16 {
assert_eq!((yuv[i * 3], yuv[i * 3 + 1], yuv[i * 3 + 2]), (16, 128, 128));
}
@@ -414,8 +414,8 @@ mod tests {
let mut out = vec![0u8; 3];
rgb_to_yuv(&mut yuv, &[128, 128, 128]);
yuv_to_rgb(&mut out, &yuv);
- for c in 0..3 {
- assert!((128i32 - out[c] as i32).abs() <= 2, "ch {}: {}", c, out[c]);
+ for (c, &value) in out.iter().enumerate() {
+ assert!((128i32 - value as i32).abs() <= 2, "ch {c}: {value}");
}
}
@@ -464,7 +464,7 @@ mod tests {
#[test]
fn test_resize_downsample() {
let mut dst = vec![0.0f32; 4];
- resize_bilinear_f32(&mut dst, &vec![7.5f32; 16], 4, 4, 2, 2);
+ resize_bilinear_f32(&mut dst, &[7.5f32; 16], 4, 4, 2, 2);
assert!(dst.iter().all(|&v| (v - 7.5).abs() < 1e-4));
}
}
diff --git a/aruminium/benches/objc2.rs b/aruminium/benches/objc2.rs
index 2578d18..155dbd6 100644
--- a/aruminium/benches/objc2.rs
+++ b/aruminium/benches/objc2.rs
@@ -300,8 +300,12 @@ pub fn render_pass_overhead(iters: usize) -> f64 {
let queue = dev.newCommandQueue().unwrap();
let src = NSString::from_str(TRIANGLE_SRC);
let lib = dev.newLibraryWithSource_options_error(&src, None).unwrap();
- let vfn = lib.newFunctionWithName(&NSString::from_str("vmain")).unwrap();
- let ffn = lib.newFunctionWithName(&NSString::from_str("fmain")).unwrap();
+ let vfn = lib
+ .newFunctionWithName(&NSString::from_str("vmain"))
+ .unwrap();
+ let ffn = lib
+ .newFunctionWithName(&NSString::from_str("fmain"))
+ .unwrap();
let pipe_desc = MTLRenderPipelineDescriptor::new();
pipe_desc.setVertexFunction(Some(&*vfn));
@@ -371,8 +375,12 @@ pub fn render_batch_encode(n_draws: usize, iters: usize) -> f64 {
let queue = dev.newCommandQueue().unwrap();
let src = NSString::from_str(TRIANGLE_SRC);
let lib = dev.newLibraryWithSource_options_error(&src, None).unwrap();
- let vfn = lib.newFunctionWithName(&NSString::from_str("vmain")).unwrap();
- let ffn = lib.newFunctionWithName(&NSString::from_str("fmain")).unwrap();
+ let vfn = lib
+ .newFunctionWithName(&NSString::from_str("vmain"))
+ .unwrap();
+ let ffn = lib
+ .newFunctionWithName(&NSString::from_str("fmain"))
+ .unwrap();
let pipe_desc = MTLRenderPipelineDescriptor::new();
pipe_desc.setVertexFunction(Some(&*vfn));
@@ -418,9 +426,7 @@ pub fn render_batch_encode(n_draws: usize, iters: usize) -> f64 {
let enc = cmd.renderCommandEncoderWithDescriptor(&rpass).unwrap();
enc.setRenderPipelineState(&rpipeline);
for _ in 0..n_draws {
- unsafe {
- enc.drawPrimitives_vertexStart_vertexCount(MTLPrimitiveType::Triangle, 0, 0)
- };
+ unsafe { enc.drawPrimitives_vertexStart_vertexCount(MTLPrimitiveType::Triangle, 0, 0) };
}
enc.endEncoding();
cmd.commit();
@@ -433,9 +439,7 @@ pub fn render_batch_encode(n_draws: usize, iters: usize) -> f64 {
let enc = cmd.renderCommandEncoderWithDescriptor(&rpass).unwrap();
enc.setRenderPipelineState(&rpipeline);
for _ in 0..n_draws {
- unsafe {
- enc.drawPrimitives_vertexStart_vertexCount(MTLPrimitiveType::Triangle, 0, 0)
- };
+ unsafe { enc.drawPrimitives_vertexStart_vertexCount(MTLPrimitiveType::Triangle, 0, 0) };
}
enc.endEncoding();
cmd.commit();