INNER CODE UNIT · Rust
fill_segment
brndnmtthws/dryoc · src/argon2/mod.rs:503
fn fill_segment(instance: &mut Argon2Instance, position: &mut Argon2Position) {
let data_independent_addressing = !(instance.type_ == Argon2Type::Argon2id
&& (position.pass != 0 || position.slice as u32 >= (ARGON2_SYNC_POINTS / 2)));
if data_independent_addressing {
generate_addresses(instance, position);
}
let starting_index = if position.pass == 0 && position.slice == 0 {
2
} else {
0
};
let curr_offset = position.lane * instance.lane_length
+ position.slice as u32 * instance.segment_length
+ starting_index;