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

Commit 224ab51

Browse files
committed
Trac #30830: add __classcall_private__ to OpenInterval
1 parent 8d2f44d commit 224ab51

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

src/sage/manifolds/differentiable/examples/real_line.py

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -290,6 +290,34 @@ class OpenInterval(DifferentiableManifold):
290290
t: (1/2, 1)
291291
292292
"""
293+
@staticmethod
294+
def __classcall_private__(cls, lower, upper, ambient_interval=None,
295+
name=None, latex_name=None, coordinate=None,
296+
names=None, start_index=0):
297+
r"""
298+
Determine the correct interval to return based upon the input.
299+
300+
TESTS:
301+
302+
Check whether :trac:`30830` is fixed::
303+
304+
sage: I = OpenInterval(0,2)
305+
sage: J = OpenInterval(0,1, ambient_interval=I, coordinate='t')
306+
sage: I.open_interval(0,1)
307+
Real interval (0, 1)
308+
309+
"""
310+
if ambient_interval:
311+
# cope the UniqueRepresentation framework for subintervals and
312+
# reset irrelevant information only:
313+
coordinate = None
314+
names = None
315+
start_index = 0
316+
return super(cls, OpenInterval).__classcall__(cls, lower, upper,
317+
ambient_interval=ambient_interval, name=name,
318+
latex_name=latex_name, coordinate=coordinate,
319+
names=names, start_index=start_index)
320+
293321
def __init__(self, lower, upper, ambient_interval=None,
294322
name=None, latex_name=None,
295323
coordinate=None, names=None, start_index=0):

0 commit comments

Comments
 (0)