fn mul_fp2_by_nonresidue(fe: &Fq2) -> Fq2 {
        // 2 U (c0 + U * c1)
        // == 2*7*c1 + U (2 c0)

        let mut c0 = Fq2Parameters::mul_fp_by_nonresidue(&fe.c1); // 7*c1
        c0.double_in_place(); // 2*7*c1

        let mut c1 = fe.c0;
        c1.double_in_place();

        Fq2::new(c0, c1)
    }
/// Multiply this element by the quadratic nonresidue 0 + 2 * u.
/// Make this generic.
Multiply this element by the quadratic nonresidue 0 + 2 * u.
Make this generic.
Multiply this element by the quadratic nonresidue 0 + 2 * u . Make this generic .
fn mul_fp2_by_nonresidue(fe: &Fq2) -> Fq2 {
        // 2 U (c0 + U * c1)
        // == 2*7*c1 + U (2 c0)
        let mut c0 = Fq2Parameters::mul_fp_by_nonresidue(&fe.c1); // 7*c1
        c0.double_in_place(); // 2*7*c1
        let mut c1 = fe.c0;
        c1.double_in_place();
        Fq2::new(c0, c1)
    }
fn mul_fp2_by_nonresidue ( fe : & Fq2 ) -> Fq2 { // 2 U (c0 + U * c1) // == 2*7*c1 + U (2 c0) let mut c0 = Fq2Parameters :: mul_fp_by_nonresidue ( & fe . c1 ) ; // 7*c1 c0 . double_in_place ( ) ; // 2*7*c1 let mut c1 = fe . c0 ; c1 . double_in_place ( ) ; Fq2 :: new ( c0 , c1 ) }
Multiply this element by the quadratic nonresidue 0 + 2 * u.
Multiply this element by the quadratic nonresidue 0 + 2 * u .
fe
&Fq2
fe
&Fq2