File tree Expand file tree Collapse file tree 1 file changed +9
-6
lines changed Expand file tree Collapse file tree 1 file changed +9
-6
lines changed Original file line number Diff line number Diff line change @@ -192,12 +192,15 @@ def retrieve_from_job(job: "Task[DefType]") -> ty.Any:
192192 elif not self ._node .state .keys_final : # all states are combined over
193193 return [retrieve_from_job (j ) for j in jobs ]
194194 elif self ._node .state .combiner :
195- values = StateArray ()
196- for ind in self ._node .state .states_ind_final :
197- values .append (
198- [retrieve_from_job (j ) for j in jobs if j .state_index .matches (ind )]
199- )
200- return values
195+ sorted_values = {
196+ frozenset (i .items ()): [] for i in self ._node .state .states_ind_final
197+ }
198+ assert len (jobs ) == len (self ._node .state .inputs_ind )
199+ for ind , job in zip (self ._node .state .inputs_ind , jobs ):
200+ sorted_values [
201+ frozenset ((key , ind [key ]) for key in self ._node .state .keys_final )
202+ ].append (retrieve_from_job (job ))
203+ return StateArray (sorted_values .values ())
201204 else :
202205 return StateArray (retrieve_from_job (j ) for j in jobs )
203206
You can’t perform that action at this time.
0 commit comments