use g2p::{g2p, GaloisField}; use core::ops::{ Add, AddAssign, Sub, SubAssign, Mul, MulAssign, Div, DivAssign, }; use core::fmt::{ Debug, Display, }; use core::marker::{ Sync, Send, Sized, Copy, }; use core::clone::Clone; use core::convert::{ From, Into, }; g2p!(GF4, 2); #[test] fn test_impls() { static_assertions::assert_impl_all!(GF4: Clone, Copy, Send, Sync, Sized, Debug, Display, Add, AddAssign, Sub, SubAssign, Mul, MulAssign, Div, DivAssign, Eq, PartialEq, Into, From, ); } #[test] fn test_div_impl() { let z = GF4::ZERO; let a = GF4::from(3); assert_eq!(z, z / a); } #[test] #[should_panic] fn test_div_panic() { let z = GF4::ZERO; let a = GF4::from(3); let _ = a / z; }