mirror of
https://github.com/logos-storage/plonky2.git
synced 2026-02-02 04:53:11 +00:00
Use repeated_frobenius in ExtensionTarget::frobenius.
This commit is contained in:
parent
b44a01c975
commit
89c6a6b4e6
@ -18,18 +18,7 @@ impl<const D: usize> ExtensionTarget<D> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub fn frobenius<F: Extendable<D>>(&self, builder: &mut CircuitBuilder<F, D>) -> Self {
|
pub fn frobenius<F: Extendable<D>>(&self, builder: &mut CircuitBuilder<F, D>) -> Self {
|
||||||
let arr = self.to_target_array();
|
self.repeated_frobenius(1, builder)
|
||||||
let k = (F::ORDER - 1) / (D as u64);
|
|
||||||
let zs = (0..D as u64)
|
|
||||||
.map(|i| builder.constant(F::Extension::W.exp(k * i)))
|
|
||||||
.collect::<Vec<_>>();
|
|
||||||
|
|
||||||
let mut res = Vec::with_capacity(D);
|
|
||||||
for (z, a) in zs.into_iter().zip(arr) {
|
|
||||||
res.push(builder.mul(z, a));
|
|
||||||
}
|
|
||||||
|
|
||||||
res.try_into().unwrap()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn repeated_frobenius<F: Extendable<D>>(
|
pub fn repeated_frobenius<F: Extendable<D>>(
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user