Logo Search packages:      
Sourcecode: lbt version File versions  Download package

static class Ltl& LtlJunct::construct ( bool  con,
class Ltl l,
class Ltl r 
) [inline, static]

Optimizing constructor

Parameters:
con flag: conjunction instead of disjunction
l the left-hand-side formula
r the right-hand-side formula
Returns:
an equivalent formula

Definition at line 260 of file Ltl.h.

References Ltl::getKind(), and Ltl::insert().

Referenced by readFormula().

                                       {
    if (l.getKind () == Ltl::Constant)
      return bool (static_cast<class LtlConstant&>(l)) == con ? r : l;
    if (r.getKind () == Ltl::Constant)
      return bool (static_cast<class LtlConstant&>(r)) == con ? l : r;
    if (&l == &r)
      return l;
    return &l < &r
      ? insert (*new class LtlJunct (con, l, r))
      : insert (*new class LtlJunct (con, r, l));
  }


Generated by  Doxygen 1.6.0   Back to index