diff --git a/tests/common.rs b/tests/common.rs new file mode 100644 index 0000000..cc1eff1 --- /dev/null +++ b/tests/common.rs @@ -0,0 +1,12 @@ +#[allow(unused)] +pub fn hash(px: [u8; N]) -> u8 { + let r = px[0]; + let g = px[1]; + let b = px[2]; + let a = if N >= 4 { px[3] } else { 0xff }; + let rm = r.wrapping_mul(3); + let gm = g.wrapping_mul(5); + let bm = b.wrapping_mul(7); + let am = a.wrapping_mul(11); + rm.wrapping_add(gm).wrapping_add(bm).wrapping_add(am) % 64 +} diff --git a/tests/test_chunks.rs b/tests/test_chunks.rs index beeffe4..391ba53 100644 --- a/tests/test_chunks.rs +++ b/tests/test_chunks.rs @@ -1,3 +1,5 @@ +mod common; + use bytemuck::{cast_slice, Pod}; use qoi_fast::consts::{ @@ -6,18 +8,7 @@ use qoi_fast::consts::{ }; use qoi_fast::{decode_to_vec, encode_to_vec}; -#[allow(unused)] -fn hash(px: [u8; N]) -> u8 { - let r = px[0]; - let g = px[1]; - let b = px[2]; - let a = if N >= 4 { px[3] } else { 0xff }; - let rm = r.wrapping_mul(3); - let gm = g.wrapping_mul(5); - let bm = b.wrapping_mul(7); - let am = a.wrapping_mul(11); - rm.wrapping_add(gm).wrapping_add(bm).wrapping_add(am) % 64 -} +use self::common::hash; fn test_chunk(pixels: P, expected: E) where