mirror of
https://github.com/logos-storage/plonky2.git
synced 2026-01-26 09:33:07 +00:00
Use ArithmeticGate for select
This commit is contained in:
parent
66c21931ce
commit
ce0a4f4480
@ -32,9 +32,8 @@ impl<F: RichField + Extendable<D>, const D: usize> CircuitBuilder<F, D> {
|
||||
|
||||
/// See `select_ext`.
|
||||
pub fn select(&mut self, b: BoolTarget, x: Target, y: Target) -> Target {
|
||||
let x_ext = self.convert_to_ext(x);
|
||||
let y_ext = self.convert_to_ext(y);
|
||||
self.select_ext(b, x_ext, y_ext).to_target_array()[0]
|
||||
let tmp = self.mul_sub(b.target, y, y);
|
||||
self.mul_sub(b.target, x, tmp)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -24,7 +24,7 @@ impl<F: RichField + Extendable<D>, const D: usize> CircuitBuilder<F, D> {
|
||||
proof_with_pis0: ProofWithPublicInputsTarget<D>,
|
||||
inner_verifier_data0: &VerifierCircuitTarget,
|
||||
proof_with_pis1: ProofWithPublicInputsTarget<D>,
|
||||
verifier_data1: &VerifierCircuitTarget,
|
||||
inner_verifier_data1: &VerifierCircuitTarget,
|
||||
inner_common_data: &CommonCircuitData<F, C, D>,
|
||||
) where
|
||||
C::Hasher: AlgebraicHasher<F>,
|
||||
@ -82,7 +82,7 @@ impl<F: RichField + Extendable<D>, const D: usize> CircuitBuilder<F, D> {
|
||||
constants_sigmas_cap: self.select_cap(
|
||||
condition,
|
||||
inner_verifier_data0.constants_sigmas_cap.clone(),
|
||||
verifier_data1.constants_sigmas_cap.clone(),
|
||||
inner_verifier_data1.constants_sigmas_cap.clone(),
|
||||
),
|
||||
};
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user