Changes between Version 5 and Version 6 of 2011CaoTme6


Ignore:
Timestamp:
Nov 13, 2012, 12:31:13 PM (13 years ago)
Author:
jpc
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • 2011CaoTme6

    v5 v6  
     1{{{
     2#!comment
     3  -*- coding: utf-8 -*-
     4}}}
     5
     6
    17[[PageOutline]]
    28
     
    1723{{{EbmExpr.h}}} et {{{EbmVar.h}}}. Il vous est demandé de les compléter.
    1824
    19 Une implantation de la classe {{{BoolValue}}} vous est fournie:
    20 
    21 * [attachment:BoolValue.h   BoolValue.h]
    22 * [attachment:BoolValue.cpp BoolValue.cpp]
     25Une implantation de la classe {{{LogicValue}}} vous est fournie:
     26
     27* [attachment:LogicValue.h   LogicValue.h]
     28* [attachment:LogicValue.cpp LogicValue.cpp]
    2329
    2430
     
    3541            unsigned int       litterals ();
    3642            std::set<EbmVar*>  support   ();
    37             BoolValue          eval      ();
     43            LogicValue         eval      ();
    3844            void               support   ( std::ostream& );
    3945            void               display   ( std::ostream& );
     
    5258   notation ''préfixée''.
    5359 * {{{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:
    5561   {{{Zero}}}, {{{One}}} et {{{Undefined}}} (cf. {{{TME 2}}}).
    5662 * {{{parse()}}} : Une fonction statique transformant une chaîne de caractères en une
     
    6874  public:
    6975    inline   std::string   getName  ();
    70     inline   BoolValue     getValue ();
     76    inline   LogicValue    getValue ();
    7177    inline   unsigned int  getIndex ();
    72     inline   void          setValue ( BoolValue value );
     78    inline   void          setValue ( LogicValue value );
    7379  private:
    74                            EbmVar   ( std::string name, BoolValue value=Low );
     80                           EbmVar   ( std::string name, LogicValue value=Low );
    7581    virtual               ~EbmVar   ();
    7682  private:
     
    7884    static std::map<unsigned int,EbmVar*>  _byIndex;
    7985  public:
    80     static   EbmVar*       create   ( std::string name, BoolValue value = BoolValue::Zero );
     86    static   EbmVar*       create   ( std::string name, LogicValue value=LogicValue::Zero );
    8187  // Completer ici...
    8288  private:   
    8389           std::string                     _name;     // Variable name.
    84            BoolValue                       _value;    // Logical value.
     90           LogicValue                      _value;    // Logical value.
    8591           unsigned int                    _index;    // Unique index (for ROBDD)
    8692};