arnaucube
arnaucube/ark-r1cs-stdPublic Self-hosted repository
Fix CI to test more code in `no_std`
Pratyush Mishra pratyushmishra@berkeley.edu
Wed, 08 Apr 2020 10:57:29 -0700
commit

5659b0d9ea99ea2cd78477c8c468125010d0ca08

parent

33a9da08f8a31ec7bd72e3dade22efc5156d0e68

2 files changed, 29 insertions(+), 29 deletions(-)

jump to
M r1cs-std/src/bits/uint64.rs → r1cs-std/src/bits/uint64.rs

@@ -14,7 +14,7 @@ /// unsigned integer.

#[derive(Clone, Debug)] pub struct UInt64 { // Least significant bit_gadget first - bits: Vec<Boolean>, + bits: Vec<Boolean>, value: Option<u64>, }

@@ -56,7 +56,7 @@ val >>= 1;

} v - }, + } None => vec![None; 64], };

@@ -95,19 +95,19 @@ &Boolean::Constant(b) => {

if b { value.as_mut().map(|v| *v |= 1); } - }, + } &Boolean::Is(ref b) => match b.get_value() { Some(true) => { value.as_mut().map(|v| *v |= 1); - }, - Some(false) => {}, + } + Some(false) => {} None => value = None, }, &Boolean::Not(ref b) => match b.get_value() { Some(false) => { value.as_mut().map(|v| *v |= 1); - }, - Some(true) => {}, + } + Some(true) => {} None => value = None, }, }

@@ -129,7 +129,7 @@ .cloned()

.collect(); UInt64 { - bits: new_bits, + bits: new_bits, value: self.value.map(|v| v.rotate_right(by as u32)), } }

@@ -194,12 +194,12 @@ // Accumulate the value

match op.value { Some(val) => { result_value.as_mut().map(|v| *v += u128::from(val)); - }, + } None => { // If any of our operands have unknown value, we won't // know the value of the result result_value = None; - }, + } } // Iterate over each bit_gadget of the operand and add the operand to

@@ -212,18 +212,18 @@ all_constants = false;

// Add coeff * bit_gadget lc += (coeff, bit.get_variable()); - }, + } Boolean::Not(ref bit) => { all_constants = false; // Add coeff * (1 - bit_gadget) = coeff * ONE - coeff * bit_gadget lc = lc + (coeff, CS::one()) - (coeff, bit.get_variable()); - }, + } Boolean::Constant(bit) => { if bit { lc += (coeff, CS::one()); } - }, + } } coeff.double_in_place();

@@ -270,7 +270,7 @@ // Discard carry bits that we don't care about

result_bits.truncate(64); Ok(UInt64 { - bits: result_bits, + bits: result_bits, value: modular_value, }) }

@@ -330,7 +330,7 @@ };

let mut bytes = Vec::new(); for (i, chunk8) in self.to_bits_le().chunks(8).enumerate() { let byte = UInt8 { - bits: chunk8.to_vec(), + bits: chunk8.to_vec(), value: value_chunks[i], }; bytes.push(byte);

@@ -397,7 +397,7 @@ for (i, bit_gadget) in b.bits.iter().enumerate() {

match bit_gadget { &Boolean::Constant(bit_gadget) => { assert!(bit_gadget == ((b.value.unwrap() >> i) & 1 == 1)); - }, + } _ => unreachable!(), } }

@@ -406,8 +406,8 @@ let expected_to_be_same = b.to_bits_le();

for x in v.iter().zip(expected_to_be_same.iter()) { match x { - (&Boolean::Constant(true), &Boolean::Constant(true)) => {}, - (&Boolean::Constant(false), &Boolean::Constant(false)) => {}, + (&Boolean::Constant(true), &Boolean::Constant(true)) => {} + (&Boolean::Constant(false), &Boolean::Constant(false)) => {} _ => unreachable!(), } }

@@ -442,13 +442,13 @@ for b in r.bits.iter() {

match b { &Boolean::Is(ref b) => { assert!(b.get_value().unwrap() == (expected & 1 == 1)); - }, + } &Boolean::Not(ref b) => { assert!(!b.get_value().unwrap() == (expected & 1 == 1)); - }, + } &Boolean::Constant(b) => { assert!(b == (expected & 1 == 1)); - }, + } } expected >>= 1;

@@ -483,7 +483,7 @@ &Boolean::Is(_) => panic!(),

&Boolean::Not(_) => panic!(), &Boolean::Constant(b) => { assert!(b == (expected & 1 == 1)); - }, + } } expected >>= 1;

@@ -521,10 +521,10 @@ for b in r.bits.iter() {

match b { &Boolean::Is(ref b) => { assert!(b.get_value().unwrap() == (expected & 1 == 1)); - }, + } &Boolean::Not(ref b) => { assert!(!b.get_value().unwrap() == (expected & 1 == 1)); - }, + } &Boolean::Constant(_) => unreachable!(), }

@@ -560,7 +560,7 @@ for b in &b.bits {

match b { &Boolean::Constant(b) => { assert_eq!(b, tmp & 1 == 1); - }, + } _ => unreachable!(), }
M r1cs-std/src/test_constraint_counter.rs → r1cs-std/src/test_constraint_counter.rs

@@ -4,16 +4,16 @@ use r1cs_core::{ConstraintSystem, Index, LinearCombination, SynthesisError, Variable};

/// Constraint counter for testing purposes. pub struct ConstraintCounter { - pub num_inputs: usize, - pub num_aux: usize, + pub num_inputs: usize, + pub num_aux: usize, pub num_constraints: usize, } impl ConstraintCounter { pub fn new() -> Self { Self { - num_aux: 0, - num_inputs: 0, + num_aux: 0, + num_inputs: 0, num_constraints: 0, } }