New representation for objects
This commit is contained in:
@@ -24,7 +24,7 @@ def pstf_factory(pstf_tokens):
|
||||
>>> from .operator import op
|
||||
>>> pstf_t = [2, 3, op.add]
|
||||
>>> pstf_factory(pstf_t)
|
||||
< <class 'pymath.calculus.expression.Expression'> [2, 3, +] >
|
||||
< Expression [2, 3, +]>
|
||||
>>> pstf_factory([2])
|
||||
2
|
||||
>>> type(pstf_factory([2]))
|
||||
@@ -84,11 +84,11 @@ class Expression(Explicable):
|
||||
>>> with Expression.tmp_render():
|
||||
... for i in exp.simplify().explain():
|
||||
... i
|
||||
< <class 'pymath.calculus.expression.Expression'> [2, 3, 5, /, *] >
|
||||
< <class 'pymath.calculus.expression.Expression'> [2, < Fraction 3 / 5>, *] >
|
||||
< <class 'pymath.calculus.expression.Expression'> [< Fraction 3 / 5>, 2, *] >
|
||||
< <class 'pymath.calculus.expression.Expression'> [3, 2, *, 5, /] >
|
||||
< <class 'pymath.calculus.expression.Expression'> [6, 5, /] >
|
||||
< Expression [2, 3, 5, /, *]>
|
||||
< Expression [2, < Fraction 3 / 5>, *]>
|
||||
< Expression [< Fraction 3 / 5>, 2, *]>
|
||||
< Expression [3, 2, *, 5, /]>
|
||||
< Expression [6, 5, /]>
|
||||
>>> from .render import txt
|
||||
>>> with Expression.tmp_render(txt):
|
||||
... for i in exp.simplify().explain():
|
||||
@@ -152,10 +152,6 @@ class Expression(Explicable):
|
||||
"""
|
||||
return self.STR_RENDER(self.postfix_tokens)
|
||||
|
||||
def __repr__(self):
|
||||
return " ".join(["<", str(self.__class__),
|
||||
str(self.postfix_tokens), ">"])
|
||||
|
||||
def simplify(self):
|
||||
""" Compute entirely the expression and return the result with .steps attribute """
|
||||
try:
|
||||
@@ -262,7 +258,7 @@ class Expression(Explicable):
|
||||
>>> f = Expression('3*4+5')
|
||||
>>> f1 = f.simplify()
|
||||
>>> Expression.develop_steps([e1, f1, op.add])
|
||||
[< <class 'pymath.calculus.expression.Expression'> [1, 2, +, 3, 4, *, 5, +, +] >, < <class 'pymath.calculus.expression.Expression'> [3, 12, 5, +, +] >]
|
||||
[< Expression [1, 2, +, 3, 4, *, 5, +, +]>, < Expression [3, 12, 5, +, +]>]
|
||||
>>> e = Expression('1+2')
|
||||
>>> e1 = e.simplify()
|
||||
>>> f = Expression('3*4+5')
|
||||
@@ -270,7 +266,7 @@ class Expression(Explicable):
|
||||
>>> g = Expression('6+7')
|
||||
>>> g1 = g.simplify()
|
||||
>>> Expression.develop_steps([e1, f1, op.add, g1, op.mul])
|
||||
[< <class 'pymath.calculus.expression.Expression'> [1, 2, +, 3, 4, *, 5, +, +, 6, 7, +, *] >, < <class 'pymath.calculus.expression.Expression'> [3, 12, 5, +, +, 13, *] >]
|
||||
[< Expression [1, 2, +, 3, 4, *, 5, +, +, 6, 7, +, *]>, < Expression [3, 12, 5, +, +, 13, *]>]
|
||||
"""
|
||||
with Expression.tmp_render():
|
||||
tmp_steps = list(Explicable().merge_history(tokenList))
|
||||
|
||||
Reference in New Issue
Block a user