diff --git a/src/circuit_builder.rs b/src/circuit_builder.rs index 012e032f..b8d2b9c4 100644 --- a/src/circuit_builder.rs +++ b/src/circuit_builder.rs @@ -300,7 +300,7 @@ impl, const D: usize> CircuitBuilder { let degree_bits = log2_strict(degree); let subgroup = F::two_adic_subgroup(degree_bits); - let constant_vecs = self.constant_polys(); + let constant_vecs = self.constant_polys(&prefixed_gates); let constants_commitment = ListPolynomialCommitment::new(constant_vecs, self.config.fri_config.rate_bits, false); diff --git a/src/gadgets/arithmetic.rs b/src/gadgets/arithmetic.rs index 7a9fd441..eb4db598 100644 --- a/src/gadgets/arithmetic.rs +++ b/src/gadgets/arithmetic.rs @@ -373,6 +373,29 @@ mod tests { use crate::fri::FriConfig; use crate::witness::PartialWitness; + #[test] + fn test_div() { + type F = CrandallField; + type FF = QuarticCrandallField; + const D: usize = 4; + + let config = CircuitConfig::large_config(); + + let mut builder = CircuitBuilder::::new(config); + + let x = F::rand(); + let y = F::rand(); + let z = x / y; + let xt = builder.constant(x); + let yt = builder.constant(y); + let zt = builder.constant(z); + let comp_zt = builder.div_unsafe(xt, yt); + builder.assert_equal(zt, comp_zt); + + let data = builder.build(); + let proof = data.prove(PartialWitness::new()); + } + #[test] fn test_div_extension() { type F = CrandallField;