Skip to content

Commit de9e850

Browse files
committed
Add a test for the log codec
1 parent e2b2a4c commit de9e850

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

codecs/log/src/lib.rs

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -255,3 +255,28 @@ impl Float for f64 {
255255
self.is_finite()
256256
}
257257
}
258+
259+
#[cfg(test)]
260+
mod tests {
261+
use super::*;
262+
263+
#[test]
264+
fn roundtrip() -> Result<(), LogCodecError> {
265+
let data = (0..1000).map(|x| x as f64).collect::<Vec<_>>();
266+
let data = Array::from_vec(data);
267+
268+
let encoded = ln_1p(data.view())?;
269+
270+
for (r, e) in data.iter().zip(encoded.iter()) {
271+
assert_eq!((*r).ln_1p().to_bits(), (*e).to_bits());
272+
}
273+
274+
let decoded = exp_m1(encoded)?;
275+
276+
for (r, d) in data.iter().zip(decoded.iter()) {
277+
assert!(((*r) - (*d)).abs() < 1e-12);
278+
}
279+
280+
Ok(())
281+
}
282+
}

0 commit comments

Comments
 (0)