Skip to content

Commit 1f6b037

Browse files
committed
fix: make covariance group indexing deterministic
1 parent 712d629 commit 1f6b037

1 file changed

Lines changed: 8 additions & 4 deletions

File tree

‎CodeEntropy/levels/nodes/accumulators.py‎

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -86,17 +86,21 @@ def run(self, shared_data: dict[str, Any]) -> dict[str, Any]:
8686

8787
@staticmethod
8888
def _build_group_index(groups: dict[int, Any]) -> GroupIndex:
89-
"""Build group id <-> index mappings.
89+
"""Build deterministic group id <-> index mappings.
9090
9191
Args:
9292
groups: Mapping of group id to group members.
9393
9494
Returns:
9595
GroupIndex mapping object.
9696
"""
97-
group_ids = list(groups.keys())
98-
gid2i = {gid: i for i, gid in enumerate(group_ids)}
99-
return GroupIndex(group_id_to_index=gid2i, index_to_group_id=list(group_ids))
97+
group_ids = sorted(groups)
98+
gid2i = {gid: index for index, gid in enumerate(group_ids)}
99+
100+
return GroupIndex(
101+
group_id_to_index=gid2i,
102+
index_to_group_id=group_ids,
103+
)
100104

101105
@staticmethod
102106
def _build_accumulators(n_groups: int) -> CovarianceAccumulators:

0 commit comments

Comments
 (0)