mirror of
https://github.com/logos-storage/plonky2.git
synced 2026-01-02 13:53:07 +00:00
fmt
This commit is contained in:
parent
8aa3ed0997
commit
356c7cd925
@ -277,12 +277,13 @@ pub trait WitnessBigUint<F: PrimeField64>: Witness<F> {
|
||||
|
||||
impl<T: Witness<F>, F: PrimeField64> WitnessBigUint<F> for T {
|
||||
fn get_biguint_target(&self, target: BigUintTarget) -> BigUint {
|
||||
target.limbs
|
||||
.into_iter()
|
||||
.rev()
|
||||
.fold(BigUint::zero(), |acc, limb| {
|
||||
(acc << 32) + self.get_target(limb.0).to_canonical_biguint()
|
||||
})
|
||||
target
|
||||
.limbs
|
||||
.into_iter()
|
||||
.rev()
|
||||
.fold(BigUint::zero(), |acc, limb| {
|
||||
(acc << 32) + self.get_target(limb.0).to_canonical_biguint()
|
||||
})
|
||||
}
|
||||
|
||||
fn set_biguint_target(&mut self, target: &BigUintTarget, value: &BigUint) {
|
||||
@ -352,7 +353,7 @@ mod tests {
|
||||
};
|
||||
use rand::Rng;
|
||||
|
||||
use crate::gadgets::biguint::{WitnessBigUint, CircuitBuilderBiguint};
|
||||
use crate::gadgets::biguint::{CircuitBuilderBiguint, WitnessBigUint};
|
||||
|
||||
#[test]
|
||||
fn test_biguint_add() -> Result<()> {
|
||||
|
||||
@ -116,9 +116,9 @@ impl<F: RichField + Extendable<D>, const D: usize> SimpleGenerator<F>
|
||||
}
|
||||
|
||||
fn run_once(&self, witness: &PartitionWitness<F>, out_buffer: &mut GeneratedValues<F>) {
|
||||
let k = Secp256K1Scalar::from_noncanonical_biguint(witness.get_biguint_target(
|
||||
self.k.value.clone(),
|
||||
));
|
||||
let k = Secp256K1Scalar::from_noncanonical_biguint(
|
||||
witness.get_biguint_target(self.k.value.clone()),
|
||||
);
|
||||
|
||||
let (k1, k2, k1_neg, k2_neg) = decompose_secp256k1_scalar(k);
|
||||
|
||||
|
||||
@ -14,7 +14,7 @@ use plonky2_u32::witness::GeneratedValuesU32;
|
||||
use plonky2_util::ceil_div_usize;
|
||||
|
||||
use crate::gadgets::biguint::{
|
||||
GeneratedValuesBigUint, WitnessBigUint, BigUintTarget, CircuitBuilderBiguint,
|
||||
BigUintTarget, CircuitBuilderBiguint, GeneratedValuesBigUint, WitnessBigUint,
|
||||
};
|
||||
|
||||
#[derive(Clone, Debug)]
|
||||
@ -467,12 +467,8 @@ impl<F: RichField + Extendable<D>, const D: usize, FF: PrimeField> SimpleGenerat
|
||||
}
|
||||
|
||||
fn run_once(&self, witness: &PartitionWitness<F>, out_buffer: &mut GeneratedValues<F>) {
|
||||
let a = FF::from_noncanonical_biguint(witness.get_biguint_target(
|
||||
self.a.value.clone(),
|
||||
));
|
||||
let b = FF::from_noncanonical_biguint(witness.get_biguint_target(
|
||||
self.b.value.clone(),
|
||||
));
|
||||
let a = FF::from_noncanonical_biguint(witness.get_biguint_target(self.a.value.clone()));
|
||||
let b = FF::from_noncanonical_biguint(witness.get_biguint_target(self.b.value.clone()));
|
||||
let a_biguint = a.to_canonical_biguint();
|
||||
let b_biguint = b.to_canonical_biguint();
|
||||
let sum_biguint = a_biguint + b_biguint;
|
||||
@ -512,9 +508,7 @@ impl<F: RichField + Extendable<D>, const D: usize, FF: PrimeField> SimpleGenerat
|
||||
.summands
|
||||
.iter()
|
||||
.map(|summand| {
|
||||
FF::from_noncanonical_biguint(witness.get_biguint_target(
|
||||
summand.value.clone(),
|
||||
))
|
||||
FF::from_noncanonical_biguint(witness.get_biguint_target(summand.value.clone()))
|
||||
})
|
||||
.collect();
|
||||
let summand_biguints: Vec<_> = summands
|
||||
@ -559,12 +553,8 @@ impl<F: RichField + Extendable<D>, const D: usize, FF: PrimeField> SimpleGenerat
|
||||
}
|
||||
|
||||
fn run_once(&self, witness: &PartitionWitness<F>, out_buffer: &mut GeneratedValues<F>) {
|
||||
let a = FF::from_noncanonical_biguint(witness.get_biguint_target(
|
||||
self.a.value.clone(),
|
||||
));
|
||||
let b = FF::from_noncanonical_biguint(witness.get_biguint_target(
|
||||
self.b.value.clone(),
|
||||
));
|
||||
let a = FF::from_noncanonical_biguint(witness.get_biguint_target(self.a.value.clone()));
|
||||
let b = FF::from_noncanonical_biguint(witness.get_biguint_target(self.b.value.clone()));
|
||||
let a_biguint = a.to_canonical_biguint();
|
||||
let b_biguint = b.to_canonical_biguint();
|
||||
|
||||
@ -604,12 +594,8 @@ impl<F: RichField + Extendable<D>, const D: usize, FF: PrimeField> SimpleGenerat
|
||||
}
|
||||
|
||||
fn run_once(&self, witness: &PartitionWitness<F>, out_buffer: &mut GeneratedValues<F>) {
|
||||
let a = FF::from_noncanonical_biguint(witness.get_biguint_target(
|
||||
self.a.value.clone(),
|
||||
));
|
||||
let b = FF::from_noncanonical_biguint(witness.get_biguint_target(
|
||||
self.b.value.clone(),
|
||||
));
|
||||
let a = FF::from_noncanonical_biguint(witness.get_biguint_target(self.a.value.clone()));
|
||||
let b = FF::from_noncanonical_biguint(witness.get_biguint_target(self.b.value.clone()));
|
||||
let a_biguint = a.to_canonical_biguint();
|
||||
let b_biguint = b.to_canonical_biguint();
|
||||
|
||||
@ -639,9 +625,7 @@ impl<F: RichField + Extendable<D>, const D: usize, FF: PrimeField> SimpleGenerat
|
||||
}
|
||||
|
||||
fn run_once(&self, witness: &PartitionWitness<F>, out_buffer: &mut GeneratedValues<F>) {
|
||||
let x = FF::from_noncanonical_biguint(witness.get_biguint_target(
|
||||
self.x.value.clone(),
|
||||
));
|
||||
let x = FF::from_noncanonical_biguint(witness.get_biguint_target(self.x.value.clone()));
|
||||
let inv = x.inverse();
|
||||
|
||||
let x_biguint = x.to_canonical_biguint();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user