ark-curves-cherry-picked/bw6_761/src/fields/tests.rs
bw6_761/src/fields/tests.rsRaw
1use ark_ff::{test_rng, Field, PrimeField};
2use ark_serialize::{buffer_bit_byte_size, CanonicalSerialize};
3use rand::Rng;
4
5use crate::*;
6
7use ark_curve_tests::fields::*;
8
9#[test]
10fn test_fr() {
11 let mut rng = test_rng();
12 let a: Fr = rng.gen();
13 let b: Fr = rng.gen();
14 field_test(a, b);
15 sqrt_field_test(a);
16 primefield_test::<Fr>();
17}
18
19#[test]
20fn test_fq() {
21 let mut rng = test_rng();
22 let a: Fq = rng.gen();
23 let b: Fq = rng.gen();
24 field_test(a, b);
25 primefield_test::<Fq>();
26 sqrt_field_test(a);
27
28 let byte_size = a.serialized_size();
29 let (_, buffer_size) = buffer_bit_byte_size(Fq::size_in_bits());
30 assert_eq!(byte_size, buffer_size);
31 field_serialization_test::<Fq>(byte_size);
32}
33
34#[test]
35fn test_fq3() {
36 let mut rng = test_rng();
37 let a: Fq3 = rng.gen();
38 let b: Fq3 = rng.gen();
39 field_test(a, b);
40 sqrt_field_test(a);
41 frobenius_test::<Fq3, _>(Fq::characteristic(), 13);
42}
43
44#[test]
45fn test_fq6() {
46 let mut rng = test_rng();
47 let a: Fq6 = rng.gen();
48 let b: Fq6 = rng.gen();
49 field_test(a, b);
50 frobenius_test::<Fq6, _>(Fq::characteristic(), 13);
51}