[−][src]Crate macro_galois_field
Derive macro for Galois Field
Quick Start
use macro_galois_field::Field; #[derive(Field, Debug, Default, Copy, Clone)] #[prime = 2] struct Fp2(u64); let a = Fp2(3); let b = Fp2(3); assert_eq!(a + b, Fp2(0), "{} + {}", a.0, b.0); assert_eq!(a - b, Fp2(0), "{} - {}", a.0, b.0); assert_eq!(a - b, Fp2(2), "{} - {}", a.0, b.0); assert_eq!(a * b, Fp2(1), "{} * {}", a.0, b.0); assert_eq!(a * b, Fp2(3), "{} * {}", a.0, b.0); assert_eq!(a / b, Fp2(1), "{} / {}", a.0, b.0); let a = Fp2(3); let b = Fp2(100); assert_eq!(a + b, Fp2(1), "{} + {}", a.0, b.0); assert_eq!(a - b, Fp2(1), "{} - {}", a.0, b.0);
Derive Macros
Field |