Skip to main content

ps_ecc/polynomial/
constants.rs

1use crate::Polynomial;
2
3pub const POLYNOMIAL_MAX_COEFFICIENTS_U8: u8 = u8::MAX;
4pub const POLYNOMIAL_MAX_DEGREE_U8: u8 = POLYNOMIAL_MAX_COEFFICIENTS_U8 - 1;
5
6pub const POLYNOMIAL_MAX_COEFFICIENTS: usize = POLYNOMIAL_MAX_COEFFICIENTS_U8 as usize;
7
8impl Polynomial {
9    /// Maximum degree of a polynomial over GF(256).
10    pub const MAX_DEGREE: u8 = POLYNOMIAL_MAX_DEGREE_U8;
11
12    /// Maximum number of coefficients in a polynomial.
13    pub const MAX_COEFFICIENTS: u8 = POLYNOMIAL_MAX_COEFFICIENTS_U8;
14}
15
16#[cfg(test)]
17mod tests {
18    use crate::Polynomial;
19
20    #[test]
21    fn max_degree_is_254() {
22        assert_eq!(Polynomial::MAX_DEGREE, 254);
23    }
24
25    #[test]
26    fn max_coefficients_is_255() {
27        assert_eq!(Polynomial::MAX_COEFFICIENTS, 255);
28    }
29
30    #[test]
31    fn max_coefficients_is_max_degree_plus_one() {
32        assert_eq!(Polynomial::MAX_COEFFICIENTS, Polynomial::MAX_DEGREE + 1);
33    }
34}