Skip to content

Commit 5e13a5c

Browse files
authored
Merge branch 'main' into feat/no-concat
2 parents 8aa37b9 + 6448be5 commit 5e13a5c

File tree

1 file changed

+5
-2
lines changed
  • crates/multilinear_extensions/src/expression

1 file changed

+5
-2
lines changed

crates/multilinear_extensions/src/expression/monomial.rs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ use serde::{Deserialize, Serialize};
55
use super::Expression;
66
use Expression::*;
77
use p3::field::FieldAlgebra;
8-
use std::{fmt::Display, iter::Sum};
8+
use std::{collections::BTreeMap, fmt::Display, iter::Sum};
99

1010
impl<E: ExtensionField> Expression<E> {
1111
pub fn get_monomial_terms(&self) -> Vec<Term<Expression<E>, Expression<E>>> {
@@ -71,7 +71,10 @@ impl<E: ExtensionField> Expression<E> {
7171
terms
7272
.into_iter()
7373
.map(|Term { scalar, product }| (product, scalar))
74-
.into_group_map()
74+
.fold(BTreeMap::new(), |mut acc, (product, scalar)| {
75+
acc.entry(product).or_insert_with(Vec::new).push(scalar);
76+
acc
77+
})
7578
.into_iter()
7679
.map(|(product, scalar)| Term {
7780
scalar: scalar.into_iter().sum(),

0 commit comments

Comments
 (0)