mirror of
https://github.com/python/cpython.git
synced 2025-07-24 19:54:21 +00:00
Whitespace normalization, via reindent.py.
This commit is contained in:
parent
e6ddc8b20b
commit
182b5aca27
453 changed files with 31318 additions and 31452 deletions
|
@ -1,7 +1,7 @@
|
|||
# module 'zmod'
|
||||
|
||||
# Compute properties of mathematical "fields" formed by taking
|
||||
# Z/n (the whole numbers modulo some whole number n) and an
|
||||
# Z/n (the whole numbers modulo some whole number n) and an
|
||||
# irreducible polynomial (i.e., a polynomial with only complex zeros),
|
||||
# e.g., Z/5 and X**2 + 2.
|
||||
#
|
||||
|
@ -30,65 +30,65 @@ P = poly.plus(poly.one(0, 2), poly.one(2, 1)) # 2 + x**2
|
|||
# Return x modulo y. Returns >= 0 even if x < 0.
|
||||
|
||||
def mod(x, y):
|
||||
return divmod(x, y)[1]
|
||||
return divmod(x, y)[1]
|
||||
|
||||
|
||||
# Normalize a polynomial modulo n and modulo p.
|
||||
|
||||
def norm(a, n, p):
|
||||
a = poly.modulo(a, p)
|
||||
a = a[:]
|
||||
for i in range(len(a)): a[i] = mod(a[i], n)
|
||||
a = poly.normalize(a)
|
||||
return a
|
||||
a = poly.modulo(a, p)
|
||||
a = a[:]
|
||||
for i in range(len(a)): a[i] = mod(a[i], n)
|
||||
a = poly.normalize(a)
|
||||
return a
|
||||
|
||||
|
||||
# Make a list of all n^d elements of the proposed field.
|
||||
|
||||
def make_all(mat):
|
||||
all = []
|
||||
for row in mat:
|
||||
for a in row:
|
||||
all.append(a)
|
||||
return all
|
||||
all = []
|
||||
for row in mat:
|
||||
for a in row:
|
||||
all.append(a)
|
||||
return all
|
||||
|
||||
def make_elements(n, d):
|
||||
if d == 0: return [poly.one(0, 0)]
|
||||
sub = make_elements(n, d-1)
|
||||
all = []
|
||||
for a in sub:
|
||||
for i in range(n):
|
||||
all.append(poly.plus(a, poly.one(d-1, i)))
|
||||
return all
|
||||
if d == 0: return [poly.one(0, 0)]
|
||||
sub = make_elements(n, d-1)
|
||||
all = []
|
||||
for a in sub:
|
||||
for i in range(n):
|
||||
all.append(poly.plus(a, poly.one(d-1, i)))
|
||||
return all
|
||||
|
||||
def make_inv(all, n, p):
|
||||
x = poly.one(1, 1)
|
||||
inv = []
|
||||
for a in all:
|
||||
inv.append(norm(poly.times(a, x), n, p))
|
||||
return inv
|
||||
x = poly.one(1, 1)
|
||||
inv = []
|
||||
for a in all:
|
||||
inv.append(norm(poly.times(a, x), n, p))
|
||||
return inv
|
||||
|
||||
def checkfield(n, p):
|
||||
all = make_elements(n, len(p)-1)
|
||||
inv = make_inv(all, n, p)
|
||||
all1 = all[:]
|
||||
inv1 = inv[:]
|
||||
all1.sort()
|
||||
inv1.sort()
|
||||
if all1 == inv1: print 'BINGO!'
|
||||
else:
|
||||
print 'Sorry:', n, p
|
||||
print all
|
||||
print inv
|
||||
all = make_elements(n, len(p)-1)
|
||||
inv = make_inv(all, n, p)
|
||||
all1 = all[:]
|
||||
inv1 = inv[:]
|
||||
all1.sort()
|
||||
inv1.sort()
|
||||
if all1 == inv1: print 'BINGO!'
|
||||
else:
|
||||
print 'Sorry:', n, p
|
||||
print all
|
||||
print inv
|
||||
|
||||
def rj(s, width):
|
||||
if type(s) is not type(''): s = `s`
|
||||
n = len(s)
|
||||
if n >= width: return s
|
||||
return ' '*(width - n) + s
|
||||
if type(s) is not type(''): s = `s`
|
||||
n = len(s)
|
||||
if n >= width: return s
|
||||
return ' '*(width - n) + s
|
||||
|
||||
def lj(s, width):
|
||||
if type(s) is not type(''): s = `s`
|
||||
n = len(s)
|
||||
if n >= width: return s
|
||||
return s + ' '*(width - n)
|
||||
if type(s) is not type(''): s = `s`
|
||||
n = len(s)
|
||||
if n >= width: return s
|
||||
return s + ' '*(width - n)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue