pub fn affine_x(p: Point) -> Fp2 {
    let (x, z) = p;

    let inv = fp2inv(z);
    let x_a = fp2mul(inv, x);

    x_a
}
// return the affine x-coordinate of a projective point
return the affine x-coordinate of a projective point
return the affine x - coordinate of a projective point
pub fn affine_x(p: Point) -> Fp2 {
    let (x, z) = p;
    let inv = fp2inv(z);
    let x_a = fp2mul(inv, x);
    x_a
}
pub fn affine_x ( p : Point ) -> Fp2 { let ( x , z ) = p ; let inv = fp2inv ( z ) ; let x_a = fp2mul ( inv , x ) ; x_a }
return the affine x-coordinate of a projective point
return the affine x - coordinate of a projective point
p
Point
p
Point