44 lines
1.4 KiB
Plaintext
44 lines
1.4 KiB
Plaintext
|
# Explication sur la logique des classes
|
||
|
|
||
|
## Les types
|
||
|
Ce sont les objects que l'on s'autorise à manipuler dans les expressions.
|
||
|
Ces objets doivent pouvoir être afficher en *txt* ou en *tex* avec les méthodes
|
||
|
* *__txt__*: affichage en mode text
|
||
|
* *__tex__*: affichage pour une compilation latex
|
||
|
|
||
|
### Operator
|
||
|
Cette classe regroupe les operateurs. Que l'on s'autorise à utiliser. On y accède à partir de deux caractérisiques le symbole et l'arité.
|
||
|
|
||
|
Liste des attributs mportants:
|
||
|
* arity: nombre d'opérande accepté
|
||
|
* priority: où se place l'opérateur dans la règles des priorités parmis les autres opérateurs
|
||
|
* isOperator: permet de vérifier que c'est bien un opérateur
|
||
|
Liste des méthodes importantes:
|
||
|
* *__call__*: Permet d'effectuer le calcul sur deux opérandes
|
||
|
* *__txt__*: affichage en mode text
|
||
|
* *__tex__*: affichage pour une compilation latex
|
||
|
|
||
|
### Number
|
||
|
Tous les types de "nombres" que l'on va vouloir manipuler. On va essayer de rester le plus proche de la construction mathématiques de ces objets.
|
||
|
|
||
|
Par défaut, on travaillera avec des anneaux ce qui permettra de construire ensuite le corps des fractions et l'anneau des polynomes (quitte à quotienter) associé.
|
||
|
|
||
|
Pour définir ces anneaux, il faudra contre avoir les méthodes suivantes:
|
||
|
* *__add__*
|
||
|
* *__radd__*
|
||
|
...
|
||
|
|
||
|
#### Fractions
|
||
|
|
||
|
#### Polynomes
|
||
|
|
||
|
#### Quotient de polynomes (racines)
|
||
|
|
||
|
|
||
|
## Expression
|
||
|
|
||
|
|
||
|
## Render
|
||
|
|
||
|
|