iris-cv 0.0.0

A fast computer vision library framework in Rust.
Documentation
pub mod mat;
pub mod rng;
pub mod types;
pub mod utils;

pub use mat::Mat;
pub use rng::Rng;
pub use types::{Point, Rect, Scalar, Size};

#[cfg(test)]
mod tests {
    use super::*;

    #[test]
    fn test_rng() {
        let mut rng = Rng::new(42);
        let val1 = rng.next_u32();
        let val2 = rng.next_u32();
        assert_ne!(val1, val2);

        let f = rng.next_f32();
        assert!((0.0..1.0).contains(&f));
    }

    #[test]
    fn test_types() {
        let p = Point::new(10, 20);
        assert_eq!(p.x, 10);
        assert_eq!(p.y, 20);

        let r = Rect::new(0, 0, 100, 200);
        assert_eq!(r.width, 100);
        assert_eq!(r.height, 200);

        let s = Size::new(800, 600);
        assert_eq!(s.width, 800);
        assert_eq!(s.height, 600);

        let sc = Scalar::new(1.0, 2.0, 3.0, 4.0);
        assert_eq!(sc.0[0], 1.0);
        assert_eq!(sc.0[3], 4.0);
    }
}