# import de modules Python
import string,types
+from math import *
# import de modules Eficas
from Noyau.N_CR import CR
def __init__(self,nom,valeur=None):
# parent ne peut être qu'un objet de type JDC
+ self.dict_valeur=[]
self.valeur = self.interprete_valeur(valeur)
self.val=valeur
self.nom = nom
self.actif=1
self.state='undetermined'
self.register()
- self.dict_valeur=[]
- self.interprete_valeur(valeur)
def __getitem__(self,key):
param_item=ITEM_PARAMETRE(self,key)
return param_item
+ def __neg__(self):
+ try:
+ return -1*self.valeur
+ except:
+ print "******* Probleme : pas de valeur négative"
+ return None
+
+ def __add__(self,a):
+ try :
+ return self.valeur+a.valeur
+ except :
+ print "******* Probleme : a l addition"
+ return None
+
+ def __radd__(self,a):
+ try :
+ return self.valeur+a.valeur
+ except :
+ print "******* Probleme : a l addition"
+ return None
+
+ def __sub__(self,a):
+ try :
+ return self.valeur - a.valeur
+ except :
+ print "******* Probleme : a la soustraction"
+ return None
+
+ def __rsub__(self,a):
+ try :
+ return a.valeur - self.valeur
+ except :
+ print "******* Probleme : a la soustraction"
+ return None
+
+ def __mul__(self,a):
+ try :
+ return self.valeur*a.valeur
+ except :
+ print "******* Probleme : a la multiplication"
+ return None
+
+ def __rmul__(self,a):
+ try :
+ return self.valeur*a.valeur
+ except :
+ print "******* Probleme : a la multiplication"
+ return None
+
+ def __mul__(self,a):
+ try :
+ return self.valeur*a.valeur
+ except :
+ print "******* Probleme : a la multiplication"
+ return None
+
+ def __rmul__(self,a):
+ try :
+ return self.valeur*a.valeur
+ except :
+ print "******* Probleme : a la multiplication"
+ return None
+
+ def __add__(self,other):
+ try :
+ return self.valeur+other
+ except :
+ print "******* Probleme : a l addition"
+ return None
+
+ def __radd__(self,other):
+ try :
+ return self.valeur+other
+ except :
+ print "******* Probleme : a l addition"
+ return None
+
+ def __sub__(self,other):
+ try :
+ return self.valeur - other
+ except :
+ print "******* Probleme : a la soustraction"
+ return None
+
+ def __rsub__(self,other):
+ try :
+ return other - self.valeur
+ except :
+ print "******* Probleme : a la soustraction"
+ return None
+
+ def __mul__ (self,other):
+ retour=None
+ try :
+ retour = eval(self.valeur) * other
+ except :
+ try :
+ retour = self.valeur * other
+ except :
+ print "******* Probleme : a la multiplication"
+ return retour
+
+ def __rmul__ (self,other):
+ retour=None
+ try :
+ retour = eval(self.valeur) * other
+ except :
+ try :
+ retour = self.valeur * other
+ except :
+ print "******* Probleme : a la multiplication"
+ return retour
+
+
def interprete_valeur(self,val):
"""
Essaie d'interpréter val (chaîne de caractères)comme :