#[test]
fn test_interleaved_q4k_dot_scalar_explicitly_deep_qcov_001() {
let mut q4k_data = Vec::with_capacity(144);
q4k_data.extend_from_slice(&half::f16::from_f32(1.0).to_le_bytes());
q4k_data.extend_from_slice(&half::f16::from_f32(0.0).to_le_bytes());
q4k_data.extend_from_slice(&[0u8; 12]);
q4k_data.extend_from_slice(&[0x12u8; 128]);
let interleaved = InterleavedQ4K::from_q4k(&q4k_data).expect("valid data");
let activations = vec![1.0f32; 256];
let result = interleaved.dot_scalar(&activations);
assert!(result.is_ok());
let dot_result = result.expect("quantization failed");
assert!(dot_result.abs() < 1e-6, "Expected ~0, got {}", dot_result);
}
#[test]
fn test_interleaved_q4k_dot_scalar_with_scales_deep_qcov_002() {
let mut q4k_data = Vec::with_capacity(144);
q4k_data.extend_from_slice(&half::f16::from_f32(2.0).to_le_bytes());
q4k_data.extend_from_slice(&half::f16::from_f32(0.5).to_le_bytes());
let mut scales = [0u8; 12];
scales[0] = 0x01; scales[4] = 0x01; q4k_data.extend_from_slice(&scales);
q4k_data.extend_from_slice(&[0x55u8; 128]);
let interleaved = InterleavedQ4K::from_q4k(&q4k_data).expect("valid data");
let activations = vec![1.0f32; 256];
let result = interleaved.dot_scalar(&activations);
assert!(result.is_ok());
let _dot_result = result.expect("quantization failed");
}
#[test]
fn test_interleaved_q4k_dot_scalar_multiple_superblocks_deep_qcov_003() {
let num_sb = 4;
let mut q4k_data = Vec::with_capacity(144 * num_sb);
for i in 0..num_sb {
let d_val = 0.5 + (i as f32) * 0.25;
q4k_data.extend_from_slice(&half::f16::from_f32(d_val).to_le_bytes());
q4k_data.extend_from_slice(&half::f16::from_f32(0.1).to_le_bytes());
let mut scales = [0u8; 12];
scales[0] = ((i + 1) % 64) as u8;
q4k_data.extend_from_slice(&scales);
let pattern = ((i * 17) % 256) as u8;
q4k_data.extend_from_slice(&vec![pattern; 128]);
}
let interleaved = InterleavedQ4K::from_q4k(&q4k_data).expect("valid data");
let activations: Vec<f32> = (0..1024).map(|i| (i as f32) * 0.001).collect();
let result = interleaved.dot_scalar(&activations);
assert!(result.is_ok());
}
#[test]
fn test_interleaved_q4k_dot_scalar_negative_activations_deep_qcov_004() {
let mut q4k_data = Vec::with_capacity(144);
q4k_data.extend_from_slice(&half::f16::from_f32(1.0).to_le_bytes());
q4k_data.extend_from_slice(&half::f16::from_f32(0.0).to_le_bytes());
let mut scales = [0u8; 12];
scales[0] = 0x3F; q4k_data.extend_from_slice(&scales);
q4k_data.extend_from_slice(&[0xFFu8; 128]);
let interleaved = InterleavedQ4K::from_q4k(&q4k_data).expect("valid data");
let activations: Vec<f32> = (0..256).map(|i| -(i as f32) * 0.01).collect();
let result = interleaved.dot_scalar(&activations);
assert!(result.is_ok());
let dot_result = result.expect("quantization failed");
assert!(dot_result < 0.0, "Expected negative, got {}", dot_result);
}
#[test]
fn test_interleaved_q4k_dot_scalar_max_values_deep_qcov_005() {
let mut q4k_data = Vec::with_capacity(144);
q4k_data.extend_from_slice(&half::f16::from_f32(100.0).to_le_bytes());
q4k_data.extend_from_slice(&half::f16::from_f32(50.0).to_le_bytes());
q4k_data.extend_from_slice(&[0x3Fu8; 12]);
q4k_data.extend_from_slice(&[0xFFu8; 128]);
let interleaved = InterleavedQ4K::from_q4k(&q4k_data).expect("valid data");
let activations = vec![10.0f32; 256];
let result = interleaved.dot_scalar(&activations);
assert!(result.is_ok());
}
#[test]
fn test_interleaved_q4k_dot_mismatched_size_deep_qcov_006() {
let q4k_data = vec![0u8; 144]; let interleaved = InterleavedQ4K::from_q4k(&q4k_data).expect("valid data");
let activations = vec![1.0f32; 128];
let result = interleaved.dot(&activations);
assert!(result.is_err());
if let Err(e) = result {
let msg = format!("{:?}", e);
assert!(msg.contains("128") || msg.contains("256"));
}
}
#[test]
fn test_interleaved_q4k_from_invalid_length_deep_qcov_007() {
let q4k_data = vec![0u8; 143];
let result = InterleavedQ4K::from_q4k(&q4k_data);
assert!(result.is_err());
let q4k_data = vec![0u8; 145];
let result = InterleavedQ4K::from_q4k(&q4k_data);
assert!(result.is_err());
}
#[test]
fn test_interleaved_q4k_num_values_deep_qcov_008() {
let q4k_data = vec![0u8; 144];
let interleaved = InterleavedQ4K::from_q4k(&q4k_data).expect("valid");
assert_eq!(interleaved.num_values(), 256);
let q4k_data = vec![0u8; 288];
let interleaved = InterleavedQ4K::from_q4k(&q4k_data).expect("valid");
assert_eq!(interleaved.num_values(), 512);
let q4k_data = vec![0u8; 144 * 10];
let interleaved = InterleavedQ4K::from_q4k(&q4k_data).expect("valid");
assert_eq!(interleaved.num_values(), 2560);
}
#[test]
fn test_fused_q4k_dot_scalar_all_zeros_deep_qcov_009() {
let q4k_data = vec![0u8; 144];
let activations = vec![1.0f32; 256];
let result = fused_q4k_dot(&q4k_data, &activations);
assert!(result.is_ok());
let dot = result.expect("quantization failed");
assert!(dot.abs() < 1e-6, "Expected ~0, got {}", dot);
}
#[test]
fn test_fused_q4k_dot_invalid_q4k_length_deep_qcov_010() {
let q4k_data = vec![0u8; 100];
let activations = vec![1.0f32; 256];
let result = fused_q4k_dot(&q4k_data, &activations);
assert!(result.is_err());
}
#[test]
fn test_fused_q4k_dot_mismatched_activation_length_deep_qcov_011() {
let q4k_data = vec![0u8; 144]; let activations = vec![1.0f32; 100];
let result = fused_q4k_dot(&q4k_data, &activations);
assert!(result.is_err());
}
#[test]
fn test_fused_q4k_dot_simd_falls_back_correctly_deep_qcov_012() {
let mut q4k_data = Vec::with_capacity(144);
q4k_data.extend_from_slice(&half::f16::from_f32(1.0).to_le_bytes());
q4k_data.extend_from_slice(&half::f16::from_f32(0.5).to_le_bytes());
q4k_data.extend_from_slice(&[0x21u8; 12]); q4k_data.extend_from_slice(&[0x34u8; 128]);
let activations: Vec<f32> = (0..256).map(|i| (i as f32 * 0.01).sin()).collect();
let scalar_result = fused_q4k_dot(&q4k_data, &activations).expect("scalar ok");
let simd_result = fused_q4k_dot_simd(&q4k_data, &activations).expect("simd ok");
let diff = (scalar_result - simd_result).abs();
let tolerance = scalar_result.abs() * 1e-5 + 1e-6;
assert!(
diff < tolerance,
"scalar={}, simd={}, diff={}",
scalar_result,
simd_result,
diff
);
}
#[test]
fn test_fused_q4k_q8k_dot_scalar_basic_deep_qcov_013() {
let q4k_data = vec![0u8; 144];
let q8k_scales = vec![1.0f32; 1];
let q8k_quants = vec![0i8; 256];
let result = fused_q4k_q8k_dot(&q4k_data, &q8k_scales, &q8k_quants);
assert!(result.is_ok());
}
#[test]
fn test_fused_q4k_q8k_dot_invalid_q4k_deep_qcov_014() {
let q4k_data = vec![0u8; 100]; let q8k_scales = vec![1.0f32; 1];
let q8k_quants = vec![0i8; 256];
let result = fused_q4k_q8k_dot(&q4k_data, &q8k_scales, &q8k_quants);
assert!(result.is_err());
}
#[test]
fn test_fused_q4k_q8k_dot_insufficient_scales_deep_qcov_015() {
let q4k_data = vec![0u8; 288]; let q8k_scales = vec![1.0f32; 1]; let q8k_quants = vec![0i8; 512];
let result = fused_q4k_q8k_dot(&q4k_data, &q8k_scales, &q8k_quants);
assert!(result.is_err());
}
#[test]
fn test_fused_q4k_q8k_dot_insufficient_quants_deep_qcov_016() {
let q4k_data = vec![0u8; 144];
let q8k_scales = vec![1.0f32; 1];
let q8k_quants = vec![0i8; 100];
let result = fused_q4k_q8k_dot(&q4k_data, &q8k_scales, &q8k_quants);
assert!(result.is_err());
}
#[test]
fn test_fused_q4k_q8k_dot_with_data_deep_qcov_017() {
let mut q4k_data = Vec::with_capacity(144);
q4k_data.extend_from_slice(&half::f16::from_f32(2.0).to_le_bytes());
q4k_data.extend_from_slice(&half::f16::from_f32(0.5).to_le_bytes());
let mut scales = [0u8; 12];
scales[0] = 0x1F; scales[4] = 0x0F; q4k_data.extend_from_slice(&scales);
q4k_data.extend_from_slice(&[0xABu8; 128]);
let q8k_scales = vec![1.5f32; 1];
let q8k_quants: Vec<i8> = (0..256)
.map(|i| ((i % 256) as i8).wrapping_sub(64))
.collect();
let result = fused_q4k_q8k_dot(&q4k_data, &q8k_scales, &q8k_quants);
assert!(result.is_ok());
}
#[test]
fn test_fused_q4_0_q8_0_dot_scalar_basic_deep_qcov_018() {
let mut q4_data = vec![0u8; 18];
q4_data[0..2].copy_from_slice(&half::f16::from_f32(1.0).to_le_bytes());
q4_data[2..18].copy_from_slice(&[0x88u8; 16]);
let q8_scales = vec![1.0f32];
let q8_quants = vec![1i8; 32];
let result = fused_q4_0_q8_0_dot_scalar(&q4_data, &q8_scales, &q8_quants, 32);
assert!(result.abs() < 1e-3, "Expected ~0, got {}", result);
}
#[test]
fn test_fused_q4_0_q8_0_dot_scalar_multiple_blocks_deep_qcov_019() {
let mut q4_data = vec![0u8; 36];
q4_data[0..2].copy_from_slice(&half::f16::from_f32(2.0).to_le_bytes());
q4_data[2..18].copy_from_slice(&[0x99u8; 16]);
q4_data[18..20].copy_from_slice(&half::f16::from_f32(1.5).to_le_bytes());
q4_data[20..36].copy_from_slice(&[0x66u8; 16]);
let q8_scales = vec![1.0f32, 2.0f32];
let q8_quants: Vec<i8> = (0..64).map(|i| (i % 100) as i8).collect();
let result = fused_q4_0_q8_0_dot_scalar(&q4_data, &q8_scales, &q8_quants, 64);
assert!(result.is_finite());
}
#[test]
fn test_fused_q4_0_q8_0_dot_scalar_truncated_block_deep_qcov_020() {
let mut q4_data = vec![0u8; 18];
q4_data[0..2].copy_from_slice(&half::f16::from_f32(1.0).to_le_bytes());
q4_data[2..18].copy_from_slice(&[0x55u8; 16]);
let q8_scales = vec![1.0f32];
let q8_quants = vec![2i8; 32];
let result = fused_q4_0_q8_0_dot_scalar(&q4_data, &q8_scales, &q8_quants, 24);
assert!(result.is_finite());
}
#[test]
fn test_fused_q4_0_q8_0_parallel_matvec_weight_too_small_deep_qcov_023() {
let in_dim = 32;
let out_dim = 4;
let weight_data = vec![0u8; 50];
let activations = vec![1.0f32; in_dim];
let result = fused_q4_0_q8_0_parallel_matvec(&weight_data, &activations, in_dim, out_dim);
assert!(result.is_err());
}
#[test]
fn test_fused_q4_0_q8_0_parallel_matvec_into_weight_too_small_deep_qcov_024() {
let in_dim = 32;
let out_dim = 4;
let weight_data = vec![0u8; 50]; let activations = vec![1.0f32; in_dim];
let mut output = vec![0.0f32; out_dim];
let result =
fused_q4_0_q8_0_parallel_matvec_into(&weight_data, &activations, in_dim, &mut output);
assert!(result.is_err());
}