Feat(Core): Add compute add for 2 mostr and 2 mostrpower
This commit is contained in:
parent
8280640a4f
commit
1be3b35e1b
@ -156,6 +156,19 @@ def mopolynomial_moscalar(left, right):
|
||||
new_coefs = {**new_coefs, **left.coefficients}
|
||||
return MOpolynomial(left.variable, new_coefs)
|
||||
|
||||
@add.register(MOstr, MOstr)
|
||||
def mostr_mostr(left, right):
|
||||
""" add 2 mostr
|
||||
|
||||
>>> a = MOstr('x')
|
||||
>>> b = MOstr('x')
|
||||
>>> add(a, b)
|
||||
<MOMonomial 2x>
|
||||
"""
|
||||
if left != right:
|
||||
raise NotImplementedError("Can't add 2 Mostr without same letter")
|
||||
return MOMonomial(2, left)
|
||||
|
||||
@add.register(MOstr, MOstrPower)
|
||||
def mostr_mostrpower(left, right):
|
||||
""" add a scalar with a letter to create a MOpolynomial
|
||||
@ -188,6 +201,22 @@ def mostrpower_mostr(left, right):
|
||||
raise
|
||||
return MOpolynomial(right , {1: 1, left.power: 1})
|
||||
|
||||
@add.register(MOstrPower, MOstrPower)
|
||||
def mostrpower_mostrpower(left, right):
|
||||
""" add 2 mostrpower
|
||||
|
||||
>>> a = MOstrPower('x', 3)
|
||||
>>> b = MOstrPower('x', 3)
|
||||
>>> add(a, b)
|
||||
<MOMonomial 2x^3>
|
||||
"""
|
||||
if left.variable != right.variable:
|
||||
raise NotImplementedError("Can't add 2 Mostrpower without same letter")
|
||||
if left.power != right.power:
|
||||
raise NotImplementedError("Can't add 2 Mostrpower with compute if not same degree")
|
||||
|
||||
return MOMonomial(2, left.variable, left.power)
|
||||
|
||||
@add.register(MOstr, MOpolynomial)
|
||||
def mostr_mopolynomial(left, right):
|
||||
""" add a str with a MOpolynomial to create a MOpolynomial
|
||||
|
Loading…
Reference in New Issue
Block a user