diff --git a/core/src/ecc/galois.rs b/core/src/ecc/galois.rs index 0130542..9af2121 100644 --- a/core/src/ecc/galois.rs +++ b/core/src/ecc/galois.rs @@ -56,6 +56,7 @@ pub fn sub(a: u8, b: u8) -> u8 { } /// GF(2⁸) 乘法:a * b +#[inline] pub fn mul(a: u8, b: u8) -> u8 { if a == 0 || b == 0 { return 0; @@ -66,6 +67,7 @@ pub fn mul(a: u8, b: u8) -> u8 { } /// GF(2⁸) 除法:a / b +#[inline] pub fn div(a: u8, b: u8) -> u8 { if a == 0 { return 0; @@ -80,6 +82,7 @@ pub fn div(a: u8, b: u8) -> u8 { } /// GF(2⁸) 幂运算:base^exp +#[inline] pub fn pow(base: u8, exp: usize) -> u8 { if exp == 0 { return 1; @@ -154,6 +157,12 @@ mod tests { } } + #[test] + #[should_panic(expected = "除以零")] + fn test_div_by_zero_panics() { + div(1, 0); + } + #[test] fn test_pow() { // α^0 = 1