mirror of
https://github.com/logos-storage/plonky2.git
synced 2026-01-03 06:13:07 +00:00
Apply Nick's comment
This commit is contained in:
parent
258b075fd2
commit
05e9fc0bed
@ -20,20 +20,20 @@ pub(crate) fn eval_round_flags<F: Field, P: PackedField<Scalar = F>>(
|
||||
}
|
||||
|
||||
// Flags should circularly increment, or be all zero for padding rows.
|
||||
let next_all_flags = (0..NUM_ROUNDS)
|
||||
let next_any_flag = (0..NUM_ROUNDS)
|
||||
.map(|i| vars.next_values[reg_step(i)])
|
||||
.sum::<P>();
|
||||
for i in 0..NUM_ROUNDS {
|
||||
let current_round_flag = vars.local_values[reg_step(i)];
|
||||
let next_round_flag = vars.next_values[reg_step((i + 1) % NUM_ROUNDS)];
|
||||
yield_constr.constraint_transition(next_all_flags * (next_round_flag - current_round_flag));
|
||||
yield_constr.constraint_transition(next_any_flag * (next_round_flag - current_round_flag));
|
||||
}
|
||||
|
||||
// Padding rows should always be followed by padding rows.
|
||||
let current_all_flags = (0..NUM_ROUNDS)
|
||||
let current_any_flag = (0..NUM_ROUNDS)
|
||||
.map(|i| vars.local_values[reg_step(i)])
|
||||
.sum::<P>();
|
||||
yield_constr.constraint_transition(next_all_flags * (current_all_flags - F::ONE));
|
||||
yield_constr.constraint_transition(next_any_flag * (current_any_flag - F::ONE));
|
||||
}
|
||||
|
||||
pub(crate) fn eval_round_flags_recursively<F: RichField + Extendable<D>, const D: usize>(
|
||||
@ -51,19 +51,19 @@ pub(crate) fn eval_round_flags_recursively<F: RichField + Extendable<D>, const D
|
||||
}
|
||||
|
||||
// Flags should circularly increment, or be all zero for padding rows.
|
||||
let next_all_flags =
|
||||
let next_any_flag =
|
||||
builder.add_many_extension((0..NUM_ROUNDS).map(|i| vars.next_values[reg_step(i)]));
|
||||
for i in 0..NUM_ROUNDS {
|
||||
let current_round_flag = vars.local_values[reg_step(i)];
|
||||
let next_round_flag = vars.next_values[reg_step((i + 1) % NUM_ROUNDS)];
|
||||
let diff = builder.sub_extension(next_round_flag, current_round_flag);
|
||||
let constraint = builder.mul_extension(next_all_flags, diff);
|
||||
let constraint = builder.mul_extension(next_any_flag, diff);
|
||||
yield_constr.constraint_transition(builder, constraint);
|
||||
}
|
||||
|
||||
// Padding rows should always be followed by padding rows.
|
||||
let current_all_flags =
|
||||
let current_any_flag =
|
||||
builder.add_many_extension((0..NUM_ROUNDS).map(|i| vars.local_values[reg_step(i)]));
|
||||
let constraint = builder.mul_sub_extension(next_all_flags, current_all_flags, next_all_flags);
|
||||
let constraint = builder.mul_sub_extension(next_any_flag, current_any_flag, next_any_flag);
|
||||
yield_constr.constraint_transition(builder, constraint);
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user