示例#1
0
 bool operator ()( const SymbolicVal &v, const SymbolicVal& _target)
 {
     target = _target;
     cur = v;
     result = false;
     v.Visit(this);
     return result;
 }
 void Default0() {
     if (index == 1) {
        index = 2; 
        v2.Visit(this);
     }
     else {
       CompareOperator::Default0(v1,v2);
     }
 }
示例#3
0
 virtual SymbolicVal operator()( const SymbolicVal& v)
 {
     SymbolicVal r; 
     if (valmap != 0)
        r = (*valmap)(v);
     if (r.IsNIL()) { 
        v.Visit(this);
      }
      return r;
 }
 bool operator()(const SymbolicVal& v, SymbolicVal* i, SymbolicVal* f)
  {
     inp = i; 
     frp = f;
     if (inp != 0) *inp = 0;
     if (frp != 0) *frp = 0;
     hasfrac = false;
     v.Visit(this);
     return hasfrac;
  }
示例#5
0
 void VisitExpr( const SymbolicExpr &v)
 {
     if (target.GetValType() == VAL_EXPR && cur == target)
         result = true;
     else {
         for (SymbolicExpr::OpdIterator iter = v.GetOpdIterator();
                 !iter.ReachEnd(); iter.Advance()) {
             SymbolicVal tmp = v.Term2Val(iter.Current());
             cur = tmp;
             cur.Visit(this);
             if (result)
                 break;
         }
     }
 }
示例#6
0
 void VisitFunction( const SymbolicFunction &v)
 {
     if (target.GetValType() == VAL_FUNCTION && cur == target)
         result = true;
     else {
         for (SymbolicFunction::const_iterator p = v.args_begin();
                 p != v.args_end(); ++p) {
             SymbolicVal tmp = *p;
             cur = tmp;
             cur.Visit(this);
             if ( result)
                 break;
         }
     }
 }
示例#7
0
SymbolicVal HasValueMapReplace :: operator() ( const SymbolicVal& v)
   {
      repl = SymbolicVal();
      v.Visit(this);
      return repl;
   }
SymbolicVal ReplaceParams::operator()( const SymbolicVal& v) 
{
  cur = SymbolicVal(); 
  v.Visit(this);
  return cur;
}
 CompareRel operator() ( const SymbolicVal& _v1, const SymbolicVal &_v2) 
 { 
   result = REL_UNKNOWN; v1= _v1; v2 = _v2; index = 1;
   v1.Visit(this); 
   return result;
 }
示例#10
0
 CompareRel operator() ( const SymbolicVal &_v2) 
 { result = REL_UNKNOWN; v2 = _v2;
   v2.Visit(this); return result; }
示例#11
0
 bool operator()(const SymbolicVal &_v1, const SymbolicVal &_v2)
  { result = false; v2 = _v2; _v1.Visit(this); return result; } 
示例#12
0
 bool operator ()(SymbolicVal v)
      { result = false; v.Visit(this); return result; }