* src/ltlast/formula.hh (hash, dump, dump_, hash_key_): New members.
(formula_ptr_less_than, formula_ptr_hash): New class. * src/ltlast/atomic_prop.cc, src/ltlast/binop.cc, src/ltlast/constant.cc, src/ltlast/formula.cc, src/ltlast/multop.cc, src/ltlast/unop.cc: Adjust to handle dump_. * src/ltlvisit/apcollect.cc, src/ltlvisit/apcollect.hh: Sort the set using formula_ptr_less_than. * src/ltlvisit/dump.cc: Simplify using ->dump(). * src/tgbaalgos/ltl2tgba_fm.cc: Sort all maps to get deterministic results.
This commit is contained in:
parent
8a5e31f00e
commit
5069a565b6
12 changed files with 153 additions and 82 deletions
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||
// Copyright (C) 2003, 2004, 2005 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||
// et Marie Curie.
|
||||
//
|
||||
|
|
@ -34,6 +34,15 @@ namespace spot
|
|||
multop::multop(type op, vec* v)
|
||||
: op_(op), children_(v)
|
||||
{
|
||||
dump_ = "multop(";
|
||||
dump_ += op_name();
|
||||
unsigned max = v->size();
|
||||
for (unsigned n = 0; n < max; ++n)
|
||||
{
|
||||
dump_ += ", " + (*v)[n]->dump();
|
||||
}
|
||||
dump_ += ")";
|
||||
set_key_();
|
||||
}
|
||||
|
||||
multop::~multop()
|
||||
|
|
@ -131,7 +140,7 @@ namespace spot
|
|||
v->insert(v->end(), inlined.begin(), inlined.end());
|
||||
}
|
||||
|
||||
std::sort(v->begin(), v->end());
|
||||
std::sort(v->begin(), v->end(), formula_ptr_less_than());
|
||||
|
||||
// Remove duplicates. We can't use std::unique(), because we
|
||||
// must destroy() any formula we drop.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue