fix: resolve compilation errors across workspace

- Add PiQ3/PiQ2 match arms in ruvllm-cli quantize memory estimation
- Add main() stub to mincut-gated-transformer-wasm web_scorer example
- Gate scipix OCR examples behind required-features = ["ocr"]
- Fix usize/u64 type mismatch in ruvector-cnn kernel_equivalence test

https://claude.ai/code/session_01UWE22wnsZRSHKhT4h4Axby
This commit is contained in:
Claude 2026-03-15 03:44:10 +00:00 committed by Reuven
parent 35f975a58b
commit 8edd602ac6
4 changed files with 19 additions and 10 deletions

View file

@ -468,7 +468,7 @@ mod kernel_equivalence {
};
// Test matmul with various sizes (aligned and unaligned)
let sizes = vec![
let sizes: Vec<(usize, usize, usize)> = vec![
(15, 15, 15), // Unaligned
(16, 16, 16), // Aligned to 16
(17, 17, 17), // Unaligned
@ -478,7 +478,7 @@ mod kernel_equivalence {
];
for (m, n, k) in sizes {
let mut rng = fastrand::Rng::with_seed(42 + m);
let mut rng = fastrand::Rng::with_seed(42 + m as u64);
let a: Vec<i8> = (0..m * k).map(|_| rng.i8(..)).collect();
let b: Vec<i8> = (0..k * n).map(|_| rng.i8(..)).collect();

View file

@ -156,3 +156,9 @@ pub fn run_custom_config_example() -> Result<JsValue, JsValue> {
Ok(output.into())
}
// Required for cargo test/check; this example is meant to be built with wasm-pack.
#[cfg(not(target_arch = "wasm32"))]
fn main() {
eprintln!("This example requires wasm-pack: wasm-pack build --target web");
}

View file

@ -236,20 +236,18 @@ fn print_memory_estimates(format: TargetFormat) {
e.total_mb *= 2.0;
e
},
// PiQ3: 3.0625 bits/weight (~75% of Q4_K_M storage)
// PiQ3: 3.0625 bits/weight vs Q4's ~4.5, so ~68% of Q4 size
TargetFormat::PiQ3 => |p, v, h, l| {
let mut e = estimate_memory_q4(p, v, h, l);
e.total_bytes = (e.total_bytes as f64 * 0.75) as usize;
e.total_mb *= 0.75;
e.compression_ratio *= 1.33;
e.total_bytes = (e.total_bytes as f64 * 3.0625 / 4.5) as usize;
e.total_mb = e.total_bytes as f64 / (1024.0 * 1024.0);
e
},
// PiQ2: 2.0625 bits/weight (~50% of Q4_K_M storage)
// PiQ2: 2.0625 bits/weight vs Q4's ~4.5, so ~46% of Q4 size
TargetFormat::PiQ2 => |p, v, h, l| {
let mut e = estimate_memory_q4(p, v, h, l);
e.total_bytes = (e.total_bytes as f64 * 0.5) as usize;
e.total_mb *= 0.5;
e.compression_ratio *= 2.0;
e.total_bytes = (e.total_bytes as f64 * 2.0625 / 4.5) as usize;
e.total_mb = e.total_bytes as f64 / (1024.0 * 1024.0);
e
},
};

View file

@ -162,6 +162,7 @@ crate-type = ["cdylib", "rlib"]
[[example]]
name = "simple_ocr"
path = "examples/simple_ocr.rs"
required-features = ["ocr"]
[[example]]
name = "batch_processing"
@ -171,6 +172,7 @@ required-features = ["ocr"]
[[example]]
name = "api_server"
path = "examples/api_server.rs"
required-features = ["ocr"]
[[example]]
name = "streaming"
@ -180,14 +182,17 @@ required-features = ["ocr"]
[[example]]
name = "custom_pipeline"
path = "examples/custom_pipeline.rs"
required-features = ["ocr"]
[[example]]
name = "lean_agentic"
path = "examples/lean_agentic.rs"
required-features = ["ocr"]
[[example]]
name = "accuracy_test"
path = "examples/accuracy_test.rs"
required-features = ["ocr"]
# Benchmark configurations
[[bench]]