Skip to content
This repository was archived by the owner on Jan 30, 2023. It is now read-only.

Commit d376b10

Browse files
author
Benjamin Hackl
committed
revert changes to merge of functors
1 parent c4a0e22 commit d376b10

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

src/sage/symbolic/subring.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -750,15 +750,16 @@ def merge(self, other):
750750
sage: G = SymbolicSubring(rejecting_variables=('r',)).construction()[0]
751751
sage: F.merge(F) is F
752752
True
753-
sage: F.merge(G) is F
753+
sage: F.merge(G) is G
754754
True
755755
"""
756756
if self == other:
757757
return self
758758
elif type(self) == type(other):
759-
return type(self)(self.vars & other.vars)
759+
return type(self)(self.vars | other.vars)
760760
elif isinstance(other, SymbolicSubringRejectingVarsFunctor):
761-
return type(self)(self.vars - other.vars)
761+
if not (self.vars & other.vars):
762+
return other
762763

763764

764765
def _apply_functor(self, R):
@@ -956,15 +957,16 @@ def merge(self, other):
956957
sage: G = SymbolicSubring(rejecting_variables=('r',)).construction()[0]
957958
sage: G.merge(G) is G
958959
True
959-
sage: G.merge(F) is F
960+
sage: G.merge(F) is G
960961
True
961962
"""
962963
if self == other:
963964
return self
964965
elif type(self) == type(other):
965-
return type(self)(self.vars | other.vars)
966+
return type(self)(self.vars & other.vars)
966967
elif isinstance(other, SymbolicSubringAcceptingVarsFunctor):
967-
return type(other)(other.vars - self.vars)
968+
if not (self.vars & other.vars):
969+
return self
968970

969971

970972
def _apply_functor(self, R):

0 commit comments

Comments
 (0)