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