Skip to content

Commit b1ba78a

Browse files
author
Release Manager
committed
gh-36140: python-style loops in partn_ref.data_structures (partial) + some pep8
This converts some loops to the python style. Plus a few pep8 details fixed ### 📝 Checklist - [x] The title is concise, informative, and self-explanatory. - [x] The description explains in detail what this PR is about. URL: #36140 Reported by: Frédéric Chapoton Reviewer(s):
2 parents c42a5e8 + d27e912 commit b1ba78a

File tree

4 files changed

+66
-62
lines changed

4 files changed

+66
-62
lines changed

build/pkgs/configure/checksums.ini

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
tarball=configure-VERSION.tar.gz
2-
sha1=15c6dc9764f4e9dfc526e7131483989b8ea72430
3-
md5=c46a0fd95ab6860f6d7185ca467b1df2
4-
cksum=427186534
2+
sha1=22e2365f4c9358bf01fd843d9c03da5f78aba21b
3+
md5=9b00af3148327c09bbdf0c00ac774a8d
4+
cksum=277459113
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
aa220c4a1e34607d75d86b5abe022bd0c0358644
1+
50f273e794c266ef55d38a1d64d300f1eee17ac4

src/sage/groups/perm_gps/partn_ref/data_structures.pyx

Lines changed: 59 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ cdef OP_string(OrbitPartition *OP):
7373
"""
7474
cdef i,j
7575
s = ""
76-
for i from 0 <= i < OP.degree:
76+
for i in range(OP.degree):
7777
s += " "
7878
j = OP_find(OP, i)
7979
s += "%d -> %d"%(i, j)
@@ -133,7 +133,7 @@ def OP_represent(int n, merges, perm):
133133
print("Allocation passed.")
134134
print("Checking that each element reports itself as its root.")
135135
good = True
136-
for i from 0 <= i < n:
136+
for i in range(n):
137137
if not OP_find(OP, i) == i:
138138
print("Failed at i = %d!" % i)
139139
good = False
@@ -145,7 +145,7 @@ def OP_represent(int n, merges, perm):
145145
print("Merged %d and %d." % (i, j))
146146
print("Done merging.")
147147
print("Finding:")
148-
for i from 0 <= i < n:
148+
for i in range(n):
149149
j = OP_find(OP, i)
150150
s = "%d -> %d"%(i, j)
151151
if i == j:
@@ -159,13 +159,13 @@ def OP_represent(int n, merges, perm):
159159
OP_dealloc(OP)
160160
return
161161
print("Allocation passed.")
162-
for i from 0 <= i < n:
162+
for i in range(n):
163163
gamma[i] = perm[i]
164164
print("Merging permutation: %s" % perm)
165165
OP_merge_list_perm(OP, gamma)
166166
print("Done merging.")
167167
print("Finding:")
168-
for i from 0 <= i < n:
168+
for i in range(n):
169169
j = OP_find(OP, i)
170170
s = "%d -> %d"%(i, j)
171171
if i == j:
@@ -207,7 +207,7 @@ cdef void PS_unit_partition(PartitionStack *PS):
207207
"""
208208
cdef int i, n = PS.degree
209209
PS.depth = 0
210-
for i from 0 <= i < n-1:
210+
for i in range(n - 1):
211211
PS.entries[i] = i
212212
PS.levels[i] = n
213213
PS.entries[n-1] = n-1
@@ -243,14 +243,14 @@ cdef PartitionStack *PS_from_list(list L):
243243
null pointer in the case of an allocation failure.
244244
"""
245245
cdef int cell, i, num_cells = len(L), cur_start = 0, cur_len, n = 0
246-
for cell from 0 <= cell < num_cells:
246+
for cell in range(num_cells):
247247
n += len(L[cell])
248248
cdef PartitionStack *PS = PS_new(n, 0)
249249
if PS is NULL:
250250
return NULL
251-
for cell from 0 <= cell < num_cells:
251+
for cell in range(num_cells):
252252
cur_len = len(L[cell])
253-
for i from 0 <= i < cur_len:
253+
for i in range(cur_len):
254254
PS.entries[cur_start + i] = L[cell][i]
255255
PS.levels[cur_start + i] = n
256256
PS_move_min_to_front(PS, cur_start, cur_start+cur_len-1)
@@ -267,15 +267,15 @@ cdef PS_print(PartitionStack *PS):
267267
Print a visual representation of PS.
268268
"""
269269
cdef int i
270-
for i from 0 <= i <= PS.depth:
270+
for i in range(PS.depth + 1):
271271
PS_print_partition(PS, i)
272272

