Changes between Version 5 and Version 6 of 2011CaoTme6
- Timestamp:
- Nov 13, 2012, 12:31:13 PM (13 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
2011CaoTme6
v5 v6 1 {{{ 2 #!comment 3 -*- coding: utf-8 -*- 4 }}} 5 6 1 7 [[PageOutline]] 2 8 … … 17 23 {{{EbmExpr.h}}} et {{{EbmVar.h}}}. Il vous est demandé de les compléter. 18 24 19 Une implantation de la classe {{{ BoolValue}}} vous est fournie:20 21 * [attachment: BoolValue.h BoolValue.h]22 * [attachment: BoolValue.cpp BoolValue.cpp]25 Une implantation de la classe {{{LogicValue}}} vous est fournie: 26 27 * [attachment:LogicValue.h LogicValue.h] 28 * [attachment:LogicValue.cpp LogicValue.cpp] 23 29 24 30 … … 35 41 unsigned int litterals (); 36 42 std::set<EbmVar*> support (); 37 BoolValueeval ();43 LogicValue eval (); 38 44 void support ( std::ostream& ); 39 45 void display ( std::ostream& ); … … 52 58 notation ''préfixée''. 53 59 * {{{eval()}}} : Calcule la valeur de l'expression booléenne. Le type de retour est un 54 {{{ BoolValue}}}, c'est à dire une variable pouvant prendre trois valeurs:60 {{{LogicValue}}}, c'est à dire une variable pouvant prendre trois valeurs: 55 61 {{{Zero}}}, {{{One}}} et {{{Undefined}}} (cf. {{{TME 2}}}). 56 62 * {{{parse()}}} : Une fonction statique transformant une chaîne de caractères en une … … 68 74 public: 69 75 inline std::string getName (); 70 inline BoolValuegetValue ();76 inline LogicValue getValue (); 71 77 inline unsigned int getIndex (); 72 inline void setValue ( BoolValue value );78 inline void setValue ( LogicValue value ); 73 79 private: 74 EbmVar ( std::string name, BoolValue value=Low );80 EbmVar ( std::string name, LogicValue value=Low ); 75 81 virtual ~EbmVar (); 76 82 private: … … 78 84 static std::map<unsigned int,EbmVar*> _byIndex; 79 85 public: 80 static EbmVar* create ( std::string name, BoolValue value = BoolValue::Zero );86 static EbmVar* create ( std::string name, LogicValue value=LogicValue::Zero ); 81 87 // Completer ici... 82 88 private: 83 89 std::string _name; // Variable name. 84 BoolValue_value; // Logical value.90 LogicValue _value; // Logical value. 85 91 unsigned int _index; // Unique index (for ROBDD) 86 92 };