Skip to content

Commit 00f5e5e

Browse files
committed
-
1 parent 5bf7843 commit 00f5e5e

File tree

1 file changed

+16
-3
lines changed

1 file changed

+16
-3
lines changed

source_py3/python_toolbox/combi/perming/perm_space.py

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -552,7 +552,8 @@ def __getitem__(self, i):
552552
return self.unsliced[i + self.canonical_slice.start]
553553
elif self.is_dapplied:
554554
return self.perm_type(self.undapplied[i], perm_space=self)
555-
555+
556+
#######################################################################
556557
elif self.is_degreed:
557558
if self.is_rapplied:
558559
assert not self.is_recurrent and \
@@ -624,6 +625,8 @@ def __getitem__(self, i):
624625
assert wip_i == 0
625626
return self.perm_type((wip_perm_sequence_dict[k] for k in
626627
self.domain), self)
628+
629+
#######################################################################
627630
elif self.is_recurrent:
628631
assert not self.is_dapplied and not self.is_degreed and \
629632
not self.is_sliced
@@ -670,6 +673,7 @@ def __getitem__(self, i):
670673
self
671674
)
672675

676+
#######################################################################
673677
elif self.is_fixed:
674678
free_values_perm = self._free_values_unsliced_perm_space[i]
675679
free_values_perm_iterator = iter(free_values_perm)
@@ -683,6 +687,7 @@ def __getitem__(self, i):
683687
self
684688
)
685689

690+
#######################################################################
686691
elif self.is_combination:
687692
wip_number = self.length - 1 - i
688693
wip_perm_sequence = []
@@ -702,6 +707,7 @@ def __getitem__(self, i):
702707
return self.perm_type(result, self)
703708

704709

710+
#######################################################################
705711
else:
706712
factoradic_number = math_tools.to_factoradic(
707713
i * math.factorial(
@@ -777,7 +783,9 @@ def index(self, perm):
777783
# At this point we know the permutation contains the correct items, and
778784
# has the correct degree.
779785
if perm.is_dapplied: return self.undapplied.index(perm.undapplied)
780-
if self.is_degreed:
786+
787+
#######################################################################
788+
elif self.is_degreed:
781789
if perm.is_rapplied: return self.unrapplied.index(perm.unrapplied)
782790
wip_perm_number = 0
783791
wip_perm_sequence_dict = dict(self.fixed_map)
@@ -799,6 +807,7 @@ def index(self, perm):
799807

800808
perm_number = wip_perm_number
801809

810+
#######################################################################
802811
elif self.is_recurrent:
803812
assert not self.is_degreed and not self.is_dapplied
804813

@@ -846,6 +855,7 @@ def index(self, perm):
846855

847856
perm_number = wip_perm_number
848857

858+
#######################################################################
849859
elif self.is_fixed:
850860
assert not self.is_degreed and not self.is_recurrent
851861
free_values_perm_sequence = []
@@ -864,6 +874,7 @@ def index(self, perm):
864874
)
865875

866876

877+
#######################################################################
867878
elif self.is_combination:
868879
if perm.is_rapplied:
869880
return self.unrapplied.index(perm.unrapplied)
@@ -885,8 +896,8 @@ def index(self, perm):
885896
0
886897
)
887898

899+
#######################################################################
888900
else:
889-
890901
factoradic_number = []
891902
unused_values = list(self.sequence)
892903
for i, value in enumerate(perm._perm_sequence):
@@ -899,6 +910,8 @@ def index(self, perm):
899910
) // math.factorial(self.n_unused_elements)
900911

901912

913+
#######################################################################
914+
902915
if perm_number not in self.canonical_slice:
903916
raise ValueError
904917

0 commit comments

Comments
 (0)