Helper for attaching tolerance information to strings

class sage.doctest.marked_output.MarkedOutput[source]

Bases: str

A subclass of string with context for whether another string matches it.

EXAMPLES:

sage: from sage.doctest.marked_output import MarkedOutput
sage: s = MarkedOutput("abc")
sage: s.rel_tol
0
sage: s.update(rel_tol = .05)
'abc'
sage: s.rel_tol
0.0500000000000000

sage: MarkedOutput("56 µs")
'56 µs'
>>> from sage.all import *
>>> from sage.doctest.marked_output import MarkedOutput
>>> s = MarkedOutput("abc")
>>> s.rel_tol
0
>>> s.update(rel_tol = RealNumber('.05'))
'abc'
>>> s.rel_tol
0.0500000000000000

>>> MarkedOutput("56 µs")
'56 µs'
abs_tol = 0
random = False
rel_tol = 0
tol = 0
update(**kwds)[source]

EXAMPLES:

sage: from sage.doctest.marked_output import MarkedOutput
sage: s = MarkedOutput("0.0007401")
sage: s.update(abs_tol = .0000001)
'0.0007401'
sage: s.rel_tol
0
sage: s.abs_tol
1.00000000000000e-7
>>> from sage.all import *
>>> from sage.doctest.marked_output import MarkedOutput
>>> s = MarkedOutput("0.0007401")
>>> s.update(abs_tol = RealNumber('.0000001'))
'0.0007401'
>>> s.rel_tol
0
>>> s.abs_tol
1.00000000000000e-7
sage.doctest.marked_output.make_marked_output(s, D)[source]

Auxiliary function for pickling.

EXAMPLES:

sage: from sage.doctest.marked_output import make_marked_output
sage: s = make_marked_output("0.0007401", {'abs_tol':.0000001})
sage: s
'0.0007401'
sage: s.abs_tol
1.00000000000000e-7
>>> from sage.all import *
>>> from sage.doctest.marked_output import make_marked_output
>>> s = make_marked_output("0.0007401", {'abs_tol':RealNumber('.0000001')})
>>> s
'0.0007401'
>>> s.abs_tol
1.00000000000000e-7