273273
cdef PS_print_partition(PartitionStack *PS, int k):
274274
"""
275275
Print the partition at depth k.
276276
"""
277277
s = '('
278-
for i from 0 <= i < PS.degree:
278+
for i in range(PS.degree):
279279
s += str(PS.entries[i])
280280
if PS.levels[i] <= k:
281281
s += '|'
@@ -340,7 +340,7 @@ cdef int PS_all_new_cells(PartitionStack *PS, bitset_t** nonsingletons_ptr):
340340
if end != n:
341341
if PS.levels[end] == PS.depth:
342342
bitset_zero(scratch)
343-
for i from beg <= i <= end:
343+
for i in range(beg, end + 1):
344344
bitset_set(scratch, PS.entries[i])
345345
count +=1
346346
nonsingletons = <bitset_t*> sig_realloc(nonsingletons, count * sizeof(bitset_t))
@@ -368,7 +368,7 @@ cdef int PS_find_element(PartitionStack *PS, bitset_t b, int x) except -1:
368368
"""
369369
cdef int i, location, n = PS.degree
370370
bitset_zero(b)
371-
for i from 0 <= i < n:
371+
for i in range(n):
372372
if PS.entries[i] == x:
373373
location = i
374374
break
@@ -472,7 +472,7 @@ def PS_represent(partition, splits):
472472
PS_print(PS)
473473
print("Checking that entries are in order and correct level.")
474474
good = True
475-
for i from 0 <= i < n-1:
475+
for i in range(n - 1):
476476
if not (PS.entries[i] == i and PS.levels[i] == n):
477477
print("Failed at i = %d!" % i)
478478
print(PS.entries[i], PS.levels[i], i, n)
@@ -487,19 +487,19 @@ def PS_represent(partition, splits):
487487
print("Everything seems in order, deallocating.")
488488
PS_dealloc(PS)
489489
print("Deallocated.")
490-
print("Creating PartitionStack from partition %s."%partition)
490+
print("Creating PartitionStack from partition %s." % partition)
491491
PS = PS_from_list(partition)
492492
print("PartitionStack's data:")
493-
print("entries -> %s"%[PS.entries[i] for i from 0 <= i < n])
494-
print("levels -> %s"%[PS.levels[i] for i from 0 <= i < n])
493+
print("entries -> %s"%[PS.entries[i] for i in range(n)])
494+
print("levels -> %s"%[PS.levels[i] for i in range(n)])
495495
print("depth = %d, degree = %d" % (PS.depth,PS.degree))
496496
PS_print(PS)
497497
print("Checking PS_is_discrete:")
498498
print("True" if PS_is_discrete(PS) else "False")
499499
print("Checking PS_num_cells:")
500500
print(PS_num_cells(PS))
501501
print("Checking PS_is_mcr, min cell reps are:")
502-
L = [PS.entries[i] for i from 0 <= i < n if PS_is_mcr(PS, i)]
502+
L = [PS.entries[i] for i in range(n) if PS_is_mcr(PS, i)]
503503
print(L)
504504
print("Checking PS_is_fixed, fixed elements are:")
505505
print([PS.entries[l] for l in L if PS_is_fixed(PS, l)])
@@ -508,7 +508,7 @@ def PS_represent(partition, splits):
508508
PS_print(PS2)
509509
print("Checking for consistency.")
510510
good = True
511-
for i from 0 <= i < n:
511+
for i in range(n):
512512
if PS.entries[i] != PS2.entries[i] or PS.levels[i] != PS2.levels[i]:
513513
print("Failed at i = %d!"%i)
514514
good = False
@@ -527,7 +527,7 @@ def PS_represent(partition, splits):
527527
print("Getting permutation from PS2->PS:")
528528
gamma = <int *> sig_malloc(n * sizeof(int))
529529
PS_get_perm_from(PS, PS2, gamma)
530-
print([gamma[i] for i from 0 <= i < n])
530+
print([gamma[i] for i in range(n)])
531531
sig_free(gamma)
532532
print("Finding first smallest:")
533533
bitset_init(b, n)
@@ -609,15 +609,15 @@ cdef StabilizerChain *SC_new(int n, bint init_gens=True):
609609
SC.base_orbits = int_ptrs + 2*n
610610
SC.parents = int_ptrs + 3*n
611611
SC.labels = int_ptrs + 4*n
612-
for i from 0 <= i < n:
612+
for i in range(n):
613613
SC.base_orbits[i] = int_array
614614
SC.parents[i] = int_array + n
615615
SC.labels[i] = int_array + 2*n
616616
int_array += 3*n
617617

618618
# second level allocations
619619
if init_gens:
620-
for i from 0 <= i < n:
620+
for i in range(n):
621621
SC.array_size[i] = default_num_gens
622622
SC.generators[i] = <int *> sig_malloc( default_num_gens*n * sizeof(int) )
623623
SC.gen_inverses[i] = <int *> sig_malloc( default_num_gens*n * sizeof(int) )
@@ -654,7 +654,7 @@ cdef inline void SC_dealloc(StabilizerChain *SC):
654654
if SC is not NULL:
655655
n = SC.degree
656656
if SC.generators is not NULL:
657-
for i from 0 <= i < n:
657+
for i in range(n):
658658
sig_free(SC.generators[i])
659659
sig_free(SC.gen_inverses[i])
660660
sig_free(SC.generators) # frees int_ptrs
@@ -675,29 +675,29 @@ cdef StabilizerChain *SC_symmetric_group(int n):
675675
if SC is NULL:
676676
return NULL
677677
SC.base_size = n-1
678-
for i from 0 <= i < n-1:
678+
for i in range(n - 1):
679679
SC.array_size[i] = n-i-1
680680
SC.array_size[n-1] = default_num_gens
681-
for i from 0 <= i < n:
681+
for i in range(n):
682682
SC.generators[i] = <int *> sig_malloc( SC.array_size[i]*n * sizeof(int) )
683683
SC.gen_inverses[i] = <int *> sig_malloc( SC.array_size[i]*n * sizeof(int) )
684684
if SC.generators[i] is NULL or SC.gen_inverses[i] is NULL:
685685
SC_dealloc(SC)
686686
return NULL
687687
cdef int *id_perm = SC.perm_scratch
688-
for i from 0 <= i < n:
688+
for i in range(n):
689689
id_perm[i] = i
690-
for i from 0 <= i < n-1:
690+
for i in range(n - 1):
691691
b = i
692692
SC.orbit_sizes[i] = n-i
693693
SC.num_gens[i] = n-i-1
694-
for j from 0 <= j < i:
694+
for j in range(i):
695695
SC.parents[i][j] = -1
696-
for j from 0 <= j < n-i:
696+
for j in range(n - i):
697697
SC.base_orbits[i][j] = i+j
698698
SC.parents[i][i+j] = b
699699
SC.labels[i][i+j] = j
700-
for j from 0 <= j < n-i-1:
700+
for j in range(n - i - 1):
701701
#j-th generator sends i+j+1 to b
702702
memcpy(SC.generators[i] + n*j, id_perm, n * sizeof(int) )
703703
SC.generators[i][n*j + i+j+1] = b
@@ -716,31 +716,31 @@ cdef StabilizerChain *SC_alternating_group(int n):
716716
if SC is NULL:
717717
return NULL
718718
SC.base_size = n-2
719-
for i from 0 <= i < n-2:
719+
for i in range(n - 2):
720720
SC.array_size[i] = n-i-1
721721
SC.array_size[n-2] = default_num_gens
722722
SC.array_size[n-1] = default_num_gens
723-
for i from 0 <= i < n:
723+
for i in range(n):
724724
SC.generators[i] = <int *> sig_malloc( SC.array_size[i]*n * sizeof(int) )
725725
SC.gen_inverses[i] = <int *> sig_malloc( SC.array_size[i]*n * sizeof(int) )
726726
if SC.generators[i] is NULL or SC.gen_inverses[i] is NULL:
727727
SC_dealloc(SC)
728728
return NULL
729729
cdef int *id_perm = SC.perm_scratch
730-
for i from 0 <= i < n:
730+
for i in range(n):
731731
id_perm[i] = i
732-
for i from 0 <= i < n-2:
732+
for i in range(n - 2):
733733
b = i
734734
SC.orbit_sizes[i] = n-i
735735
SC.num_gens[i] = n-i-2
736-
for j from 0 <= j < i:
736+
for j in range(i):
737737
SC.parents[i][j] = -1
738-
for j from 0 <= j < n-i:
738+
for j in range(n - i):
739739
SC.base_orbits[i][j] = i+j
740740
SC.parents[i][i+j] = b
741741
SC.labels[i][i+j] = j
742742
SC.labels[i][n-1] = -(n-i-2)
743-
for j from 0 <= j < n-i-2:
743+
for j in range(n - i - 2):
744744
#j-th generator sends i+j+1 to b, i+j+2 to i+j+1, and b to i+j+2
745745
memcpy(SC.generators[i] + n*j, id_perm, n * sizeof(int) )
746746
SC.generators[i][n*j + i+j+1] = b
@@ -795,14 +795,14 @@ cdef StabilizerChain *SC_copy(StabilizerChain *SC, int level):
795795
if SCC is NULL:
796796
return NULL
797797
level = min(level, SC.base_size)
798-
for i from 0 <= i < level:
798+
for i in range(level):
799799
SCC.generators[i] = <int *> sig_malloc( SC.array_size[i]*n * sizeof(int) )
800800
SCC.gen_inverses[i] = <int *> sig_malloc( SC.array_size[i]*n * sizeof(int) )
801801
if SCC.generators[i] is NULL or SCC.gen_inverses[i] is NULL:
802802
SC_dealloc(SCC)
803803
return NULL
804804
SCC.array_size[i] = SC.array_size[i]
805-
for i from level <= i < n:
805+
for i in range(level, n):
806806
SCC.generators[i] = <int *> sig_malloc( default_num_gens*n * sizeof(int) )
807807
SCC.gen_inverses[i] = <int *> sig_malloc( default_num_gens*n * sizeof(int) )
808808
if SCC.generators[i] is NULL or SCC.gen_inverses[i] is NULL:
@@ -818,24 +818,29 @@ cdef int SC_copy_nomalloc(StabilizerChain *SC_dest, StabilizerChain *SC, int lev
818818
SC_dest.base_size = level
819819
memcpy(SC_dest.orbit_sizes, SC.orbit_sizes, 2*n * sizeof(int) ) # copies orbit_sizes, num_gens
820820
memcpy(SC_dest.base_orbits[0], SC.base_orbits[0], 3*n*n * sizeof(int) ) # copies base_orbits, parents, labels
821-
for i from 0 <= i < level:
821+
for i in range(level):
822822
if SC.num_gens[i] > SC_dest.array_size[i]:
823823
if SC_realloc_gens(SC_dest, i, max(SC.num_gens[i], 2*SC_dest.array_size[i])):
824824
return 1
825-
memcpy(SC_dest.generators[i], SC.generators[i], SC.num_gens[i]*n * sizeof(int) )
825+
memcpy(SC_dest.generators[i], SC.generators[i], SC.num_gens[i]*n * sizeof(int) )
826826
memcpy(SC_dest.gen_inverses[i], SC.gen_inverses[i], SC.num_gens[i]*n * sizeof(int) )
827827
return 0
828828

829829
cdef SC_print_level(StabilizerChain *SC, int level):
830830
cdef int i, j, n = SC.degree
831831
if level < SC.base_size:
832832
print('/ level {}'.format(level))
833-
print('| orbit {}'.format([SC.base_orbits[level][i] for i from 0 <= i < SC.orbit_sizes[level]]))
834-
print('| parents {}'.format([SC.parents [level][i] for i from 0 <= i < n]))
835-
print('| labels {}'.format([SC.labels [level][i] for i from 0 <= i < n]))
833+
print('| orbit {}'.format([SC.base_orbits[level][i]
834+
for i in range(SC.orbit_sizes[level])]))
835+
print('| parents {}'.format([SC.parents[level][i] for i in range(n)]))
836+
print('| labels {}'.format([SC.labels[level][i] for i in range(n)]))
836837
print('|')
837-
print('| generators {}'.format([[SC.generators [level][n*i + j] for j from 0 <= j < n] for i from 0 <= i < SC.num_gens[level]]))
838-
print(r'\ inverses {}'.format([[SC.gen_inverses[level][n*i + j] for j from 0 <= j < n] for i from 0 <= i < SC.num_gens[level]]))
838+
print('| generators {}'.format([[SC.generators[level][n*i + j]
839+
for j in range(n)]
840+
for i in range(SC.num_gens[level])]))
841+
print(r'\ inverses {}'.format([[SC.gen_inverses[level][n*i + j]
842+
for j in range(n)]
843+
for i in range(SC.num_gens[level])]))
839844
else:
840845
print('/ level {}'.format(level))
841846
print('|')
@@ -863,7 +868,7 @@ cdef StabilizerChain *SC_new_base(StabilizerChain *SC, int *base, int base_len):
863868
cdef int SC_new_base_nomalloc(StabilizerChain *SC_dest, StabilizerChain *SC, int *base, int base_len):
864869
cdef int i, n = SC.degree
865870
SC_dest.base_size = 0
866-
for i from 0 <= i < base_len:
871+
for i in range(base_len):
867872
SC_add_base_point(SC_dest, base[i])
868873
if SC_update(SC_dest, SC, 0):
869874
SC_dealloc(SC_dest)
@@ -887,14 +892,14 @@ cdef int SC_update(StabilizerChain *dest, StabilizerChain *source, int level):
887892
break
888893
i += 1
889894
else:
890-
for b from 0 <= b < dest.degree:
895+
for b in range(dest.degree):
891896
if perm[b] != b:
892897
break
893898
else:
894899
continue
895900
SC_add_base_point(dest, b)
896901
first_moved = i
897-
for i from level <= i <= first_moved:
902+
for i in range(level, first_moved + 1):
898903
if SC_insert_and_sift(dest, i, perm, 1, 0): # don't sift!
899904
mpz_clear(dst_order)
900905
mpz_clear(src_order)
@@ -922,7 +927,7 @@ cdef StabilizerChain *SC_insert_base_point(StabilizerChain *SC, int level, int p
922927
if NEW is NULL:
923928
return NULL
924929
SC_add_base_point(NEW, p)
925-
for i from level <= i < SC.base_size:
930+
for i in range(level, SC.base_size):
926931
b = SC.base_orbits[i][0]
927932
if b != p:
928933
SC_add_base_point(NEW, b)
@@ -935,7 +940,7 @@ cdef int SC_insert_base_point_nomalloc(StabilizerChain *SC_dest, StabilizerChain
935940
cdef int i, b, n = SC.degree
936941
SC_copy_nomalloc(SC_dest, SC, level)
937942
SC_add_base_point(SC_dest, p)
938-
for i from level <= i < SC.base_size:
943+
for i in range(level, SC.base_size):
939944
b = SC.base_orbits[i][0]
940945
if b != p:
941946
SC_add_base_point(SC_dest, b)
@@ -957,7 +962,7 @@ cdef int SC_re_tree(StabilizerChain *SC, int level, int *perm, int x):
957962
if SC.array_size[level] == SC.num_gens[level]:
958963
if SC_realloc_gens(SC, level, 2*SC.array_size[level]):
959964
return 1
960-
cdef int *new_gen = SC.generators [level] + n*SC.num_gens[level]
965+
cdef int *new_gen = SC.generators[level] + n*SC.num_gens[level]
961966
cdef int *new_gen_inv = SC.gen_inverses[level] + n*SC.num_gens[level]
962967

963968
# new generator is perm^(-1) * (path from x to base) (left to right composition)
@@ -968,7 +973,7 @@ cdef int SC_re_tree(StabilizerChain *SC, int level, int *perm, int x):
968973

969974
# now that we have our generators, regenerate the tree, breadth-first
970975
b = SC.base_orbits[level][0]
971-
for i from 0 <= i < n:
976+
for i in range(n):
972977
SC.parents[level][i] = -1
973978
SC.parents[level][b] = b
974979
i = 0
@@ -979,7 +984,7 @@ cdef int SC_re_tree(StabilizerChain *SC, int level, int *perm, int x):
979984
gen_inv = SC.gen_inverses[level] + n*gen_index
980985
SC_scan(SC, level, x, gen_index, gen_inv, 1)
981986
for gen_index from 0 <= gen_index < SC.num_gens[level]:
982-
gen = SC.generators [level] + n*gen_index
987+
gen = SC.generators[level] + n*gen_index
983988
SC_scan(SC, level, x, gen_index, gen, -1)
984989
i += 1
985990
return 0

0 commit comments

Comments
 (0)