pub fn evaluate_at(&self, x: &Fr) -> G2 {
        let mut coefficients = self.coefficients.iter().rev();
        let first = coefficients.next().map(|pk| pk.0);
        match first {
            None => G2::zero(),
            Some(ans) => {
                let mut ans: G2 = ans;
                for coeff in coefficients {
                    ans.mul_assign(*x);
                    ans.add_assign(&coeff.0);
                }
                ans
            }
        }
    }
/// Evaluate the public coefficients at x
Evaluate the public coefficients at x
Evaluate the public coefficients at x
pub fn evaluate_at(&self, x: &Fr) -> G2 {
        let mut coefficients = self.coefficients.iter().rev();
        let first = coefficients.next().map(|pk| pk.0);
        match first {
            None => G2::zero(),
            Some(ans) => {
                let mut ans: G2 = ans;
                for coeff in coefficients {
                    ans.mul_assign(*x);
                    ans.add_assign(&coeff.0);
                }
                ans
            }
        }
    }
pub fn evaluate_at ( & self , x : & Fr ) -> G2 { let mut coefficients = self . coefficients . iter ( ) . rev ( ) ; let first = coefficients . next ( ) . map ( | pk | pk . 0 ) ; match first { None => G2 :: zero ( ) , Some ( ans ) => { let mut ans : G2 = ans ; for coeff in coefficients { ans . mul_assign ( * x ) ; ans . add_assign ( & coeff . 0 ) ; } ans } } }
Evaluate the public coefficients at x
Evaluate the public coefficients at x
&self
x
&Fr
&self
x
&Fr