diff --git a/pymath/calculus/operator/operator.py b/pymath/calculus/operator/operator.py index f1044f8..5dd6897 100644 --- a/pymath/calculus/operator/operator.py +++ b/pymath/calculus/operator/operator.py @@ -67,20 +67,28 @@ class Operator(): :*args: Operands for this operation :returns: String with operator and his operands - >>> op.mul.__txt__('1','2') + >>> from .mul import Mul + >>> mul= Mul() + >>> from .add import Add + >>> add = Add() + >>> from .sub import Sub + >>> sub = Sub() + >>> from .sub1 import Sub1 + >>> sub1 = Sub1() + >>> mul.__txt__('1','2') '1 * 2' - >>> op.add.__txt__('1','2') + >>> add.__txt__('1','2') '1 + 2' - >>> f = save_mainOp('2 + 3',op.add) - >>> op.mul.__txt__(f, '4') + >>> f = save_mainOp('2 + 3',add) + >>> mul.__txt__(f, '4') '( 2 + 3 ) * 4' - >>> f = save_mainOp('-3',op.sub1) - >>> op.sub1.__txt__(f) + >>> f = save_mainOp('-3',sub1) + >>> sub1.__txt__(f) '- ( -3 )' - >>> op.sub1.__txt__('-3') + >>> sub1.__txt__('-3') '- ( -3 )' - >>> f = save_mainOp('2 + 3',op.add) - >>> op.sub1.__txt__(f) + >>> f = save_mainOp('2 + 3',add) + >>> sub1.__txt__(f) '- ( 2 + 3 )' """ return self._render(self.txt, *args) @@ -91,20 +99,28 @@ class Operator(): :*args: Operands for this operation :returns: String with operator and his operands - >>> op.mul.__tex__('1','2') + >>> from .mul import Mul + >>> mul= Mul() + >>> from .add import Add + >>> add = Add() + >>> from .sub import Sub + >>> sub = Sub() + >>> from .sub1 import Sub1 + >>> sub1 = Sub1() + >>> mul.__tex__('1','2') '1 \\\\times 2' - >>> op.add.__tex__('1','2') + >>> add.__tex__('1','2') '1 + 2' - >>> f = save_mainOp('2 + 3',op.add) - >>> op.mul.__tex__(f, '4') + >>> f = save_mainOp('2 + 3',add) + >>> mul.__tex__(f, '4') '( 2 + 3 ) \\\\times 4' - >>> f = save_mainOp('-3',op.sub1) - >>> op.sub1.__tex__(f) + >>> f = save_mainOp('-3',sub1) + >>> sub1.__tex__(f) '- ( -3 )' - >>> op.sub1.__tex__('-3') + >>> sub1.__tex__('-3') '- ( -3 )' - >>> f = save_mainOp('2 + 3',op.add) - >>> op.sub1.__tex__(f) + >>> f = save_mainOp('2 + 3',add) + >>> sub1.__tex__(f) '- ( 2 + 3 )' """ return self._render(self.tex, *args) @@ -115,19 +131,27 @@ class Operator(): :*args: Operands for this operation :returns: list with the operator surrounded by operands - >>> op.mul.__p2i__(1,2) - [1, '*', 2] - >>> f = save_mainOp([2, op.add, 3],op.add) - >>> op.mul.__p2i__(f, 4) - ['(', 2, '+', 3, ')', '*', 4] - >>> f = save_mainOp([op.sub1, 3],op.sub1) - >>> op.sub1.__p2i__(f) - ['-', '(', '-', 3, ')'] - >>> op.sub1.__p2i__(-3) - ['-', '(', -3, ')'] - >>> f = save_mainOp([2, op.add, 3],op.add) - >>> op.sub1.__p2i__(f) - ['-', '(', 2, '+', 3, ')'] + >>> from .mul import Mul + >>> mul= Mul() + >>> from .add import Add + >>> add = Add() + >>> from .sub import Sub + >>> sub = Sub() + >>> from .sub1 import Sub1 + >>> sub1 = Sub1() + >>> mul.__p2i__(1,2) + [1, *, 2] + >>> f = save_mainOp([2, add, 3],add) + >>> mul.__p2i__(f, 4) + ['(', 2, +, 3, ')', *, 4] + >>> f = save_mainOp([sub1, 3],sub1) + >>> sub1.__p2i__(f) + [-, '(', -, 3, ')'] + >>> sub1.__p2i__(-3) + [-, '(', -3, ')'] + >>> f = save_mainOp([2, add, 3],add) + >>> sub1.__p2i__(f) + [-, '(', 2, +, 3, ')'] """ if self.arity == 1: op1 = self.l_parenthesis(args[0]) @@ -201,35 +225,6 @@ def save_mainOp(obj, mainOp): return Fake(obj) -if __name__ == '__main__': - #print(op.add.__tex__('1','2')) - #print(op.mul.__tex__('1','2')) - #print(op.sub.__tex__('1','2')) - #f = save_mainOp('2 + 3',op.add) - #print(op.mul.__txt__(f, '4')) - #f = save_mainOp('-3',op.sub1) - #print(op.sub1.__txt__(f)) - #print(op.sub1.__txt__('-3')) - #f = save_mainOp('2 + 3',op.add) - #print(op.sub1.__txt__(f)) - - #from .fraction import Fraction - #f = Fraction(1, 2) - #print(op.add.__txt__(f.__txt__(),'2')) - #print(op.add.__tex__(f.__tex__(),'2')) - - #print("\t op.can_be_operator('+') :" + str(op.can_be_operator('+'))) - #print("\t op.can_be_operator('t') :" + str(op.can_be_operator('t'))) - - print("op.sub.__dict__ -> ", op.sub.__dict__) - print(op.sub == op.sub1) - #import doctest - #doctest.testmod() - - - - - # ----------------------------- # Reglages pour 'vim' # vim:set autoindent expandtab tabstop=4 shiftwidth=4: diff --git a/pymath/calculus/operator/operator_set.py b/pymath/calculus/operator/operator_set.py index c31137e..7a69c97 100644 --- a/pymath/calculus/operator/operator_set.py +++ b/pymath/calculus/operator/operator_set.py @@ -82,6 +82,11 @@ class Operator_set(object): >>> op.store_operator(Add()) >>> op._operators {('+', 2): 'add'} + >>> a = op.add + >>> a + + + >>> a.tex + '{op1} + {op2}' >>> op.store_operator("+") Traceback (most recent call last): ...