コード例 #1
0
ファイル: ByAdmissible.hpp プロジェクト: lolmid/2015-2016
 bool operator()(const VariableSet & m,const VariableSet & n) const {
   bool result = false;
   int msz = m.size();
   int nsz = n.size();
   if(msz!=nsz) {
     result = msz< nsz;
   } else if(msz>0) {
     result = false; // perhaps they are equal
     Variable v1,v2;
     bool b1 = m.firstVariable(v1);
     bool b2 = n.firstVariable(v2);
     if(v1==v2) {
       while(b1&&b2) {
         b1 = m.nextVariable(v1);
         b2 = n.nextVariable(v2);
         if(b1) {
           if(v1!=v2) {
            result = operator()(v1,v2);
           }; 
         } else break; 
      };
     } else {
       result = operator()(v1,v2);
     };
     if(b1!=b2) errorh(__LINE__);
   };
   return result;
 };
コード例 #2
0
ファイル: TeXDisplay.c プロジェクト: mcdeoliveira/NC
void TeXDisplay::printTeXVariableSet(const VariableSet & x) {
    d_sink.put(" $\\{$ ");
    Variable var;
    bool b = x.firstVariable(var);
    if(b) {
      d_sink.put(var);
      b = x.nextVariable(var);
      while(b) {
        d_sink.put(',');
        d_sink.put(var);
        b = x.nextVariable(var);
      };
    };
    d_sink.put(" $\\}$ ");
};
コード例 #3
0
ファイル: AdmWithLevels.cpp プロジェクト: mcdeoliveira/NC
void AdmWithLevels::sortIntoKnownsAndUnknowns(const VariableSet & x,
    VariableSet & knowns,VariableSet & unknowns) const {
  knowns.clear();
  unknowns.clear();
  Variable v;
  bool b = x.firstVariable(v);
  while(b) {
    if(d_knowns.present(v)) {
       knowns.insert(v);
    } else {
       unknowns.insert(v);
    }; 
    b = x.nextVariable(v);
  };
};