pub fn B() -> P3 {
    // m = 4
    let mut m = FieldElement([4, 0, 0, 0, 0]);

    // n = 5
    let mut n = FieldElement([5, 0, 0, 0, 0]);

    // n^{-1}
    let invert_n = n.invert();

    // m * n^{-1}
    let y = m * invert_n;

    // Encode FieldElement y
    let encoded_y = FieldElement::encode(&y);

    // Decode point with y
    let mut decoded_P3 = P3::decode(encoded_y).unwrap();

    println!(
        "X: {:020}",
        FieldElement::reduce(decoded_P3.X.0).0.iter().format("\n")
    );
    println!("Y: {:020}", decoded_P3.Y.0.iter().format("\n"));

    decoded_P3
}
/// See RFC 7748: base point.
/// FieldElement y = 4 / 5 -> 4 * 5^{-1}.
/// * Value X is wrong. This is not working atm.
/// * See module base_point.rs.
See RFC 7748: base point.
See RFC 7748 : base point .
pub fn B() -> P3 {
    // m = 4
    let mut m = FieldElement([4, 0, 0, 0, 0]);
    // n = 5
    let mut n = FieldElement([5, 0, 0, 0, 0]);
    // n^{-1}
    let invert_n = n.invert();
    // m * n^{-1}
    let y = m * invert_n;
    // Encode FieldElement y
    let encoded_y = FieldElement::encode(&y);
    // Decode point with y
    let mut decoded_P3 = P3::decode(encoded_y).unwrap();
    println!(
        "X: {:020}",
        FieldElement::reduce(decoded_P3.X.0).0.iter().format("\n")
    );
    println!("Y: {:020}", decoded_P3.Y.0.iter().format("\n"));
    decoded_P3
}
pub fn B ( ) -> P3 { // m = 4 let mut m = FieldElement ( [ 4 , 0 , 0 , 0 , 0 ] ) ; // n = 5 let mut n = FieldElement ( [ 5 , 0 , 0 , 0 , 0 ] ) ; // n^{-1} let invert_n = n . invert ( ) ; // m * n^{-1} let y = m * invert_n ; // Encode FieldElement y let encoded_y = FieldElement :: encode ( & y ) ; // Decode point with y let mut decoded_P3 = P3 :: decode ( encoded_y ) . unwrap ( ) ; println ! ( " " FieldElement reduce ( decoded_P3 X 0 ) 0 iter ( ) format ( " \n " ) ) ; println ! ( " " decoded_P3 Y 0 iter ( ) format ( " \n " ) ) ; decoded_P3 }
See RFC 7748: base point.
See RFC 7748 : base point .