Mapytex/mapytex/calculus/API/__init__.py

66 lines
1.1 KiB
Python

#! /usr/bin/env python
# -*- coding: utf-8 -*-
# vim:fenc=utf-8
#
# Copyright © 2017 lafrite <lafrite@Poivre>
#
# Distributed under terms of the MIT license.
"""
Generate and compute like a student!
:example:
>>> e = Expression.from_str("2+3*4")
>>> e_simplified = e.simplify()
>>> print(e_simplified)
14
>>> for s in e_simplified.explain():
... print(s)
2 + 3 * 4
2 + 12
14
>>> e = Expression.from_str("2+3/2")
>>> e_simplified = e.simplify()
>>> print(e_simplified)
7 / 2
>>> for s in e_simplified.explain():
... print(s)
2 + 3 / 2
2 / 1 + 3 / 2
(2 * 2) / (1 * 2) + 3 / 2
4 / 2 + 3 / 2
(4 + 3) / 2
7 / 2
>>> e = Expression.from_str("(2/3)^4")
>>> e_simplified = e.simplify()
>>> print(e_simplified)
16 / 81
>>> for s in e_simplified.explain():
... print(s)
(2 / 3)^4
2^4 / 3^4
16 / 81
>>> e = Expression.from_str("x^2*x*x^4")
>>> e_simplified = e.simplify()
>>> print(e_simplified)
x^7
>>> for s in e_simplified.explain():
... print(s)
x^2 * x * x^4
x^3 * x^4
x^(3 + 4)
x^7
"""
from .expression import Expression
# -----------------------------
# Reglages pour 'vim'
# vim:set autoindent expandtab tabstop=4 shiftwidth=4:
# cursor: 16 del