From 1d005881d08b0ee545c34b876ca9a25a9d7d9118 Mon Sep 17 00:00:00 2001 From: Jack Grigg Date: Fri, 12 Jul 2019 23:51:35 -0400 Subject: [PATCH] Migrate ff, group, pairing, and bellman to rand 0.6 --- Cargo.toml | 4 ++-- src/bls12_381/fq.rs | 4 +++- src/bls12_381/fq12.rs | 4 +++- src/bls12_381/fq2.rs | 4 +++- src/bls12_381/fq6.rs | 4 +++- src/bls12_381/fr.rs | 4 +++- src/lib.rs | 2 +- src/tests/engine.rs | 3 ++- src/tests/field.rs | 21 +++++++++++---------- src/tests/repr.rs | 3 ++- 10 files changed, 33 insertions(+), 20 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index b6ba134b3..5a065e258 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -15,13 +15,13 @@ homepage = "https://github.com/ebfull/pairing" repository = "https://github.com/ebfull/pairing" [dependencies] -rand_core = "0.3" +rand_core = "0.4" byteorder = "1" ff = { path = "../ff", features = ["derive"] } group = { path = "../group" } [dev-dependencies] -rand = "0.5" +rand_xorshift = "0.1" [features] unstable-features = ["expose-arith"] diff --git a/src/bls12_381/fq.rs b/src/bls12_381/fq.rs index b006812a4..0f54196af 100644 --- a/src/bls12_381/fq.rs +++ b/src/bls12_381/fq.rs @@ -1173,7 +1173,9 @@ fn test_neg_one() { } #[cfg(test)] -use rand::{SeedableRng, XorShiftRng}; +use rand_core::SeedableRng; +#[cfg(test)] +use rand_xorshift::XorShiftRng; #[test] fn test_fq_repr_ordering() { diff --git a/src/bls12_381/fq12.rs b/src/bls12_381/fq12.rs index 4f675cf1c..f07a33784 100644 --- a/src/bls12_381/fq12.rs +++ b/src/bls12_381/fq12.rs @@ -147,7 +147,9 @@ impl Field for Fq12 { } #[cfg(test)] -use rand::{SeedableRng, XorShiftRng}; +use rand_core::SeedableRng; +#[cfg(test)] +use rand_xorshift::XorShiftRng; #[test] fn test_fq12_mul_by_014() { diff --git a/src/bls12_381/fq2.rs b/src/bls12_381/fq2.rs index c69f13c81..994a28a2a 100644 --- a/src/bls12_381/fq2.rs +++ b/src/bls12_381/fq2.rs @@ -877,7 +877,9 @@ fn test_fq2_legendre() { } #[cfg(test)] -use rand::{SeedableRng, XorShiftRng}; +use rand_core::SeedableRng; +#[cfg(test)] +use rand_xorshift::XorShiftRng; #[test] fn test_fq2_mul_nonresidue() { diff --git a/src/bls12_381/fq6.rs b/src/bls12_381/fq6.rs index 21c831097..87e64cb0e 100644 --- a/src/bls12_381/fq6.rs +++ b/src/bls12_381/fq6.rs @@ -301,7 +301,9 @@ impl Field for Fq6 { } #[cfg(test)] -use rand::{SeedableRng, XorShiftRng}; +use rand_core::SeedableRng; +#[cfg(test)] +use rand_xorshift::XorShiftRng; #[test] fn test_fq6_mul_nonresidue() { diff --git a/src/bls12_381/fr.rs b/src/bls12_381/fr.rs index 20811cd40..cb378f412 100644 --- a/src/bls12_381/fr.rs +++ b/src/bls12_381/fr.rs @@ -6,7 +6,9 @@ use ff::{Field, PrimeField, PrimeFieldDecodingError, PrimeFieldRepr}; pub struct Fr(FrRepr); #[cfg(test)] -use rand::{SeedableRng, XorShiftRng}; +use rand_core::SeedableRng; +#[cfg(test)] +use rand_xorshift::XorShiftRng; #[test] fn test_fr_repr_ordering() { diff --git a/src/lib.rs b/src/lib.rs index d498c3592..1c8d90c27 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -17,7 +17,7 @@ extern crate group; extern crate rand_core; #[cfg(test)] -extern crate rand; +extern crate rand_xorshift; #[cfg(test)] pub mod tests; diff --git a/src/tests/engine.rs b/src/tests/engine.rs index 8616129f5..fc74f1bbe 100644 --- a/src/tests/engine.rs +++ b/src/tests/engine.rs @@ -1,5 +1,6 @@ use group::{CurveAffine, CurveProjective}; -use rand::{SeedableRng, XorShiftRng}; +use rand_core::SeedableRng; +use rand_xorshift::XorShiftRng; use {Engine, Field, PairingCurveAffine, PrimeField}; diff --git a/src/tests/field.rs b/src/tests/field.rs index 0f2f1b23c..0a33a7312 100644 --- a/src/tests/field.rs +++ b/src/tests/field.rs @@ -1,5 +1,6 @@ use ff::{Field, LegendreSymbol, PrimeField, SqrtField}; -use rand::{Rng, SeedableRng, XorShiftRng}; +use rand_core::{RngCore, SeedableRng}; +use rand_xorshift::XorShiftRng; pub fn random_frobenius_tests>(characteristic: C, maxpower: usize) { let mut rng = XorShiftRng::from_seed([ @@ -121,7 +122,7 @@ pub fn from_str_tests() { ]); for _ in 0..1000 { - let n: u64 = rng.gen(); + let n = rng.next_u64(); let a = F::from_str(&format!("{}", n)).unwrap(); let b = F::from_repr(n.into()).unwrap(); @@ -136,7 +137,7 @@ pub fn from_str_tests() { assert!(F::from_str("00000000000").is_none()); } -fn random_multiplication_tests(rng: &mut R) { +fn random_multiplication_tests(rng: &mut R) { for _ in 0..10000 { let a = F::random(rng); let b = F::random(rng); @@ -159,7 +160,7 @@ fn random_multiplication_tests(rng: &mut R) { } } -fn random_addition_tests(rng: &mut R) { +fn random_addition_tests(rng: &mut R) { for _ in 0..10000 { let a = F::random(rng); let b = F::random(rng); @@ -182,7 +183,7 @@ fn random_addition_tests(rng: &mut R) { } } -fn random_subtraction_tests(rng: &mut R) { +fn random_subtraction_tests(rng: &mut R) { for _ in 0..10000 { let b = F::random(rng); let a = F::random(rng); @@ -200,7 +201,7 @@ fn random_subtraction_tests(rng: &mut R) { } } -fn random_negation_tests(rng: &mut R) { +fn random_negation_tests(rng: &mut R) { for _ in 0..10000 { let a = F::random(rng); let mut b = a; @@ -211,7 +212,7 @@ fn random_negation_tests(rng: &mut R) { } } -fn random_doubling_tests(rng: &mut R) { +fn random_doubling_tests(rng: &mut R) { for _ in 0..10000 { let mut a = F::random(rng); let mut b = a; @@ -222,7 +223,7 @@ fn random_doubling_tests(rng: &mut R) { } } -fn random_squaring_tests(rng: &mut R) { +fn random_squaring_tests(rng: &mut R) { for _ in 0..10000 { let mut a = F::random(rng); let mut b = a; @@ -233,7 +234,7 @@ fn random_squaring_tests(rng: &mut R) { } } -fn random_inversion_tests(rng: &mut R) { +fn random_inversion_tests(rng: &mut R) { assert!(F::zero().inverse().is_none()); for _ in 0..10000 { @@ -245,7 +246,7 @@ fn random_inversion_tests(rng: &mut R) { } } -fn random_expansion_tests(rng: &mut R) { +fn random_expansion_tests(rng: &mut R) { for _ in 0..10000 { // Compare (a + b)(c + d) and (a*c + b*c + a*d + b*d) diff --git a/src/tests/repr.rs b/src/tests/repr.rs index 692c4d3e4..67badd802 100644 --- a/src/tests/repr.rs +++ b/src/tests/repr.rs @@ -1,5 +1,6 @@ use ff::{PrimeField, PrimeFieldRepr}; -use rand::{SeedableRng, XorShiftRng}; +use rand_core::SeedableRng; +use rand_xorshift::XorShiftRng; pub fn random_repr_tests() { random_encoding_tests::

();