plonky2/src/plonk_common.rs

20 lines
457 B
Rust
Raw Normal View History

2021-03-30 20:16:20 -07:00
use crate::circuit_builder::CircuitBuilder;
use crate::field::field::Field;
use crate::target::Target;
pub(crate) fn reduce_with_powers<F: Field>(terms: Vec<F>, alpha: F) -> F {
let mut sum = F::ZERO;
for &term in terms.iter().rev() {
sum = sum * alpha + term;
}
sum
}
pub(crate) fn reduce_with_powers_recursive<F: Field>(
builder: &mut CircuitBuilder<F>,
terms: Vec<Target>,
alpha: Target,
) -> Target {
todo!()
}