Skip to content

Commit

Permalink
Trac #21381: Simplify _populate_generators_
Browse files Browse the repository at this point in the history
1. The argument `category` is never used.

2. `gens` is never `None`.

3. We can get rid of `_ngens_` which appears only in
`_populate_generators_` but is never actually called.

(see also the task ticket: #21380)

URL: https://trac.sagemath.org/21381
Reported by: jdemeyer
Ticket author(s): Jeroen Demeyer
Reviewer(s): Travis Scrimshaw
  • Loading branch information
Release Manager authored and vbraun committed Sep 3, 2016
2 parents fc0d0f6 + 079a1d4 commit 7e30feb
Showing 1 changed file with 5 additions and 20 deletions.
25 changes: 5 additions & 20 deletions src/sage/structure/category_object.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -259,35 +259,20 @@ cdef class CategoryObject(sage_object.SageObject):
# Generators
##############################################################################

def _populate_generators_(self, gens=None, names=None, normalize = True, category=None):
if category in self._generators:
raise ValueError("Generators cannot be changed after object creation.")
if category is None:
category = self._category
def _populate_generators_(self, gens, names=None, normalize=True):
category = self._category
from sage.structure.sequence import Sequence
if gens is None:
n = self._ngens_()
from sage.rings.infinity import infinity
if n is infinity:
gens = generators.Generators_naturals(self, category)
else:
gens = generators.Generators_finite(self, self._ngens_(), None, category)
elif isinstance(gens, Generators):
if isinstance(gens, Generators):
pass
elif isinstance(gens, (list, tuple, Sequence)):
if names is None:
names = tuple([str(x) for x in gens])
gens = generators.Generators_list(self, list(gens), category)
else:
gens = generators.Generators_list(self, [gens], category)
if names is not None and self._names is None:
self._assign_names(names, ngens=gens.count(), normalize=normalize)
self._generators[category] = gens
if category == self._category:
if names is not None and self._names is None:
self._assign_names(names, ngens=gens.count(), normalize=normalize)
self._generators[category] = gens

def _ngens_(self):
return 0

def gens_dict(self):
r"""
Expand Down

0 comments on commit 7e30feb

Please sign in to comment.