From 70da422938d84c564a3c0f7b32363cf0447ff3b2 Mon Sep 17 00:00:00 2001 From: Your Name Date: Fri, 25 Apr 2025 10:51:08 -0400 Subject: [PATCH] Make function signatures conform to assignment --- src/circuit.rs | 9 +++++---- src/main.rs | 4 ++-- tests/test.rs | 5 ++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/circuit.rs b/src/circuit.rs index a241d1c..eb459fd 100644 --- a/src/circuit.rs +++ b/src/circuit.rs @@ -3,14 +3,15 @@ use crate::{gate::Gate, gate_type::GateType}; #[derive(Debug, Clone)] pub struct Circuit { pub gates: Vec, // All gates + pub input_bits: Vec, } impl Circuit { - pub fn eval(self, input_bits: Vec,) -> bool { + pub fn eval(self, ) -> bool { let mut evaluated_gates = vec![]; for gate in self.gates { - let result = gate.eval(&input_bits, &evaluated_gates); + let result = gate.eval(&self.input_bits, &evaluated_gates); evaluated_gates.push(result); } @@ -24,7 +25,7 @@ impl Circuit { This method should create a circuit that outputs 1 if the first number A (encoded in the first n bits) is greater than the second number B (encoded in the next n bits) . */ - pub fn compare_n_bit_numbers( n: usize) -> Self { + pub fn compare_n_bit_numbers( n: usize, input_bits: Vec,) -> Self { /* base case n=1: 1-bit: @@ -69,7 +70,7 @@ impl Circuit { */ let gates = create_n_bit_comparator_gates(n); - return Circuit { gates }; + return Circuit { gates, input_bits }; } } diff --git a/src/main.rs b/src/main.rs index 6949f0c..809d0a6 100644 --- a/src/main.rs +++ b/src/main.rs @@ -33,8 +33,8 @@ fn main() { input_bits.extend_from_slice(&b_bits); // Build and evaluate the comparison circuit - let circuit = Circuit::compare_n_bit_numbers(256); - let circuit_result = circuit.eval(input_bits); + let circuit = Circuit::compare_n_bit_numbers(256, input_bits); + let circuit_result = circuit.eval(); let a_int = BigUint::from_bytes_le(&a.to_bytes()); let b_int = BigUint::from_bytes_le(&b.to_bytes()); diff --git a/tests/test.rs b/tests/test.rs index 1aab068..eae6770 100644 --- a/tests/test.rs +++ b/tests/test.rs @@ -6,8 +6,6 @@ mod tests { use rand::rngs::OsRng; #[test] fn test_scalar_comparison_via_circuit() { - let circuit = Circuit::compare_n_bit_numbers(256); - for _ in 0..100 { let a = Scalar::random(&mut OsRng); let b = Scalar::random(&mut OsRng); @@ -22,7 +20,8 @@ mod tests { input_bits.extend_from_slice(&b_bits); // Evaluate the comparison circuit - let circuit_result = circuit.clone().eval(input_bits); + let circuit = Circuit::compare_n_bit_numbers(256, input_bits); + let circuit_result = circuit.clone().eval(); // Compare expected result using BigUint let a_int = BigUint::from_bytes_le(&a.to_bytes());