Skip to content

Commit e8ca507

Browse files
committed
-
1 parent b72e576 commit e8ca507

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

source_py3/python_toolbox/combi/perm_space.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -721,6 +721,27 @@ def index(self, perm):
721721
free_values_perm_sequence
722722
)
723723

724+
elif self.is_recurrent:
725+
assert (not self.is_fixed and not self.is_degreed
726+
and not self.is_dapplied)
727+
728+
wip_perm_number = 0
729+
unused_values = list(self.sequence)
730+
for i, value in enumerate(perm):
731+
unused_values.remove(value)
732+
lower_values = [thing for thing in
733+
nifty_collections.OrderedSet(unused_values)
734+
if self.sequence.index(thing) <
735+
self.sequence.index(value)]
736+
for lower_value in lower_values:
737+
wip_perm_number += PermSpace(
738+
wip_perm_sequence[:i] + [lower_value],
739+
degrees=self.degrees,
740+
fixed_map=dict(enumerate(temp_perm_sequence))
741+
).length
742+
743+
perm_number = wip_perm_number
744+
724745
else:
725746
perm_number = perm.number
726747

0 commit comments

Comments
 (0)