INNER CODE UNIT · Rust

apply_hacc_round

GuildOfWeavers/distaff · src/processor/decoder/mod.rs:448

    fn apply_hacc_round(&mut self, op_code: UserOps, op_value: u128) {

        // apply single round of sponge function
        sponge::apply_round(&mut self.sponge, op_code as u128, op_value, self.step - 1);

        // copy the new sponge state into the sponge_trace registers
        for i in 0..SPONGE_WIDTH {
            self.sponge_trace[i][self.step] = self.sponge[i];
        }
    }
}

// HELPER FUNCTIONS
// ================================================================================================
fn fill_register(register: &mut Vec<u128>, from: usize, value: u128) {
    let to = register.len();
    register.resize(from, field::ZERO);
    register.resize(to, value);

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…