mirror of
https://github.com/logos-storage/plonky2.git
synced 2026-01-07 16:23:12 +00:00
Little circuit optimization
This commit is contained in:
parent
5a261332d9
commit
e98593aa7e
@ -56,15 +56,14 @@ impl<F: Field> CircuitBuilder<F> {
|
|||||||
where
|
where
|
||||||
F: Extendable<D>,
|
F: Extendable<D>,
|
||||||
{
|
{
|
||||||
let w = self.constant(F::Extension::W);
|
|
||||||
let mut res = [self.zero(); D];
|
let mut res = [self.zero(); D];
|
||||||
for i in 0..D {
|
for i in 0..D {
|
||||||
for j in 0..D {
|
for j in 0..D {
|
||||||
res[(i + j) % D] = if i + j < D {
|
res[(i + j) % D] = if i + j < D {
|
||||||
self.mul_add(a.0[i], b.0[j], res[(i + j) % D])
|
self.mul_add(a.0[i], b.0[j], res[(i + j) % D])
|
||||||
} else {
|
} else {
|
||||||
let tmp = self.mul(a.0[i], b.0[j]);
|
// W * a[i] * b[i] + res[(i + j) % W]
|
||||||
self.mul_add(w, tmp, res[(i + j) % D])
|
self.arithmetic(F::Extension::W, a.0[i], b.0[i], F::Extension::ONE, res[(i + j) % D]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user