mirror of
https://github.com/logos-storage/plonky2.git
synced 2026-01-04 06:43: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 {
|
impl<T: Witness<F>, F: PrimeField64> WitnessBigUint<F> for T {
|
||||||
fn get_biguint_target(&self, target: BigUintTarget) -> BigUint {
|
fn get_biguint_target(&self, target: BigUintTarget) -> BigUint {
|
||||||
target.limbs
|
target
|
||||||
.into_iter()
|
.limbs
|
||||||
.rev()
|
.into_iter()
|
||||||
.fold(BigUint::zero(), |acc, limb| {
|
.rev()
|
||||||
(acc << 32) + self.get_target(limb.0).to_canonical_biguint()
|
.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) {
|
fn set_biguint_target(&mut self, target: &BigUintTarget, value: &BigUint) {
|
||||||
@ -352,7 +353,7 @@ mod tests {
|
|||||||
};
|
};
|
||||||
use rand::Rng;
|
use rand::Rng;
|
||||||
|
|
||||||
use crate::gadgets::biguint::{WitnessBigUint, CircuitBuilderBiguint};
|
use crate::gadgets::biguint::{CircuitBuilderBiguint, WitnessBigUint};
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_biguint_add() -> Result<()> {
|
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>) {
|
fn run_once(&self, witness: &PartitionWitness<F>, out_buffer: &mut GeneratedValues<F>) {
|
||||||
let k = Secp256K1Scalar::from_noncanonical_biguint(witness.get_biguint_target(
|
let k = Secp256K1Scalar::from_noncanonical_biguint(
|
||||||
self.k.value.clone(),
|
witness.get_biguint_target(self.k.value.clone()),
|
||||||
));
|
);
|
||||||
|
|
||||||
let (k1, k2, k1_neg, k2_neg) = decompose_secp256k1_scalar(k);
|
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 plonky2_util::ceil_div_usize;
|
||||||
|
|
||||||
use crate::gadgets::biguint::{
|
use crate::gadgets::biguint::{
|
||||||
GeneratedValuesBigUint, WitnessBigUint, BigUintTarget, CircuitBuilderBiguint,
|
BigUintTarget, CircuitBuilderBiguint, GeneratedValuesBigUint, WitnessBigUint,
|
||||||
};
|
};
|
||||||
|
|
||||||
#[derive(Clone, Debug)]
|
#[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>) {
|
fn run_once(&self, witness: &PartitionWitness<F>, out_buffer: &mut GeneratedValues<F>) {
|
||||||
let a = FF::from_noncanonical_biguint(witness.get_biguint_target(
|
let a = FF::from_noncanonical_biguint(witness.get_biguint_target(self.a.value.clone()));
|
||||||
self.a.value.clone(),
|
let b = FF::from_noncanonical_biguint(witness.get_biguint_target(self.b.value.clone()));
|
||||||
));
|
|
||||||
let b = FF::from_noncanonical_biguint(witness.get_biguint_target(
|
|
||||||
self.b.value.clone(),
|
|
||||||
));
|
|
||||||
let a_biguint = a.to_canonical_biguint();
|
let a_biguint = a.to_canonical_biguint();
|
||||||
let b_biguint = b.to_canonical_biguint();
|
let b_biguint = b.to_canonical_biguint();
|
||||||
let sum_biguint = a_biguint + b_biguint;
|
let sum_biguint = a_biguint + b_biguint;
|
||||||
@ -512,9 +508,7 @@ impl<F: RichField + Extendable<D>, const D: usize, FF: PrimeField> SimpleGenerat
|
|||||||
.summands
|
.summands
|
||||||
.iter()
|
.iter()
|
||||||
.map(|summand| {
|
.map(|summand| {
|
||||||
FF::from_noncanonical_biguint(witness.get_biguint_target(
|
FF::from_noncanonical_biguint(witness.get_biguint_target(summand.value.clone()))
|
||||||
summand.value.clone(),
|
|
||||||
))
|
|
||||||
})
|
})
|
||||||
.collect();
|
.collect();
|
||||||
let summand_biguints: Vec<_> = summands
|
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>) {
|
fn run_once(&self, witness: &PartitionWitness<F>, out_buffer: &mut GeneratedValues<F>) {
|
||||||
let a = FF::from_noncanonical_biguint(witness.get_biguint_target(
|
let a = FF::from_noncanonical_biguint(witness.get_biguint_target(self.a.value.clone()));
|
||||||
self.a.value.clone(),
|
let b = FF::from_noncanonical_biguint(witness.get_biguint_target(self.b.value.clone()));
|
||||||
));
|
|
||||||
let b = FF::from_noncanonical_biguint(witness.get_biguint_target(
|
|
||||||
self.b.value.clone(),
|
|
||||||
));
|
|
||||||
let a_biguint = a.to_canonical_biguint();
|
let a_biguint = a.to_canonical_biguint();
|
||||||
let b_biguint = b.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>) {
|
fn run_once(&self, witness: &PartitionWitness<F>, out_buffer: &mut GeneratedValues<F>) {
|
||||||
let a = FF::from_noncanonical_biguint(witness.get_biguint_target(
|
let a = FF::from_noncanonical_biguint(witness.get_biguint_target(self.a.value.clone()));
|
||||||
self.a.value.clone(),
|
let b = FF::from_noncanonical_biguint(witness.get_biguint_target(self.b.value.clone()));
|
||||||
));
|
|
||||||
let b = FF::from_noncanonical_biguint(witness.get_biguint_target(
|
|
||||||
self.b.value.clone(),
|
|
||||||
));
|
|
||||||
let a_biguint = a.to_canonical_biguint();
|
let a_biguint = a.to_canonical_biguint();
|
||||||
let b_biguint = b.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>) {
|
fn run_once(&self, witness: &PartitionWitness<F>, out_buffer: &mut GeneratedValues<F>) {
|
||||||
let x = FF::from_noncanonical_biguint(witness.get_biguint_target(
|
let x = FF::from_noncanonical_biguint(witness.get_biguint_target(self.x.value.clone()));
|
||||||
self.x.value.clone(),
|
|
||||||
));
|
|
||||||
let inv = x.inverse();
|
let inv = x.inverse();
|
||||||
|
|
||||||
let x_biguint = x.to_canonical_biguint();
|
let x_biguint = x.to_canonical_biguint();
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user