Function mcl_rust::get_version
source · pub fn get_version() -> u32
Examples found in repository?
examples/main.rs (line 6)
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
fn main() {
println!("mcl version={:04x}", get_version());
let b = init(CurveType::BN254);
if !b {
println!("init err");
}
let mut x = Fr::zero();
println!("x={}", x.get_str(10));
x.set_int(123456);
println!("x={}", x.get_str(10));
x.set_int(0xfff);
println!("x={}", x.get_str(16));
x.clear();
println!("x={}", x.get_str(10));
x.set_str("0x123", 0);
println!("x={}", x.get_str(16));
let buf = x.serialize();
println!("serialize={:x?}", buf); // put hex byte
let mut y = Fr::zero();
if y.deserialize(&buf) {
println!("y={}", y.get_str(16));
} else {
println!("err deserialize");
}
if x != y {
println!("ng");
}
x.set_int(1);
if x == y {
println!("ng");
}
if !x.is_one() {
println!("ng");
}
x.set_int(123);
y.set_int(567);
let mut z = unsafe { Fr::uninit() };
Fr::add(&mut z, &x, &y);
let x1 = Fr::from_str("1234", 10).unwrap();
println!("x1={}", x1.get_str(10));
println!("z={}", z.get_str(10));
println!("x={}", x.get_str(10));
println!("y={}", y.get_str(10));
let mut P1 = unsafe { G1::uninit() };
let mut P2 = unsafe { G1::uninit() };
let mut Q1 = unsafe { G2::uninit() };
let mut Q2 = unsafe { G2::uninit() };
let mut e1 = unsafe { GT::uninit() };
let mut e2 = unsafe { GT::uninit() };
let mut e3 = unsafe { GT::uninit() };
P1.set_hash_of("abc".as_bytes());
Q1.set_hash_of("abc".as_bytes());
pairing(&mut e1, &P1, &Q1);
x.set_by_csprng();
y.set_by_csprng();
G1::mul(&mut P2, &P1, &x);
G2::mul(&mut Q2, &Q1, &y);
pairing(&mut e2, &P2, &Q2);
GT::pow(&mut e3, &e1, &x);
GT::pow(&mut e1, &e3, &y);
if e1 == e2 {
println!("ok");
} else {
println!("ng");
}
}