chore: simplify ToFields trait (#154)
This commit is contained in:
parent
b1689c5b37
commit
2a2628ccbf
6 changed files with 66 additions and 100 deletions
|
|
@ -38,8 +38,8 @@ pub const EMPTY_HASH: Hash = Hash([F::ZERO, F::ZERO, F::ZERO, F::ZERO]);
|
|||
pub struct Value(pub [F; VALUE_SIZE]);
|
||||
|
||||
impl ToFields for Value {
|
||||
fn to_fields(&self, _params: &Params) -> (Vec<F>, usize) {
|
||||
(self.0.to_vec(), VALUE_SIZE)
|
||||
fn to_fields(&self, _params: &Params) -> Vec<F> {
|
||||
self.0.to_vec()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -143,8 +143,8 @@ impl Hash {
|
|||
}
|
||||
|
||||
impl ToFields for Hash {
|
||||
fn to_fields(&self, _params: &Params) -> (Vec<F>, usize) {
|
||||
(self.0.to_vec(), VALUE_SIZE)
|
||||
fn to_fields(&self, _params: &Params) -> Vec<F> {
|
||||
self.0.to_vec()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -364,7 +364,7 @@ impl MockMainPod {
|
|||
pub fn hash_statements(statements: &[Statement], _params: &Params) -> middleware::Hash {
|
||||
let field_elems = statements
|
||||
.iter()
|
||||
.flat_map(|statement| statement.clone().to_fields(_params).0)
|
||||
.flat_map(|statement| statement.clone().to_fields(_params))
|
||||
.collect::<Vec<_>>();
|
||||
Hash(PoseidonHash::hash_no_pad(&field_elems).elements)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,22 +23,10 @@ impl Statement {
|
|||
}
|
||||
|
||||
impl ToFields for Statement {
|
||||
fn to_fields(&self, _params: &Params) -> (Vec<middleware::F>, usize) {
|
||||
let (native_statement_f, native_statement_f_len) = self.0.to_fields(_params);
|
||||
let (vec_statementarg_f, vec_statementarg_f_len) = self
|
||||
.1
|
||||
.clone()
|
||||
.into_iter()
|
||||
.map(|statement_arg| statement_arg.to_fields(_params))
|
||||
.fold((Vec::new(), 0), |mut acc, (f, l)| {
|
||||
acc.0.extend(f);
|
||||
acc.1 += l;
|
||||
acc
|
||||
});
|
||||
(
|
||||
[native_statement_f, vec_statementarg_f].concat(),
|
||||
native_statement_f_len + vec_statementarg_f_len,
|
||||
)
|
||||
fn to_fields(&self, _params: &Params) -> Vec<middleware::F> {
|
||||
let mut fields = self.0.to_fields(_params);
|
||||
fields.extend(self.1.iter().flat_map(|arg| arg.to_fields(_params)));
|
||||
fields
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue