pub fn fold_interleaved<F, FS, NTT, P>(
ntt: &NTT,
codeword: &[P],
challenges: &[F],
log_len: usize,
log_batch_size: usize,
) -> Vec<F>where
F: BinaryField + ExtensionField<FS>,
FS: BinaryField,
NTT: AdditiveNTT<FS> + Sync,
P: PackedField<Scalar = F>,
Expand description
FRI-fold the interleaved codeword using the given challenges.
ยงArguments
ntt
- the NTT instance, used to look up the twiddle values.codeword
- an interleaved codeword.challenges
- the folding challenges. The length must be at leastlog_batch_size
.log_len
- the binary logarithm of the code length.log_batch_size
- the binary logarithm of the interleaved code batch size.
See DP24, Def. 3.6 and Lemma 3.9 for more details.