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
8 changes: 6 additions & 2 deletions src/sage/categories/enumerated_sets.py
Original file line number Diff line number Diff line change
Expand Up @@ -990,8 +990,12 @@ def map(self, f, name=None, *, is_injective=True):
....: '_test_enumerated_set_contains',
....: '_test_some_elements'])
"""
from sage.combinat.combinat import MapCombinatorialClass
return MapCombinatorialClass(self, f, name, is_injective=is_injective)
from sage.sets.image_set import ImageSubobject

image = ImageSubobject(f, self, is_injective=is_injective)
if name:
image.rename(name)
return image

#
# Consistency test suite for an enumerated set:
Expand Down
9 changes: 1 addition & 8 deletions src/sage/combinat/all.py
Original file line number Diff line number Diff line change
Expand Up @@ -56,8 +56,7 @@

from sage.misc.lazy_import import lazy_import

from .combinat import (CombinatorialClass, CombinatorialObject,
MapCombinatorialClass,
from .combinat import (CombinatorialObject,
bell_number, bell_polynomial, bernoulli_polynomial,
catalan_number, euler_number,
fibonacci, fibonacci_sequence, fibonacci_xrange,
Expand All @@ -66,12 +65,6 @@
polygonal_number, stirling_number1, stirling_number2,
tuples, unordered_tuples)

lazy_import('sage.combinat.combinat',
('InfiniteAbstractCombinatorialClass', 'UnionCombinatorialClass',
'FilteredCombinatorialClass'),
deprecation=(31545, 'this class is deprecated, do not use'))


from .expnums import expnums

from sage.combinat.chas.all import *
Expand Down
10 changes: 10 additions & 0 deletions src/sage/combinat/cartesian_product.py
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,16 @@ def iterfunc():
category=category,
cache=False)

def __hash__(self):
r"""
EXAMPLES::

sage: from sage.combinat.cartesian_product import CartesianProduct_iters
sage: cp = CartesianProduct_iters((1,2), (3,4))
sage: hash(cp) == CartesianProduct_iters((1,2), (3,4))
"""
return hash(tuple(self.iters))

def __contains__(self, x):
"""
EXAMPLES::
Expand Down
Loading