solve parenthesis bug for op.pw
This commit is contained in:
parent
0545d73751
commit
fcee4a8942
@ -565,6 +565,21 @@ class op(object):
|
|||||||
""" Calling this operator performs the rigth calculus """
|
""" Calling this operator performs the rigth calculus """
|
||||||
return getattr(op1, "__pow__")(op2)
|
return getattr(op1, "__pow__")(op2)
|
||||||
|
|
||||||
|
def l_parenthesis(self, opl, str_join=False):
|
||||||
|
""" Add parenthesis for left operand if necessary """
|
||||||
|
ans = opl
|
||||||
|
try:
|
||||||
|
if opl.mainOp.priority < self.priority:
|
||||||
|
ans = flatten_list(["(", opl, ")"])
|
||||||
|
except AttributeError as e:
|
||||||
|
# op has not the attribute priority
|
||||||
|
pass
|
||||||
|
|
||||||
|
ans = flatten_list([ans])
|
||||||
|
if str_join:
|
||||||
|
ans = ' '.join([str(i) for i in ans])
|
||||||
|
return ans
|
||||||
|
|
||||||
caract = {
|
caract = {
|
||||||
"operator" : "^", \
|
"operator" : "^", \
|
||||||
"name" : "pw",\
|
"name" : "pw",\
|
||||||
@ -573,6 +588,7 @@ class op(object):
|
|||||||
"actions" : ("__pow__",""), \
|
"actions" : ("__pow__",""), \
|
||||||
"txt" : "{op1} ^ {op2}",\
|
"txt" : "{op1} ^ {op2}",\
|
||||||
"tex" : "{op1}^{{ {op2} }}",\
|
"tex" : "{op1}^{{ {op2} }}",\
|
||||||
|
"l_parenthesis": l_parenthesis,\
|
||||||
"_call":_call,\
|
"_call":_call,\
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -77,11 +77,11 @@ if __name__ == '__main__':
|
|||||||
from itertools import permutations
|
from itertools import permutations
|
||||||
from pymath import Polynom
|
from pymath import Polynom
|
||||||
from pymath import Expression
|
from pymath import Expression
|
||||||
coefs_p = [[(i-2),(j-2)] for i,j in permutations(range(3),2)]
|
coefs_p = [[(i-2),(j-2)] for i,j in permutations(range(5),2)]
|
||||||
coefs_q = [[2*(i-2),2*(j-2)] for i,j in permutations(range(3),2)]
|
coefs_q = [[2*(i-2),2*(j-2)] for i,j in permutations(range(5),2)]
|
||||||
l_p = [Polynom(i) for i in coefs_p]
|
l_p = [Polynom(i) for i in coefs_p]
|
||||||
l_q = [Polynom(i) for i in coefs_q]
|
l_q = [Polynom(i) for i in coefs_q]
|
||||||
operations = [Expression([l_p[i],l_q[j],op.mul]) for i,j in permutations(range(len(coefs_p)),2)]
|
operations = [Expression([l_p[i],l_q[j],op.pw]) for i,j in permutations(range(len(coefs_p)),2)]
|
||||||
for i in operations:
|
for i in operations:
|
||||||
print(i)
|
print(i)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user