pub(crate) fn powers2<F: Field>(element: F, len: usize) -> Vec<F> {
    let mut powers = vec![F::one(); len];
    if len > 0 {
        powers[0] = element;
    }
    for i in 1..len {
        powers[i] = powers[i - 1].square();
    }
    powers
}
/// Return a vector of length `len` containing the 2^j-th powers of element.
Return a vector of length `len` containing the 2^j-th powers of element.
Return a vector of length ` len ` containing the 2^j - th powers of element .
pub(crate) fn powers2<F: Field>(element: F, len: usize) -> Vec<F> {
    let mut powers = vec![F::one(); len];
    if len > 0 {
        powers[0] = element;
    }
    for i in 1..len {
        powers[i] = powers[i - 1].square();
    }
    powers
}
pub ( crate ) fn powers2 < F : Field > ( element : F , len : usize ) -> Vec < F > { let mut powers = vec ! [ F one ( ) len ] ; if len > 0 { powers [ 0 ] = element ; } for i in 1 .. len { powers [ i ] = powers [ i - 1 ] . square ( ) ; } powers }
Return a vector of length `len` containing the 2^j-th powers of element.
Return a vector of length ` len ` containing the 2^j - th powers of element .
element
F
len
usize