arnaucube
arnaucube/ark-r1cs-stdPublic Self-hosted repository
Minor Bug Fix (#87)

Tom Shen tomshen@berkeley.edu
Wed, 22 Dec 2021 18:13:42 -0800
commit

986ab20ac0c9e799148dc5d4092987ad4b7e9397

parent

1f56c46edc995d265602958c133da29bacb281ee

1 files changed, 4 insertions(+), 7 deletions(-)

jump to
M src/poly/domain/mod.rs → src/poly/domain/mod.rs

@@ -92,7 +92,7 @@ /// For domain `h<g>` with dimension `n`, `position` represented by `query_pos` in big endian form,

/// returns all points of `h*g^{position}<g^{n-query_pos.len()}>` /// /// # Panics - /// This function panics when `query_pos.len() != coset_dim` or `query_pos.len() != self.dim`. + /// This function panics when `query_pos.len() < log2_num_cosets`. pub fn query_position_to_coset( &self, query_pos: &[Boolean<F>],

@@ -113,12 +113,9 @@ query_pos: &[Boolean<F>],

codeword_dim: u64, coset_dim: u64, ) -> Vec<Boolean<F>> { - assert!(query_pos.len() == codeword_dim as usize || query_pos.len() == coset_dim as usize); - if query_pos.len() == codeword_dim as usize { - query_pos[0..(query_pos.len() - coset_dim as usize)].to_vec() - } else { - query_pos.to_vec() - } + let log2_num_cosets = (codeword_dim - coset_dim) as usize; + assert!(query_pos.len() >= log2_num_cosets); + query_pos[0..log2_num_cosets].to_vec() } #[cfg(test)]