Feat(compute): Multiply strpower and str done

Discover bug with str and * printing
This commit is contained in:
2018-10-10 10:28:38 +02:00
parent ddf15e4276
commit e6abc208a0
4 changed files with 104 additions and 1 deletions

View File

@@ -15,6 +15,7 @@ from .exceptions import TypingError
# from .minus import minus
# from .multiply import multiply
from .divide import divide
from .power import power
from ..MO.mo import MOnumber, MOstr
from ..MO.fraction import MOFraction
@@ -30,6 +31,7 @@ OPERATIONS = {
# "-": minus,
# "*": multiply,
"/": divide,
"^": power,
}
def typing(node, left_v, right_v):

View File

@@ -0,0 +1,45 @@
#! /usr/bin/env python
# -*- coding: utf-8 -*-
# vim:fenc=utf-8
#
# Copyright © 2017 lafrite <lafrite@Poivre>
#
# Distributed under terms of the MIT license.
"""
Typing Power with MO
"""
from multipledispatch import Dispatcher
from ..tree import Tree
from ..MO.mo import MO, MOnumber, MOstr
from ..MO.monomial import MOstrPower
power_doc = """ Typing Power of MOs
:param left: left MO
:param right: right MO
:returns: Tree or MO
"""
power = Dispatcher("power", doc=power_doc)
@power.register(MOstr, MOnumber)
def monumber_monumber(left, right):
""" Create MOstrPower over powered MOstr
>>> a = MOstr("x")
>>> b = MOnumber(6)
>>> power(a, b)
<MOstrPower x^6>
"""
return MOstrPower(left, right)
# -----------------------------
# Reglages pour 'vim'
# vim:set autoindent expandtab tabstop=4 shiftwidth=4:
# cursor: 16 del