mirror of
https://github.com/logos-storage/plonky2.git
synced 2026-01-25 09:03:09 +00:00
mul
This commit is contained in:
parent
956b34c2e9
commit
72aea53d13
@ -118,21 +118,32 @@ impl<F: RichField + Extendable<D>, const D: usize> CircuitBuilder<F, D> {
|
||||
let num_limbs = a.limbs.len();
|
||||
debug_assert!(b.limbs.len() == num_limbs);
|
||||
|
||||
/*let mut combined_limbs = self.add_virtual_u32_targets(2 * num_limbs - 1);
|
||||
let mut combined_limbs = self.add_virtual_u32_targets(2 * num_limbs - 1);
|
||||
let mut to_add = vec![vec![]; 2 * num_limbs];
|
||||
for i in 0..num_limbs {
|
||||
for j in 0..num_limbs {
|
||||
let sum = self.add_u32(a.limbs[i], b.limbs[j]);
|
||||
combined_limbs[i + j] = self.add_u32(combined_limbs[i + j], sum);
|
||||
let (product, carry) = self.mul_u32(a.limbs[i], b.limbs[j]);
|
||||
to_add[i + j].push(product);
|
||||
to_add[i + j + 1].push(carry);
|
||||
}
|
||||
}
|
||||
|
||||
let mut combined_limbs = vec![];
|
||||
let mut carry = self.zero_u32();
|
||||
for i in 0..2 * num_limbs {
|
||||
to_add[i].push(carry);
|
||||
let (new_result, new_carry) = self.add_many_u32(to_add[i]);
|
||||
combined_limbs.push(new_result);
|
||||
carry = new_carry;
|
||||
}
|
||||
combined_limbs.push(carry);
|
||||
|
||||
let reduced_limbs = self.reduce_mul_result::<FF>(combined_limbs);
|
||||
|
||||
ForeignFieldTarget {
|
||||
limbs: reduced_limbs,
|
||||
_phantom: PhantomData,
|
||||
}*/
|
||||
todo!()
|
||||
}
|
||||
}
|
||||
|
||||
pub fn reduce_mul_result<FF: Field>(&mut self, limbs: Vec<U32Target>) -> Vec<U32Target> {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user