3
3
#![ allow( clippy:: needless_range_loop) ]
4
4
use ff_ext:: ExtensionField ;
5
5
use mpcs:: PolynomialCommitmentScheme ;
6
- use multilinear_extensions:: mle:: DenseMultilinearExtension ;
6
+ use multilinear_extensions:: mle:: { DenseMultilinearExtension , MultilinearExtension } ;
7
7
use super :: dense_mlpoly:: DensePolynomial ;
8
8
use super :: dense_mlpoly:: { EqPolynomial , IdentityPolynomial } ;
9
9
use super :: errors:: ProofVerifyError ;
@@ -277,8 +277,6 @@ pub struct MultiSparseMatPolynomialAsDense<E: ExtensionField> {
277
277
val : Vec < DensePolynomial < E > > ,
278
278
row : AddrTimestamps < E > ,
279
279
col : AddrTimestamps < E > ,
280
- comb_ops : DensePolynomial < E > ,
281
- comb_mem : DensePolynomial < E > ,
282
280
comb_ops_ceno_mle : DenseMultilinearExtension < E > ,
283
281
comb_mem_ceno_mle : DenseMultilinearExtension < E > ,
284
282
}
@@ -388,8 +386,6 @@ impl<E: ExtensionField> SparseMatPolynomial<E> {
388
386
row : ret_row,
389
387
col : ret_col,
390
388
val : ret_val_vec,
391
- comb_ops,
392
- comb_mem,
393
389
comb_ops_ceno_mle,
394
390
comb_mem_ceno_mle,
395
391
}
@@ -502,8 +498,8 @@ impl<E: ExtensionField, Pcs: PolynomialCommitmentScheme<E>> SparseMatPolyCommitm
502
498
let batch_size = sparse_polys. len ( ) ;
503
499
let dense = SparseMatPolynomial :: multi_sparse_to_dense_rep ( sparse_polys) ;
504
500
505
- let l_ops = dense. comb_ops . len ( ) ;
506
- let l_mem = dense. comb_mem . len ( ) ;
501
+ let l_ops = 1 << dense. comb_ops_ceno_mle . num_vars ;
502
+ let l_mem = 1 << dense. comb_mem_ceno_mle . num_vars ;
507
503
508
504
let ( p_ops, _) = Pcs :: trim ( Pcs :: setup ( l_ops) . expect ( "Param setup should not fail" ) , l_ops) . unwrap ( ) ;
509
505
let ( p_mem, _) = Pcs :: trim ( Pcs :: setup ( l_mem) . expect ( "Param setup should not fail" ) , l_mem) . unwrap ( ) ;
@@ -801,14 +797,13 @@ impl<E: ExtensionField, Pcs: PolynomialCommitmentScheme<E>> HashLayerProof<E, Pc
801
797
let joint_claim_eval_ops = poly_evals_ops[ 0 ] ;
802
798
let mut r_joint_ops = challenges_ops;
803
799
r_joint_ops. extend ( rand_ops) ;
804
- debug_assert_eq ! ( dense. comb_ops . evaluate( & r_joint_ops) , joint_claim_eval_ops) ;
800
+ debug_assert_eq ! ( dense. comb_ops_ceno_mle . evaluate( & r_joint_ops) , joint_claim_eval_ops) ;
805
801
append_field_to_transcript ( b"joint_claim_eval_ops" , transcript, joint_claim_eval_ops) ;
806
802
807
- let l: usize = 1 << dense. comb_ops . get_num_vars ( ) ;
808
- let mle = dense. comb_ops . clone ( ) . to_ceno_mle ( ) ;
803
+ let l: usize = 1 << dense. comb_ops_ceno_mle . num_vars ;
809
804
let ( pp, _vp) = Pcs :: trim ( Pcs :: setup ( l) . expect ( "Param setup shuold not fail." ) , l) . expect ( "Param trim should not fail." ) ;
810
- let comm_ops = Pcs :: commit ( & pp, & mle ) . expect ( "Commit should not fail." ) ;
811
- let proof_ops = Pcs :: open ( & pp, & mle , & comm_ops, & r_joint_ops, & joint_claim_eval_ops, transcript) . expect ( "Proof should not fail" ) ;
805
+ let comm_ops = Pcs :: commit ( & pp, & dense . comb_ops_ceno_mle ) . expect ( "Commit should not fail." ) ;
806
+ let proof_ops = Pcs :: open ( & pp, & dense . comb_ops_ceno_mle , & comm_ops, & r_joint_ops, & joint_claim_eval_ops, transcript) . expect ( "Proof should not fail" ) ;
812
807
813
808
// form a single decommitment using comb_comb_mem at rand_mem
814
809
let evals_mem: Vec < E > = vec ! [ eval_row_audit_ts, eval_col_audit_ts] ;
@@ -824,14 +819,13 @@ impl<E: ExtensionField, Pcs: PolynomialCommitmentScheme<E>> HashLayerProof<E, Pc
824
819
let joint_claim_eval_mem = poly_evals_mem[ 0 ] ;
825
820
let mut r_joint_mem = challenges_mem;
826
821
r_joint_mem. extend ( rand_mem) ;
827
- debug_assert_eq ! ( dense. comb_mem . evaluate( & r_joint_mem) , joint_claim_eval_mem) ;
822
+ debug_assert_eq ! ( dense. comb_mem_ceno_mle . evaluate( & r_joint_mem) , joint_claim_eval_mem) ;
828
823
append_field_to_transcript ( b"joint_claim_eval_mem" , transcript, joint_claim_eval_mem) ;
829
824
830
- let l: usize = 1 << dense. comb_mem . get_num_vars ( ) ;
831
- let mle = dense. comb_mem . clone ( ) . to_ceno_mle ( ) ;
825
+ let l: usize = 1 << dense. comb_mem_ceno_mle . num_vars ;
832
826
let ( pp, _vp) = Pcs :: trim ( Pcs :: setup ( l) . expect ( "Param setup should not fail." ) , l) . expect ( "Param trim should not fail." ) ;
833
- let comm_mem = Pcs :: commit ( & pp, & mle ) . expect ( "Commit should not fail." ) ;
834
- let proof_mem = Pcs :: open ( & pp, & mle , & comm_mem, & r_joint_mem, & joint_claim_eval_mem, transcript) . expect ( "Proof should not fail" ) ;
827
+ let comm_mem = Pcs :: commit ( & pp, & dense . comb_mem_ceno_mle ) . expect ( "Commit should not fail." ) ;
828
+ let proof_mem = Pcs :: open ( & pp, & dense . comb_mem_ceno_mle , & comm_mem, & r_joint_mem, & joint_claim_eval_mem, transcript) . expect ( "Proof should not fail" ) ;
835
829
836
830
HashLayerProof {
837
831
eval_row : ( eval_row_addr_vec, eval_row_read_ts_vec, eval_row_audit_ts) ,
0 commit comments