fix: galois — 添加 #[inline] 和 div_by_zero 测试

This commit is contained in:
2026-06-16 23:35:19 +08:00
parent b292cec088
commit a6f3c23901
+9
View File
@@ -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