Function fold_interleaved

Source
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 least log_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.