Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/sage/modules/vector_integer_dense.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ cdef class Vector_integer_dense(free_module_element.FreeModuleElement):
if isinstance(x, (list, tuple)):
if len(x) != self._degree:
raise TypeError("x must be a list of the right length")
for i from 0 <= i < self._degree:
for i in range(self._degree):
z = Integer(x[i])
mpz_set(self._entries[i], z.value)
return
Expand Down
16 changes: 8 additions & 8 deletions src/sage/modules/vector_integer_sparse.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,11 @@ cdef int allocate_mpz_vector(mpz_vector* v, Py_ssize_t num_nonzero) except -1:
v.entries = <mpz_t *>sig_malloc(num_nonzero*sizeof(mpz_t))
if v.entries == NULL:
raise MemoryError("Error allocating memory")
for i from 0 <= i < num_nonzero:
for i in range(num_nonzero):
mpz_init(v.entries[i])
v.positions = <Py_ssize_t*>sig_malloc(num_nonzero*sizeof(Py_ssize_t))
if v.positions == NULL:
for i from 0 <= i < num_nonzero:
for i in range(num_nonzero):
mpz_clear(v.entries[i])
sig_free(v.entries)
v.entries = NULL
Expand All @@ -45,7 +45,7 @@ cdef int mpz_vector_init(mpz_vector* v, Py_ssize_t degree, Py_ssize_t num_nonzer
cdef void mpz_vector_clear(mpz_vector* v) noexcept:
cdef Py_ssize_t i
# Free all mpz objects allocated in creating v
for i from 0 <= i < v.num_nonzero:
for i in range(v.num_nonzero):
mpz_clear(v.entries[i])
# Free entries and positions of those entries.
# These were allocated from the Python heap.
Expand Down Expand Up @@ -202,7 +202,7 @@ cdef int mpz_vector_set_entry(mpz_vector* v, Py_ssize_t n, mpz_t x) except -1:
mpz_set(v.entries[i], e[i])
mpz_clear(e[i])
v.positions[i] = pos[i]
for i from m < i < v.num_nonzero:
for i in range(m + 1, v.num_nonzero):
# v.entries[i-1] = e[i]
mpz_set(v.entries[i-1], e[i])
mpz_clear(e[i])
Expand Down Expand Up @@ -233,7 +233,7 @@ cdef int mpz_vector_set_entry(mpz_vector* v, Py_ssize_t n, mpz_t x) except -1:
# v.entries[ins] = x
mpz_set(v.entries[ins], x)
v.positions[ins] = n
for i from ins < i < v.num_nonzero:
for i in range(ins + 1, v.num_nonzero):
mpz_set(v.entries[i], e[i-1])
mpz_clear(e[i-1])
v.positions[i] = pos[i-1]
Expand Down Expand Up @@ -345,7 +345,7 @@ cdef int add_mpz_vector_init(mpz_vector* sum,
j = j + 1
# end if
# end while
for i from k <= i < z.num_nonzero:
for i in range(k, z.num_nonzero):
mpz_clear(z.entries[i])
z.num_nonzero = k
mpz_clear(tmp)
Expand Down Expand Up @@ -383,7 +383,7 @@ cdef int mpz_vector_scalar_multiply(mpz_vector* v, mpz_vector* w, mpz_t scalar)
raise MemoryError("error allocating rational sparse vector positions")
v.num_nonzero = w.num_nonzero
v.degree = w.degree
for i from 0 <= i < v.num_nonzero:
for i in range(v.num_nonzero):
mpz_init(v.entries[i])
mpz_mul(v.entries[i], w.entries[i], scalar)
v.positions[i] = w.positions[i]
Expand All @@ -396,7 +396,7 @@ cdef int mpz_vector_cmp(mpz_vector* v, mpz_vector* w) noexcept:
return 1
cdef Py_ssize_t i
cdef int c
for i from 0 <= i < v.num_nonzero:
for i in range(v.num_nonzero):
c = mpz_cmp(v.entries[i], w.entries[i])
if c < 0:
return -1
Expand Down
6 changes: 3 additions & 3 deletions src/sage/modules/vector_mod2_dense.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -380,7 +380,7 @@ cdef class Vector_mod2_dense(free_module_element.FreeModuleElement):
cdef int i
cdef int res = 0
cdef m4ri_word *row = mzd_row(self._entries, 0)
for i from 0 <= i < self._entries.width:
for i in range(self._entries.width):
res += Integer(row[i]).popcount()
return res

Expand Down Expand Up @@ -423,7 +423,7 @@ cdef class Vector_mod2_dense(free_module_element.FreeModuleElement):
n.ivalue = 0
cdef m4ri_word *lrow = mzd_row(self._entries, 0)
cdef m4ri_word *rrow = mzd_row(r._entries, 0)
for i from 0 <= i < self._entries.width:
for i in range(self._entries.width):
tmp ^= lrow[i] & rrow[i]

for i in range(64):
Expand All @@ -450,7 +450,7 @@ cdef class Vector_mod2_dense(free_module_element.FreeModuleElement):
cdef m4ri_word *lrow = mzd_row(self._entries, 0)
cdef m4ri_word *rrow = mzd_row(r._entries, 0)
cdef m4ri_word *zrow = mzd_row(z._entries, 0)
for i from 0 <= i < self._entries.width:
for i in range(self._entries.width):
zrow[i] = (lrow[i] & rrow[i])
return z

Expand Down
25 changes: 12 additions & 13 deletions src/sage/modules/vector_modn_dense.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ cdef class Vector_modn_dense(free_module_element.FreeModuleElement):
cdef Vector_modn_dense y
y = self._new_c()
cdef Py_ssize_t i
for i from 0 <= i < self._degree:
for i in range(self._degree):
y._entries[i] = self._entries[i]
return y

Expand Down Expand Up @@ -193,18 +193,17 @@ cdef class Vector_modn_dense(free_module_element.FreeModuleElement):
raise TypeError("x must be a list of the right length")
if coerce:
R = parent.base_ring()
for i from 0 <= i < self._degree:
for i in range(self._degree):
a = int(R(x[i]))
self._entries[i] = a
else:
for i from 0 <= i < self._degree:
for i in range(self._degree):
self._entries[i] = x[i]
return
if x != 0:
raise TypeError("can't initialize vector from nonzero non-list")
else:
for i from 0 <= i < self._degree:
self._entries[i] = 0
for i in range(self._degree):
self._entries[i] = 0

def __dealloc__(self):
sig_free(self._entries)
Expand Down Expand Up @@ -295,7 +294,7 @@ cdef class Vector_modn_dense(free_module_element.FreeModuleElement):
r = right
z = self._new_c()
cdef Py_ssize_t i
for i from 0 <= i < self._degree:
for i in range(self._degree):
z._entries[i] = (self._entries[i] + r._entries[i]) % self._p
return z

Expand All @@ -304,7 +303,7 @@ cdef class Vector_modn_dense(free_module_element.FreeModuleElement):
r = right
z = self._new_c()
cdef Py_ssize_t i
for i from 0 <= i < self._degree:
for i in range(self._degree):
z._entries[i] = (self._p + self._entries[i] - r._entries[i]) % self._p
return z

Expand Down Expand Up @@ -343,7 +342,7 @@ cdef class Vector_modn_dense(free_module_element.FreeModuleElement):
r = right
z = self._new_c()
cdef Py_ssize_t i
for i from 0 <= i < self._degree:
for i in range(self._degree):
z._entries[i] = (self._entries[i] * r._entries[i]) % self._p
return z

Expand All @@ -354,15 +353,15 @@ cdef class Vector_modn_dense(free_module_element.FreeModuleElement):
z = self._new_c()
cdef Py_ssize_t i

for i from 0 <= i < self._degree:
for i in range(self._degree):
z._entries[i] = (self._entries[i] * a) % self._p
return z

cpdef _neg_(self):
cdef Vector_modn_dense z
z = self._new_c()
cdef Py_ssize_t i
for i from 0 <= i < self._degree:
for i in range(self._degree):
if self._entries[i] > 0:
z._entries[i] = self._p - self._entries[i]
else:
Expand All @@ -378,7 +377,7 @@ def unpickle_v0(parent, entries, degree, p):
cdef Vector_modn_dense v
v = Vector_modn_dense.__new__(Vector_modn_dense)
v._init(degree, parent, p)
for i from 0 <= i < degree:
for i in range(degree):
v._entries[i] = entries[i]
return v

Expand All @@ -387,7 +386,7 @@ def unpickle_v1(parent, entries, degree, p, is_mutable):
cdef Vector_modn_dense v
v = Vector_modn_dense.__new__(Vector_modn_dense)
v._init(degree, parent, p)
for i from 0 <= i < degree:
for i in range(degree):
v._entries[i] = entries[i]
v._is_immutable = not is_mutable
return v
4 changes: 2 additions & 2 deletions src/sage/modules/vector_modn_sparse.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@ cdef int set_entry(c_vector_modint* v, Py_ssize_t n, int_fast64_t x) except -1:
for i in range(m):
v.entries[i] = e[i]
v.positions[i] = pos[i]
for i from m < i < v.num_nonzero:
for i in range(m + 1, v.num_nonzero):
v.entries[i-1] = e[i]
v.positions[i-1] = pos[i]
sig_free(e)
Expand All @@ -202,7 +202,7 @@ cdef int set_entry(c_vector_modint* v, Py_ssize_t n, int_fast64_t x) except -1:
v.positions[i] = pos[i]
v.entries[ins] = x
v.positions[ins] = n
for i from ins < i < v.num_nonzero:
for i in range(ins + 1, v.num_nonzero):
v.entries[i] = e[i-1]
v.positions[i] = pos[i-1]
sig_free(e)
Expand Down
4 changes: 2 additions & 2 deletions src/sage/modules/vector_rational_dense.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@ cdef class Vector_rational_dense(free_module_element.FreeModuleElement):
if isinstance(x, (list, tuple)):
if len(x) != self._degree:
raise TypeError("entries must be a list of length %s" % self._degree)
for i from 0 <= i < self._degree:
for i in range(self._degree):
z = Rational(x[i])
mpq_set(self._entries[i], z.value)
return
Expand Down Expand Up @@ -290,7 +290,7 @@ cdef class Vector_rational_dense(free_module_element.FreeModuleElement):
mpq_init(t)
mpq_set_si(z.value, 0, 1)
cdef Py_ssize_t i
for i from 0 <= i < self._degree:
for i in range(self._degree):
mpq_mul(t, self._entries[i], r._entries[i])
mpq_add(z.value, z.value, t)
mpq_clear(t)
Expand Down
16 changes: 8 additions & 8 deletions src/sage/modules/vector_rational_sparse.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,11 @@ cdef int allocate_mpq_vector(mpq_vector* v, Py_ssize_t num_nonzero) except -1:
v.entries = <mpq_t *> sig_malloc(num_nonzero*sizeof(mpq_t))
if v.entries == NULL:
raise MemoryError("Error allocating memory")
for i from 0 <= i < num_nonzero:
for i in range(num_nonzero):
mpq_init(v.entries[i])
v.positions = <Py_ssize_t*>sig_malloc(num_nonzero*sizeof(Py_ssize_t))
if v.positions == NULL:
for i from 0 <= i < num_nonzero:
for i in range(num_nonzero):
mpq_clear(v.entries[i])
sig_free(v.entries)
v.entries = NULL
Expand All @@ -52,7 +52,7 @@ cdef void mpq_vector_clear(mpq_vector* v) noexcept:
if v.entries == NULL:
return
# Free all mpq objects allocated in creating v
for i from 0 <= i < v.num_nonzero:
for i in range(v.num_nonzero):
mpq_clear(v.entries[i])
# Free entries and positions of those entries.
# These were allocated from the Python heap.
Expand Down Expand Up @@ -209,7 +209,7 @@ cdef int mpq_vector_set_entry(mpq_vector* v, Py_ssize_t n, mpq_t x) except -1:
v.positions[i] = pos[i]
mpq_clear(e[i])
mpq_clear(e[m])
for i from m < i < v.num_nonzero:
for i in range(m + 1, v.num_nonzero):
# v.entries[i-1] = e[i]
mpq_set(v.entries[i-1], e[i])
mpq_clear(e[i])
Expand Down Expand Up @@ -240,7 +240,7 @@ cdef int mpq_vector_set_entry(mpq_vector* v, Py_ssize_t n, mpq_t x) except -1:
# v.entries[ins] = x
mpq_set(v.entries[ins], x)
v.positions[ins] = n
for i from ins < i < v.num_nonzero:
for i in range(ins + 1, v.num_nonzero):
mpq_set(v.entries[i], e[i-1])
mpq_clear(e[i-1])
v.positions[i] = pos[i-1]
Expand Down Expand Up @@ -353,7 +353,7 @@ cdef int add_mpq_vector_init(mpq_vector* sum,
# end if
# end while
z.num_nonzero = k
for i from k <= i < z.num_nonzero:
for i in range(k, z.num_nonzero):
mpq_clear(z.entries[i])
mpq_clear(tmp)
return 0
Expand Down Expand Up @@ -390,7 +390,7 @@ cdef int mpq_vector_scalar_multiply(mpq_vector* v, mpq_vector* w, mpq_t scalar)
raise MemoryError("error allocating rational sparse vector positions")
v.num_nonzero = w.num_nonzero
v.degree = w.degree
for i from 0 <= i < v.num_nonzero:
for i in range(v.num_nonzero):
mpq_init(v.entries[i])
mpq_mul(v.entries[i], w.entries[i], scalar)
v.positions[i] = w.positions[i]
Expand All @@ -403,7 +403,7 @@ cdef int mpq_vector_cmp(mpq_vector* v, mpq_vector* w) noexcept:
return 1
cdef Py_ssize_t i
cdef int c
for i from 0 <= i < v.num_nonzero:
for i in range(v.num_nonzero):
c = mpq_cmp(v.entries[i], w.entries[i])
if c < 0:
return -1
Expand Down
Loading