Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: add documentation for FriE2F4 operation #1645

Merged
merged 10 commits into from
Feb 10, 2025
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 16 additions & 1 deletion core/src/operations/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -554,7 +554,22 @@ pub enum Operation {
/// track of both the old and new Merkle trees.
MrUpdate = OPCODE_MRUPDATE,

/// TODO: add docs
/// Performs FRI (Fast Reed-Solomon Interactive Oracle Proofs) layer folding by a factor of 4
/// for FRI protocol executed in a degree 2 extension of the base field.
///
/// This operation:
/// - Folds 4 query values (v0, v1), (v2, v3), (v4, v5), (v6, v7) into a single value (ne0,
/// ne1)
/// - Computes new value of the domain generator power: poe' = poe^4
/// - Increments layer pointer (cptr) by 2
/// - Checks that the previous folding was done correctly
/// - Shifts the stack to move an item from the overflow table to stack position 15
///
/// Stack transition:
/// Input: [v7, v6, v5, v4, v3, v2, v1, v0, f_pos, d_seg, poe, pe1, pe0, a1, a0, cptr, ...]
/// Output: [t1, t0, s1, s0, df3, df2, df1, df0, poe^2, f_tau, cptr+2, poe^4, f_pos, ne1, ne0,
/// eptr, ...] where eptr is moved from the stack overflow table and is the address of the
/// final FRI layer.
FriE2F4 = OPCODE_FRIE2F4,

/// Performs a single step of a random linear combination defining the DEEP composition
Expand Down
Loading