@@ -325,7 +325,8 @@ where
325325 let eval_rlc = FieldExtension :: multiply ( alpha_acc, eval) ;
326326 prod_specific. eval_rlc = eval_rlc;
327327
328- if mode == NEXT_LAYER_MODE && round + 1 < max_round - 1 {
328+ let to_next_round = if mode == NEXT_LAYER_MODE { 1 } else { 0 } ;
329+ if round + to_next_round < max_round - 1 {
329330 eval_acc = FieldExtension :: add ( eval_acc, eval_rlc) ;
330331 prod_row. should_acc = F :: ONE ;
331332 prod_row. prod_acc = F :: ONE ;
@@ -445,7 +446,8 @@ where
445446 FieldExtension :: multiply ( alpha_denominator, q_eval) ,
446447 ) ;
447448 logup_specific. eval_rlc = eval_rlc;
448- if mode == NEXT_LAYER_MODE && round + 1 < max_round - 1 {
449+ let to_next_round = if mode == NEXT_LAYER_MODE { 1 } else { 0 } ;
450+ if round + to_next_round < max_round - 1 {
449451 eval_acc = FieldExtension :: add ( eval_acc, eval_rlc) ;
450452 logup_row. should_acc = F :: ONE ;
451453 logup_row. logup_acc = F :: ONE ;
@@ -480,12 +482,16 @@ where
480482 let specific: & mut ProdSpecificCols < F > =
481483 row. specific [ ..ProdSpecificCols :: < F > :: width ( ) ] . borrow_mut ( ) ;
482484
483- eval_acc = FieldExtension :: subtract ( eval_acc, specific. eval_rlc ) ;
485+ if row. should_acc == F :: ONE {
486+ eval_acc = FieldExtension :: subtract ( eval_acc, specific. eval_rlc ) ;
487+ }
484488 row. eval_acc = eval_acc;
485489 } else if row. logup_row == F :: ONE {
486490 let specific: & mut LogupSpecificCols < F > =
487491 row. specific [ ..LogupSpecificCols :: < F > :: width ( ) ] . borrow_mut ( ) ;
488- eval_acc = FieldExtension :: subtract ( eval_acc, specific. eval_rlc ) ;
492+ if row. should_acc == F :: ONE {
493+ eval_acc = FieldExtension :: subtract ( eval_acc, specific. eval_rlc ) ;
494+ }
489495 row. eval_acc = eval_acc;
490496 }
491497 }
0 commit comments