Replace << "c" by << 'c', and check for it in style.sh
* src/sanity/style.test: Add a test. * iface/dve2/dve2.cc, iface/dve2/dve2check.cc, src/bin/common_output.cc, src/bin/dstar2tgba.cc, src/bin/ltl2tgba.cc, src/bin/ltlcross.cc, src/dstarparse/dra2ba.cc, src/dstarparse/fmterror.cc, src/dstarparse/nsa2tgba.cc, src/kripke/kripkeprint.cc, src/kripkeparse/fmterror.cc, src/ltlast/atomic_prop.cc, src/ltlast/bunop.cc, src/ltltest/ltlrel.cc, src/ltltest/reduc.cc, src/ltltest/syntimpl.cc, src/ltlvisit/dotty.cc, src/ltlvisit/lbt.cc, src/ltlvisit/randomltl.cc, src/ltlvisit/relabel.cc, src/ltlvisit/simplify.cc, src/ltlvisit/tostring.cc, src/misc/bitvect.cc, src/misc/optionmap.cc, src/misc/timer.cc, src/neverparse/fmterror.cc, src/priv/freelist.cc, src/saba/sabacomplementtgba.cc, src/sabaalgos/sabadotty.cc, src/taalgos/dotty.cc, src/taalgos/minimize.cc, src/tgba/bdddict.cc, src/tgba/bddprint.cc, src/tgba/futurecondcol.cc, src/tgba/taatgba.hh, src/tgba/tgbakvcomplement.cc, src/tgba/tgbasafracomplement.cc, src/tgbaalgos/compsusp.cc, src/tgbaalgos/cycles.cc, src/tgbaalgos/dotty.cc, src/tgbaalgos/dtbasat.cc, src/tgbaalgos/dtgbasat.cc, src/tgbaalgos/emptiness.cc, src/tgbaalgos/gtec/gtec.cc, src/tgbaalgos/gv04.cc, src/tgbaalgos/lbtt.cc, src/tgbaalgos/ltl2tgba_fm.cc, src/tgbaalgos/minimize.cc, src/tgbaalgos/neverclaim.cc, src/tgbaalgos/powerset.cc, src/tgbaalgos/replayrun.cc, src/tgbaalgos/save.cc, src/tgbaalgos/scc.cc, src/tgbaalgos/sccfilter.cc, src/tgbaalgos/weight.cc, src/tgbaalgos/word.cc, src/tgbaparse/fmterror.cc, src/tgbatest/bitvect.cc, src/tgbatest/complementation.cc, src/tgbatest/intvcmp2.cc, src/tgbatest/intvcomp.cc, src/tgbatest/ltl2tgba.cc, src/tgbatest/randtgba.cc: Replace << "c" by << 'c' when appropriate.
This commit is contained in:
parent
49c66c6319
commit
ba5aff2460
64 changed files with 417 additions and 398 deletions
|
|
@ -440,8 +440,8 @@ namespace spot
|
||||||
std::cerr << "Possible states are:";
|
std::cerr << "Possible states are:";
|
||||||
for (ei = enum_map[type_num].begin();
|
for (ei = enum_map[type_num].begin();
|
||||||
ei != enum_map[type_num].end(); ++ei)
|
ei != enum_map[type_num].end(); ++ei)
|
||||||
std::cerr << " " << ei->first;
|
std::cerr << ' ' << ei->first;
|
||||||
std::cerr << std::endl;
|
std::cerr << '\n';
|
||||||
|
|
||||||
free(name);
|
free(name);
|
||||||
++errors;
|
++errors;
|
||||||
|
|
@ -566,8 +566,8 @@ namespace spot
|
||||||
std::cerr << "Possible states are:";
|
std::cerr << "Possible states are:";
|
||||||
for (ei = enum_map[type_num].begin();
|
for (ei = enum_map[type_num].begin();
|
||||||
ei != enum_map[type_num].end(); ++ei)
|
ei != enum_map[type_num].end(); ++ei)
|
||||||
std::cerr << " " << ei->first;
|
std::cerr << ' ' << ei->first;
|
||||||
std::cerr << std::endl;
|
std::cerr << '\n';
|
||||||
|
|
||||||
free(name);
|
free(name);
|
||||||
++errors;
|
++errors;
|
||||||
|
|
@ -906,7 +906,7 @@ namespace spot
|
||||||
++i;
|
++i;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
res << vname_[i] << "=" << vars[i];
|
res << vname_[i] << '=' << vars[i];
|
||||||
++i;
|
++i;
|
||||||
if (i == state_size_)
|
if (i == state_size_)
|
||||||
break;
|
break;
|
||||||
|
|
@ -993,7 +993,7 @@ namespace spot
|
||||||
if (verbose)
|
if (verbose)
|
||||||
std::cerr << "Execution of `" << command.c_str()
|
std::cerr << "Execution of `" << command.c_str()
|
||||||
<< "' returned exit code " << WEXITSTATUS(res)
|
<< "' returned exit code " << WEXITSTATUS(res)
|
||||||
<< "." << std::endl;
|
<< ".\n";
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|
@ -1088,7 +1088,7 @@ namespace spot
|
||||||
{
|
{
|
||||||
if (verbose)
|
if (verbose)
|
||||||
std::cerr << "Failed to resolve some symbol while loading `"
|
std::cerr << "Failed to resolve some symbol while loading `"
|
||||||
<< file << "'" << std::endl;
|
<< file << "'\n";
|
||||||
delete d;
|
delete d;
|
||||||
lt_dlexit();
|
lt_dlexit();
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
// Copyright (C) 2011, 2012, 2013 Laboratoire de Recherche et
|
// -*- coding: utf-8 -*-
|
||||||
|
// Copyright (C) 2011, 2012, 2013, 2014 Laboratoire de Recherche et
|
||||||
// Developpement de l'Epita (LRDE)
|
// Developpement de l'Epita (LRDE)
|
||||||
//
|
//
|
||||||
// This file is part of Spot, a model checking library.
|
// This file is part of Spot, a model checking library.
|
||||||
|
|
@ -186,7 +187,7 @@ main(int argc, char **argv)
|
||||||
if (!echeck_inst)
|
if (!echeck_inst)
|
||||||
{
|
{
|
||||||
std::cerr << "Failed to parse argument of -e/-E near `"
|
std::cerr << "Failed to parse argument of -e/-E near `"
|
||||||
<< err << "'" << std::endl;
|
<< err << "'\n";
|
||||||
exit_code = 1;
|
exit_code = 1;
|
||||||
goto safe_exit;
|
goto safe_exit;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
// -*- coding: utf-8 -*-
|
// -*- coding: utf-8 -*-
|
||||||
// Copyright (C) 2012, 2013 Laboratoire de Recherche et Développement
|
// Copyright (C) 2012, 2013, 2014 Laboratoire de Recherche et
|
||||||
// de l'Epita (LRDE).
|
// Développement de l'Epita (LRDE).
|
||||||
//
|
//
|
||||||
// This file is part of Spot, a model checking library.
|
// This file is part of Spot, a model checking library.
|
||||||
//
|
//
|
||||||
|
|
@ -242,10 +242,10 @@ output_formula(std::ostream& out,
|
||||||
if (!format)
|
if (!format)
|
||||||
{
|
{
|
||||||
if (prefix)
|
if (prefix)
|
||||||
out << prefix << ",";
|
out << prefix << ',';
|
||||||
stream_escapable_formula(out, f, filename, linenum);
|
stream_escapable_formula(out, f, filename, linenum);
|
||||||
if (suffix)
|
if (suffix)
|
||||||
out << "," << suffix;
|
out << ',' << suffix;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -347,7 +347,7 @@ namespace
|
||||||
spot::never_claim_reachable(std::cout, aut);
|
spot::never_claim_reachable(std::cout, aut);
|
||||||
break;
|
break;
|
||||||
case Stats:
|
case Stats:
|
||||||
statistics.print(daut, aut, filename, conversion_time) << "\n";
|
statistics.print(daut, aut, filename, conversion_time) << '\n';
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
delete aut;
|
delete aut;
|
||||||
|
|
|
||||||
|
|
@ -262,7 +262,7 @@ namespace
|
||||||
spot::never_claim_reachable(std::cout, aut, f);
|
spot::never_claim_reachable(std::cout, aut, f);
|
||||||
break;
|
break;
|
||||||
case Stats:
|
case Stats:
|
||||||
statistics.print(aut, f, translation_time) << "\n";
|
statistics.print(aut, f, translation_time) << '\n';
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
delete aut;
|
delete aut;
|
||||||
|
|
|
||||||
|
|
@ -1061,11 +1061,11 @@ namespace
|
||||||
std::ostream& err = global_error();
|
std::ostream& err = global_error();
|
||||||
err << "error: ";
|
err << "error: ";
|
||||||
if (icomp)
|
if (icomp)
|
||||||
err << "Comp(N" << i << ")";
|
err << "Comp(N" << i << ')';
|
||||||
else
|
else
|
||||||
err << "P" << i;
|
err << 'P' << i;
|
||||||
if (jcomp)
|
if (jcomp)
|
||||||
err << "*Comp(P" << j << ")";
|
err << "*Comp(P" << j << ')';
|
||||||
else
|
else
|
||||||
err << "*N" << j;
|
err << "*N" << j;
|
||||||
err << " is nonempty";
|
err << " is nonempty";
|
||||||
|
|
@ -1079,12 +1079,12 @@ namespace
|
||||||
<< " ";
|
<< " ";
|
||||||
spot::tgba_word w(runmin);
|
spot::tgba_word w(runmin);
|
||||||
w.simplify();
|
w.simplify();
|
||||||
w.print(example(), prod->get_dict()) << "\n";
|
w.print(example(), prod->get_dict()) << '\n';
|
||||||
delete runmin;
|
delete runmin;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
std::cerr << "\n";
|
std::cerr << '\n';
|
||||||
}
|
}
|
||||||
end_error();
|
end_error();
|
||||||
}
|
}
|
||||||
|
|
@ -1142,7 +1142,7 @@ namespace
|
||||||
}
|
}
|
||||||
err << "} when evaluating ";
|
err << "} when evaluating ";
|
||||||
if (products > 1)
|
if (products > 1)
|
||||||
err << "state-space #" << p << "/" << products << "\n";
|
err << "state-space #" << p << '/' << products << '\n';
|
||||||
else
|
else
|
||||||
err << "the state-space\n";
|
err << "the state-space\n";
|
||||||
end_error();
|
end_error();
|
||||||
|
|
@ -1233,14 +1233,14 @@ namespace
|
||||||
// complains.
|
// complains.
|
||||||
std::string fstr = runner.formula();
|
std::string fstr = runner.formula();
|
||||||
if (filename)
|
if (filename)
|
||||||
std::cerr << filename << ":";
|
std::cerr << filename << ':';
|
||||||
if (linenum)
|
if (linenum)
|
||||||
std::cerr << linenum << ":";
|
std::cerr << linenum << ':';
|
||||||
if (filename || linenum)
|
if (filename || linenum)
|
||||||
std::cerr << " ";
|
std::cerr << ' ';
|
||||||
if (color_opt)
|
if (color_opt)
|
||||||
std::cerr << bright_white;
|
std::cerr << bright_white;
|
||||||
std::cerr << fstr << "\n";
|
std::cerr << fstr << '\n';
|
||||||
if (color_opt)
|
if (color_opt)
|
||||||
std::cerr << reset_color;
|
std::cerr << reset_color;
|
||||||
|
|
||||||
|
|
@ -1465,9 +1465,9 @@ namespace
|
||||||
<< " and N" << i;
|
<< " and N" << i;
|
||||||
if (products > 1)
|
if (products > 1)
|
||||||
err << " for state-space #" << p
|
err << " for state-space #" << p
|
||||||
<< "/" << products << "\n";
|
<< '/' << products << '\n';
|
||||||
else
|
else
|
||||||
err << "\n";
|
err << '\n';
|
||||||
end_error();
|
end_error();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
// Copyright (C) 2013 Laboratoire de Recherche et Développement de
|
// -*- coding: utf-8 -*-
|
||||||
// l'Epita (LRDE).
|
// Copyright (C) 2013, 2014 Laboratoire de Recherche et Développement
|
||||||
|
// de l'Epita (LRDE).
|
||||||
//
|
//
|
||||||
// This file is part of Spot, a model checking library.
|
// This file is part of Spot, a model checking library.
|
||||||
//
|
//
|
||||||
|
|
@ -350,7 +351,7 @@ namespace spot
|
||||||
bool scc_realizable = filter_states(dra->aut, dra, sl, final, nonfinal);
|
bool scc_realizable = filter_states(dra->aut, dra, sl, final, nonfinal);
|
||||||
dba_realizable &= scc_realizable;
|
dba_realizable &= scc_realizable;
|
||||||
realizable[scc] = scc_realizable;
|
realizable[scc] = scc_realizable;
|
||||||
//std::cerr << "realizable[" << scc << "] = " << scc_realizable << "\n";
|
//std::cerr << "realizable[" << scc << "] = " << scc_realizable << '\n';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (dba)
|
if (dba)
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
// Copyright (C) 2013 Laboratoire de Recherche et Développement de
|
// -*- coding: utf-8 -*-
|
||||||
// l'Epita (LRDE).
|
// Copyright (C) 2013, 2014 Laboratoire de Recherche et Développement
|
||||||
|
// de l'Epita (LRDE).
|
||||||
//
|
//
|
||||||
// This file is part of Spot, a model checking library.
|
// This file is part of Spot, a model checking library.
|
||||||
//
|
//
|
||||||
|
|
@ -31,7 +32,7 @@ namespace spot
|
||||||
for (it = error_list.begin(); it != error_list.end(); ++it)
|
for (it = error_list.begin(); it != error_list.end(); ++it)
|
||||||
{
|
{
|
||||||
if (filename != "-")
|
if (filename != "-")
|
||||||
os << filename << ":";
|
os << filename << ':';
|
||||||
os << it->first << ": ";
|
os << it->first << ": ";
|
||||||
os << it->second << std::endl;
|
os << it->second << std::endl;
|
||||||
printed = true;
|
printed = true;
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
// Copyright (C) 2013, 2014 Laboratoire de Recherche et Développement de
|
// -*- coding: utf-8 -*-
|
||||||
// l'Epita (LRDE).
|
// Copyright (C) 2013, 2014 Laboratoire de Recherche et Développement
|
||||||
|
// de l'Epita (LRDE).
|
||||||
//
|
//
|
||||||
// This file is part of Spot, a model checking library.
|
// This file is part of Spot, a model checking library.
|
||||||
//
|
//
|
||||||
|
|
@ -222,7 +223,7 @@ namespace spot
|
||||||
// bs2num_map::iterator i = bs2num.begin();
|
// bs2num_map::iterator i = bs2num.begin();
|
||||||
// while (i != bs2num.end())
|
// while (i != bs2num.end())
|
||||||
// {
|
// {
|
||||||
// std::cerr << i->second << ": (" << i->first.s << ",";
|
// std::cerr << i->second << ": (" << i->first.s << ',';
|
||||||
// if (i->first.pend)
|
// if (i->first.pend)
|
||||||
// std::cerr << *i->first.pend << ")\n";
|
// std::cerr << *i->first.pend << ")\n";
|
||||||
// else
|
// else
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
// -*- coding: utf-8 -*-
|
// -*- coding: utf-8 -*-
|
||||||
// Copyright (C) 2011, 2012 Laboratoire de Recherche et Developpement
|
// Copyright (C) 2011, 2012, 2014 Laboratoire de Recherche et
|
||||||
// de l'Epita (LRDE)
|
// Developpement de l'Epita (LRDE)
|
||||||
//
|
//
|
||||||
// This file is part of Spot, a model checking library.
|
// This file is part of Spot, a model checking library.
|
||||||
//
|
//
|
||||||
|
|
@ -42,7 +42,7 @@ namespace spot
|
||||||
void process_state(const state* s, int, tgba_succ_iterator* si)
|
void process_state(const state* s, int, tgba_succ_iterator* si)
|
||||||
{
|
{
|
||||||
const bdd_dict* d = aut_->get_dict();
|
const bdd_dict* d = aut_->get_dict();
|
||||||
os_ << "\"";
|
os_ << '"';
|
||||||
escape_str(os_, aut_->format_state(s));
|
escape_str(os_, aut_->format_state(s));
|
||||||
os_ << "\", \"";
|
os_ << "\", \"";
|
||||||
const kripke* automata = down_cast<const kripke*> (aut_);
|
const kripke* automata = down_cast<const kripke*> (aut_);
|
||||||
|
|
@ -56,7 +56,7 @@ namespace spot
|
||||||
state* dest = si->current_state();
|
state* dest = si->current_state();
|
||||||
os_ << " \"";
|
os_ << " \"";
|
||||||
escape_str(os_, aut_->format_state(dest));
|
escape_str(os_, aut_->format_state(dest));
|
||||||
os_ << "\"";
|
os_ << '"';
|
||||||
}
|
}
|
||||||
os_ << ";\n";
|
os_ << ";\n";
|
||||||
}
|
}
|
||||||
|
|
@ -89,7 +89,7 @@ namespace spot
|
||||||
notfirst = true;
|
notfirst = true;
|
||||||
|
|
||||||
const bdd_dict* d = aut_->get_dict();
|
const bdd_dict* d = aut_->get_dict();
|
||||||
os_ << "S" << in_s << ", \"";
|
os_ << 'S' << in_s << ", \"";
|
||||||
const kripke* automata = down_cast<const kripke*>(aut_);
|
const kripke* automata = down_cast<const kripke*>(aut_);
|
||||||
assert(automata);
|
assert(automata);
|
||||||
escape_str(os_, bdd_format_formula(d,
|
escape_str(os_, bdd_format_formula(d,
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
// Copyright (C) 2011 Laboratoire de Recherche et Developpement
|
// -*- coding: utf-8 -*-
|
||||||
|
// Copyright (C) 2011, 2014 Laboratoire de Recherche et Développement
|
||||||
// de l'Epita (LRDE)
|
// de l'Epita (LRDE)
|
||||||
//
|
//
|
||||||
// This file is part of Spot, a model checking library.
|
// This file is part of Spot, a model checking library.
|
||||||
|
|
@ -31,7 +32,7 @@ namespace spot
|
||||||
for (it = error_list.begin(); it != error_list.end(); ++it)
|
for (it = error_list.begin(); it != error_list.end(); ++it)
|
||||||
{
|
{
|
||||||
if (filename != "-")
|
if (filename != "-")
|
||||||
os << filename << ":";
|
os << filename << ':';
|
||||||
os << it->first << ": ";
|
os << it->first << ": ";
|
||||||
os << it->second << std::endl;
|
os << it->second << std::endl;
|
||||||
printed = true;
|
printed = true;
|
||||||
|
|
|
||||||
|
|
@ -112,7 +112,7 @@ namespace spot
|
||||||
for (const auto& i: instances)
|
for (const auto& i: instances)
|
||||||
os << i.second << " = " << i.second->ref_count_()
|
os << i.second << " = " << i.second->ref_count_()
|
||||||
<< " * atomic_prop(" << i.first.first << ", "
|
<< " * atomic_prop(" << i.first.first << ", "
|
||||||
<< i.first.second->name() << ")" << std::endl;
|
<< i.first.second->name() << ')' << std::endl;
|
||||||
return os;
|
return os;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -89,7 +89,7 @@ namespace spot
|
||||||
out << "unbounded";
|
out << "unbounded";
|
||||||
else
|
else
|
||||||
out << max_;
|
out << max_;
|
||||||
out << ")";
|
out << ')';
|
||||||
return out.str();
|
return out.str();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -144,7 +144,7 @@ namespace spot
|
||||||
out << max_;
|
out << max_;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
out << "]";
|
out << ']';
|
||||||
return out.str();
|
return out.str();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
// -*- coding: utf-8 -*-
|
// -*- coding: utf-8 -*-
|
||||||
// Copyright (C) 2013 Laboratoire de Recherche et Developement de
|
// Copyright (C) 2013, 2014 Laboratoire de Recherche et Developement
|
||||||
// l'Epita (LRDE).
|
// de l'Epita (LRDE).
|
||||||
//
|
//
|
||||||
// This file is part of Spot, a model checking library.
|
// This file is part of Spot, a model checking library.
|
||||||
//
|
//
|
||||||
|
|
@ -47,7 +47,7 @@ main(int argc, char **argv)
|
||||||
spot::ltl::relabeling_map* m = new spot::ltl::relabeling_map;
|
spot::ltl::relabeling_map* m = new spot::ltl::relabeling_map;
|
||||||
const spot::ltl::formula* f2 = spot::ltl::relabel_bse(f1, spot::ltl::Pnn, m);
|
const spot::ltl::formula* f2 = spot::ltl::relabel_bse(f1, spot::ltl::Pnn, m);
|
||||||
f1->destroy();
|
f1->destroy();
|
||||||
spot::ltl::to_string(f2, std::cout) << "\n";
|
spot::ltl::to_string(f2, std::cout) << '\n';
|
||||||
|
|
||||||
|
|
||||||
typedef std::map<std::string, std::string> map_t;
|
typedef std::map<std::string, std::string> map_t;
|
||||||
|
|
@ -59,7 +59,7 @@ main(int argc, char **argv)
|
||||||
for (map_t::const_iterator i = sorted_map.begin();
|
for (map_t::const_iterator i = sorted_map.begin();
|
||||||
i != sorted_map.end(); ++i)
|
i != sorted_map.end(); ++i)
|
||||||
std::cout << " " << i->first << " -> "
|
std::cout << " " << i->first << " -> "
|
||||||
<< i->second << "\n";
|
<< i->second << '\n';
|
||||||
f2->destroy();
|
f2->destroy();
|
||||||
delete m;
|
delete m;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
// Copyright (C) 2008, 2009, 2010, 2011, 2012 Laboratoire de Recherche
|
// Copyright (C) 2008, 2009, 2010, 2011, 2012, 2014 Laboratoire de Recherche
|
||||||
// et Développement de l'Epita (LRDE).
|
// et Développement de l'Epita (LRDE).
|
||||||
// Copyright (C) 2004, 2006, 2007 Laboratoire d'Informatique de Paris
|
// Copyright (C) 2004, 2006, 2007 Laboratoire d'Informatique de Paris
|
||||||
// 6 (LIP6), département Systèmes Répartis Coopératifs (SRC),
|
// 6 (LIP6), département Systèmes Répartis Coopératifs (SRC),
|
||||||
|
|
@ -258,11 +258,11 @@ main(int argc, char** argv)
|
||||||
// If -h is set, we want to print only formulae that have become larger.
|
// If -h is set, we want to print only formulae that have become larger.
|
||||||
if (!f2 && (!hidereduc || (length_f1_after > length_f1_before)))
|
if (!f2 && (!hidereduc || (length_f1_after > length_f1_before)))
|
||||||
{
|
{
|
||||||
std::cout << length_f1_before << " " << length_f1_after
|
std::cout << length_f1_before << ' ' << length_f1_after
|
||||||
<< " '" << f1s_before << "' reduce to '" << f1s_after << "'";
|
<< " '" << f1s_before << "' reduce to '" << f1s_after << '\'';
|
||||||
if (f1l != "" && f1l != f1s_after)
|
if (f1l != "" && f1l != f1s_after)
|
||||||
std::cout << " or (w/o rss) to '" << f1l << "'";
|
std::cout << " or (w/o rss) to '" << f1l << '\'';
|
||||||
std::cout << std::endl;
|
std::cout << '\n';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (f2)
|
if (f2)
|
||||||
|
|
@ -311,7 +311,7 @@ main(int argc, char** argv)
|
||||||
float before = sum_before;
|
float before = sum_before;
|
||||||
float after = sum_after;
|
float after = sum_after;
|
||||||
std::cout << "gain: "
|
std::cout << "gain: "
|
||||||
<< (1 - (after / before)) * 100 << "%" << std::endl;
|
<< (1 - (after / before)) * 100 << '%' << std::endl;
|
||||||
delete fin;
|
delete fin;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
// -*- coding: utf-8 -*-
|
// -*- coding: utf-8 -*-
|
||||||
// Copyright (C) 2008, 2009, 2010, 2011, 2012 Laboratoire de Recherche
|
// Copyright (C) 2008, 2009, 2010, 2011, 2012, 2014 Laboratoire de
|
||||||
// et Développement de l'Epita (LRDE).
|
// Recherche et Développement de l'Epita (LRDE).
|
||||||
// Copyright (C) 2004 Laboratoire d'Informatique de Paris 6
|
// Copyright (C) 2004 Laboratoire d'Informatique de Paris 6
|
||||||
// (LIP6), département Systèmes Répartis Coopératifs (SRC), Université
|
// (LIP6), département Systèmes Répartis Coopératifs (SRC), Université
|
||||||
// Pierre et Marie Curie.
|
// Pierre et Marie Curie.
|
||||||
|
|
@ -74,7 +74,7 @@ main(int argc, char** argv)
|
||||||
std::cout << "Test f1 < f2" << std::endl;
|
std::cout << "Test f1 < f2" << std::endl;
|
||||||
if (c->syntactic_implication(f1, f2))
|
if (c->syntactic_implication(f1, f2))
|
||||||
{
|
{
|
||||||
std::cout << f1s << " < " << f2s << std::endl;
|
std::cout << f1s << " < " << f2s << '\n';
|
||||||
exit_return = 1;
|
exit_return = 1;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
@ -83,7 +83,7 @@ main(int argc, char** argv)
|
||||||
std::cout << "Test !f1 < f2" << std::endl;
|
std::cout << "Test !f1 < f2" << std::endl;
|
||||||
if (c->syntactic_implication_neg(f1, f2, false))
|
if (c->syntactic_implication_neg(f1, f2, false))
|
||||||
{
|
{
|
||||||
std::cout << "!(" << f1s << ") < " << f2s << std::endl;
|
std::cout << "!(" << f1s << ") < " << f2s << '\n';
|
||||||
exit_return = 1;
|
exit_return = 1;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
@ -92,7 +92,7 @@ main(int argc, char** argv)
|
||||||
std::cout << "Test f1 < !f2" << std::endl;
|
std::cout << "Test f1 < !f2" << std::endl;
|
||||||
if (c->syntactic_implication_neg(f1, f2, true))
|
if (c->syntactic_implication_neg(f1, f2, true))
|
||||||
{
|
{
|
||||||
std::cout << f1s << " < !(" << f2s << ")" << std::endl;
|
std::cout << f1s << " < !(" << f2s << ")\n";
|
||||||
exit_return = 1;
|
exit_return = 1;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
@ -100,8 +100,8 @@ main(int argc, char** argv)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
spot::ltl::dump(std::cout, f1) << std::endl;
|
spot::ltl::dump(std::cout, f1) << '\n';
|
||||||
spot::ltl::dump(std::cout, f2) << std::endl;
|
spot::ltl::dump(std::cout, f2) << '\n';
|
||||||
|
|
||||||
f1->destroy();
|
f1->destroy();
|
||||||
f2->destroy();
|
f2->destroy();
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
// -*- coding: utf-8 -*-
|
// -*- coding: utf-8 -*-
|
||||||
// Copyright (C) 2009, 2010, 2011, 2012, 2013 Laboratoire de Recherche et
|
// Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Laboratoire de
|
||||||
// Développement de l'Epita (LRDE).
|
// Recherche et Développement de l'Epita (LRDE).
|
||||||
// Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6
|
// Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6
|
||||||
// (LIP6), département Systèmes Répartis Coopératifs (SRC), Université
|
// (LIP6), département Systèmes Répartis Coopératifs (SRC), Université
|
||||||
// Pierre et Marie Curie.
|
// Pierre et Marie Curie.
|
||||||
|
|
@ -160,7 +160,7 @@ namespace spot
|
||||||
os_ << " [taillabel=\"L\"]";
|
os_ << " [taillabel=\"L\"]";
|
||||||
else if (childnum == -2)
|
else if (childnum == -2)
|
||||||
os_ << " [taillabel=\"R\"]";
|
os_ << " [taillabel=\"R\"]";
|
||||||
os_ << ";" << std::endl;
|
os_ << ';' << std::endl;
|
||||||
}
|
}
|
||||||
father_ = node;
|
father_ = node;
|
||||||
|
|
||||||
|
|
@ -190,7 +190,7 @@ namespace spot
|
||||||
os << "digraph G {" << std::endl;
|
os << "digraph G {" << std::endl;
|
||||||
f->accept(v);
|
f->accept(v);
|
||||||
v.finish();
|
v.finish();
|
||||||
os << "}" << std::endl;
|
os << '}' << std::endl;
|
||||||
return os;
|
return os;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
// -*- coding: utf-8 -*-
|
// -*- coding: utf-8 -*-
|
||||||
// Copyright (C) 2012, 2013 Laboratoire de Recherche et Développement
|
// Copyright (C) 2012, 2013, 2014 Laboratoire de Recherche et
|
||||||
// de l'Epita (LRDE).
|
// Développement de l'Epita (LRDE).
|
||||||
//
|
//
|
||||||
// This file is part of Spot, a model checking library.
|
// This file is part of Spot, a model checking library.
|
||||||
//
|
//
|
||||||
|
|
@ -88,10 +88,10 @@ namespace spot
|
||||||
switch (c->val())
|
switch (c->val())
|
||||||
{
|
{
|
||||||
case constant::False:
|
case constant::False:
|
||||||
os_ << "f";
|
os_ << 'f';
|
||||||
break;
|
break;
|
||||||
case constant::True:
|
case constant::True:
|
||||||
os_ << "t";
|
os_ << 't';
|
||||||
break;
|
break;
|
||||||
case constant::EmptyWord:
|
case constant::EmptyWord:
|
||||||
assert(!"unsupported constant");
|
assert(!"unsupported constant");
|
||||||
|
|
@ -106,25 +106,25 @@ namespace spot
|
||||||
switch (bo->op())
|
switch (bo->op())
|
||||||
{
|
{
|
||||||
case binop::Xor:
|
case binop::Xor:
|
||||||
os_ << "^";
|
os_ << '^';
|
||||||
break;
|
break;
|
||||||
case binop::Implies:
|
case binop::Implies:
|
||||||
os_ << "i";
|
os_ << 'i';
|
||||||
break;
|
break;
|
||||||
case binop::Equiv:
|
case binop::Equiv:
|
||||||
os_ << "e";
|
os_ << 'e';
|
||||||
break;
|
break;
|
||||||
case binop::U:
|
case binop::U:
|
||||||
os_ << "U";
|
os_ << 'U';
|
||||||
break;
|
break;
|
||||||
case binop::R:
|
case binop::R:
|
||||||
os_ << "V";
|
os_ << 'V';
|
||||||
break;
|
break;
|
||||||
case binop::W:
|
case binop::W:
|
||||||
os_ << "W";
|
os_ << 'W';
|
||||||
break;
|
break;
|
||||||
case binop::M:
|
case binop::M:
|
||||||
os_ << "M";
|
os_ << 'M';
|
||||||
break;
|
break;
|
||||||
case binop::UConcat:
|
case binop::UConcat:
|
||||||
case binop::EConcat:
|
case binop::EConcat:
|
||||||
|
|
@ -149,16 +149,16 @@ namespace spot
|
||||||
switch (uo->op())
|
switch (uo->op())
|
||||||
{
|
{
|
||||||
case unop::Not:
|
case unop::Not:
|
||||||
os_ << "!";
|
os_ << '!';
|
||||||
break;
|
break;
|
||||||
case unop::X:
|
case unop::X:
|
||||||
os_ << "X";
|
os_ << 'X';
|
||||||
break;
|
break;
|
||||||
case unop::F:
|
case unop::F:
|
||||||
os_ << "F";
|
os_ << 'F';
|
||||||
break;
|
break;
|
||||||
case unop::G:
|
case unop::G:
|
||||||
os_ << "G";
|
os_ << 'G';
|
||||||
break;
|
break;
|
||||||
case unop::Finish:
|
case unop::Finish:
|
||||||
case unop::Closure:
|
case unop::Closure:
|
||||||
|
|
|
||||||
|
|
@ -291,7 +291,7 @@ namespace spot
|
||||||
random_formula::dump_priorities(std::ostream& os) const
|
random_formula::dump_priorities(std::ostream& os) const
|
||||||
{
|
{
|
||||||
for (unsigned i = 0; i < proba_size_; ++i)
|
for (unsigned i = 0; i < proba_size_; ++i)
|
||||||
os << proba_[i].name << "\t" << proba_[i].proba << std::endl;
|
os << proba_[i].name << '\t' << proba_[i].proba << '\n';
|
||||||
return os;
|
return os;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
// -*- coding: utf-8 -*-
|
// -*- coding: utf-8 -*-
|
||||||
// Copyright (C) 2012, 2013 Laboratoire de Recherche et Développement
|
// Copyright (C) 2012, 2013, 2014 Laboratoire de Recherche et
|
||||||
// de l'Epita (LRDE).
|
// Développement de l'Epita (LRDE).
|
||||||
//
|
//
|
||||||
// This file is part of Spot, a model checking library.
|
// This file is part of Spot, a model checking library.
|
||||||
//
|
//
|
||||||
|
|
@ -57,7 +57,7 @@ namespace spot
|
||||||
const formula* next()
|
const formula* next()
|
||||||
{
|
{
|
||||||
std::ostringstream s;
|
std::ostringstream s;
|
||||||
s << "p" << nn++;
|
s << 'p' << nn++;
|
||||||
return default_environment::instance().require(s.str());
|
return default_environment::instance().require(s.str());
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
@ -401,7 +401,7 @@ namespace spot
|
||||||
|
|
||||||
while (!s.empty())
|
while (!s.empty())
|
||||||
{
|
{
|
||||||
// std::cerr << "-- visiting " << to_string(s.top().parent) << "\n";
|
// std::cerr << "-- visiting " << to_string(s.top().parent) << '\n';
|
||||||
stack_entry& e = s.top();
|
stack_entry& e = s.top();
|
||||||
if (e.current_child != e.last_child)
|
if (e.current_child != e.last_child)
|
||||||
{
|
{
|
||||||
|
|
@ -414,8 +414,8 @@ namespace spot
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
// std::cerr << " grand parent is "
|
// std::cerr << " grand parent is "
|
||||||
// << to_string(e.grand_parent) << "\n"
|
// << to_string(e.grand_parent)
|
||||||
// << " child is " << to_string(child) << "\n";
|
// << "\n child is " << to_string(child) << '\n';
|
||||||
data_entry d = { num, num };
|
data_entry d = { num, num };
|
||||||
std::pair<fmap_t::iterator, bool> i =
|
std::pair<fmap_t::iterator, bool> i =
|
||||||
data.insert(fmap_t::value_type(child, d));
|
data.insert(fmap_t::value_type(child, d));
|
||||||
|
|
|
||||||
|
|
@ -4323,7 +4323,7 @@ namespace spot
|
||||||
static int srec = 0;
|
static int srec = 0;
|
||||||
for (int i = srec; i; --i)
|
for (int i = srec; i; --i)
|
||||||
trace << ' ';
|
trace << ' ';
|
||||||
trace << "** simplify_recursively(" << to_string(f) << ")";
|
trace << "** simplify_recursively(" << to_string(f) << ')';
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const formula* result = c->lookup_simplified(f);
|
const formula* result = c->lookup_simplified(f);
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
// -*- coding: utf-8 -*-
|
// -*- coding: utf-8 -*-
|
||||||
// Copyright (C) 2008, 2010, 2012, 2013 Laboratoire de Recherche et
|
// Copyright (C) 2008, 2010, 2012, 2013, 2014 Laboratoire de Recherche
|
||||||
// Développement de l'Epita (LRDE)
|
// et Développement de l'Epita (LRDE)
|
||||||
// Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
|
// Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||||
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||||
// et Marie Curie.
|
// et Marie Curie.
|
||||||
|
|
@ -333,7 +333,7 @@ namespace spot
|
||||||
if (in_ratexp_)
|
if (in_ratexp_)
|
||||||
emit(KOpenSERE);
|
emit(KOpenSERE);
|
||||||
else
|
else
|
||||||
os_ << "(";
|
os_ << '(';
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
@ -342,7 +342,7 @@ namespace spot
|
||||||
if (in_ratexp_)
|
if (in_ratexp_)
|
||||||
emit(KCloseSERE);
|
emit(KCloseSERE);
|
||||||
else
|
else
|
||||||
os_ << ")";
|
os_ << ')';
|
||||||
}
|
}
|
||||||
|
|
||||||
std::ostream&
|
std::ostream&
|
||||||
|
|
@ -356,7 +356,7 @@ namespace spot
|
||||||
{
|
{
|
||||||
std::string str = ap->name();
|
std::string str = ap->name();
|
||||||
if (full_parent_)
|
if (full_parent_)
|
||||||
os_ << "(";
|
os_ << '(';
|
||||||
if (!is_bare_word(str.c_str()))
|
if (!is_bare_word(str.c_str()))
|
||||||
{
|
{
|
||||||
// Spin 6 supports atomic propositions such as (a == 0)
|
// Spin 6 supports atomic propositions such as (a == 0)
|
||||||
|
|
@ -382,11 +382,11 @@ namespace spot
|
||||||
os_ << "\\mathit{";
|
os_ << "\\mathit{";
|
||||||
os_ << str.substr(0, s);
|
os_ << str.substr(0, s);
|
||||||
if (s > 1)
|
if (s > 1)
|
||||||
os_ << "}";
|
os_ << '}';
|
||||||
if (s != str.size())
|
if (s != str.size())
|
||||||
os_ << "_{"
|
os_ << "_{"
|
||||||
<< str.substr(s)
|
<< str.substr(s)
|
||||||
<< "}";
|
<< '}';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
@ -396,7 +396,7 @@ namespace spot
|
||||||
if (kw_ == wring_kw)
|
if (kw_ == wring_kw)
|
||||||
os_ << "=1";
|
os_ << "=1";
|
||||||
if (full_parent_)
|
if (full_parent_)
|
||||||
os_ << ")";
|
os_ << ')';
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
@ -492,7 +492,7 @@ namespace spot
|
||||||
emit(KCloseSERE);
|
emit(KCloseSERE);
|
||||||
if (bo->second() == constant::true_instance())
|
if (bo->second() == constant::true_instance())
|
||||||
{
|
{
|
||||||
os_ << "!";
|
os_ << '!';
|
||||||
in_ratexp_ = false;
|
in_ratexp_ = false;
|
||||||
goto second_done;
|
goto second_done;
|
||||||
}
|
}
|
||||||
|
|
@ -501,7 +501,7 @@ namespace spot
|
||||||
top_level_ = false;
|
top_level_ = false;
|
||||||
break;
|
break;
|
||||||
case binop::EConcatMarked:
|
case binop::EConcatMarked:
|
||||||
os_ << "}";
|
os_ << '}';
|
||||||
emit(onelast ? KSeqMarkedNext : KSeqMarked);
|
emit(onelast ? KSeqMarkedNext : KSeqMarked);
|
||||||
in_ratexp_ = false;
|
in_ratexp_ = false;
|
||||||
top_level_ = false;
|
top_level_ = false;
|
||||||
|
|
@ -676,13 +676,13 @@ namespace spot
|
||||||
need_parent = true;
|
need_parent = true;
|
||||||
break;
|
break;
|
||||||
case unop::Closure:
|
case unop::Closure:
|
||||||
os_ << "{";
|
os_ << '{';
|
||||||
in_ratexp_ = true;
|
in_ratexp_ = true;
|
||||||
top_level_ = true;
|
top_level_ = true;
|
||||||
break;
|
break;
|
||||||
case unop::NegClosure:
|
case unop::NegClosure:
|
||||||
emit(KNot);
|
emit(KNot);
|
||||||
os_ << "{";
|
os_ << '{';
|
||||||
in_ratexp_ = true;
|
in_ratexp_ = true;
|
||||||
top_level_ = true;
|
top_level_ = true;
|
||||||
break;
|
break;
|
||||||
|
|
@ -704,7 +704,7 @@ namespace spot
|
||||||
{
|
{
|
||||||
case unop::Closure:
|
case unop::Closure:
|
||||||
case unop::NegClosure:
|
case unop::NegClosure:
|
||||||
os_ << "}";
|
os_ << '}';
|
||||||
in_ratexp_ = false;
|
in_ratexp_ = false;
|
||||||
top_level_ = false;
|
top_level_ = false;
|
||||||
break;
|
break;
|
||||||
|
|
@ -731,18 +731,18 @@ namespace spot
|
||||||
bool top_level = top_level_;
|
bool top_level = top_level_;
|
||||||
top_level_ = false;
|
top_level_ = false;
|
||||||
if (!top_level)
|
if (!top_level)
|
||||||
os_ << "(";
|
os_ << '(';
|
||||||
os_ << ao->get_nfa()->get_name() << "(";
|
os_ << ao->get_nfa()->get_name() << '(';
|
||||||
unsigned max = ao->size();
|
unsigned max = ao->size();
|
||||||
ao->nth(0)->accept(*this);
|
ao->nth(0)->accept(*this);
|
||||||
for (unsigned n = 1; n < max; ++n)
|
for (unsigned n = 1; n < max; ++n)
|
||||||
{
|
{
|
||||||
os_ << ",";
|
os_ << ',';
|
||||||
ao->nth(n)->accept(*this);
|
ao->nth(n)->accept(*this);
|
||||||
}
|
}
|
||||||
os_ << ")";
|
os_ << ')';
|
||||||
if (!top_level)
|
if (!top_level)
|
||||||
os_ << ")";
|
os_ << ')';
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
@ -767,7 +767,7 @@ namespace spot
|
||||||
if (i + 2 < max && mo->nth(i) == mo->nth(i + 2))
|
if (i + 2 < max && mo->nth(i) == mo->nth(i + 2))
|
||||||
{
|
{
|
||||||
emit(KEqualBunop);
|
emit(KEqualBunop);
|
||||||
os_ << "1";
|
os_ << '1';
|
||||||
emit(KCloseBunop);
|
emit(KCloseBunop);
|
||||||
i += 2;
|
i += 2;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -185,7 +185,7 @@ namespace spot
|
||||||
os.width(w);
|
os.width(w);
|
||||||
os << i;
|
os << i;
|
||||||
os.width(1);
|
os.width(1);
|
||||||
os << ": " << a.at(i) << "\n";
|
os << ": " << a.at(i) << '\n';
|
||||||
}
|
}
|
||||||
return os;
|
return os;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
// -*- coding: utf-8 -*-
|
// -*- coding: utf-8 -*-
|
||||||
// Copyright (C) 2008, 2013 Laboratoire de Recherche et Développement
|
// Copyright (C) 2008, 2013, 2014 Laboratoire de Recherche et
|
||||||
// de l'Epita (LRDE).
|
// Développement de l'Epita (LRDE).
|
||||||
// Copyright (C) 2005 Laboratoire d'Informatique de Paris 6 (LIP6),
|
// Copyright (C) 2005 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||||
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||||
// et Marie Curie.
|
// et Marie Curie.
|
||||||
|
|
@ -156,7 +156,7 @@ namespace spot
|
||||||
{
|
{
|
||||||
for (std::map<std::string, int>::const_iterator it = m.options_.begin();
|
for (std::map<std::string, int>::const_iterator it = m.options_.begin();
|
||||||
it != m.options_.end(); ++it)
|
it != m.options_.end(); ++it)
|
||||||
os << "\"" << it->first << "\" = " << it->second << std::endl;
|
os << '"' << it->first << "\" = " << it->second << '\n';
|
||||||
return os;
|
return os;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
// -*- coding: utf-8 -*-
|
// -*- coding: utf-8 -*-
|
||||||
// Copyright (C) 2009, 2013 Laboratoire de Recherche et Développement
|
// Copyright (C) 2009, 2013, 2014 Laboratoire de Recherche et
|
||||||
// de l'Epita (LRDE).
|
// Développement de l'Epita (LRDE).
|
||||||
// Copyright (C) 2004, 2005 Laboratoire d'Informatique de Paris 6 (LIP6),
|
// Copyright (C) 2004, 2005 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||||
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||||
// et Marie Curie.
|
// et Marie Curie.
|
||||||
|
|
@ -61,15 +61,15 @@ namespace spot
|
||||||
const char* sep = t.is_running() ? "+|" : " |";
|
const char* sep = t.is_running() ? "+|" : " |";
|
||||||
|
|
||||||
os << std::setw(22) << name << sep
|
os << std::setw(22) << name << sep
|
||||||
<< std::setw(6) << t.utime() << " "
|
<< std::setw(6) << t.utime() << ' '
|
||||||
<< std::setw(8) << (total.utime ?
|
<< std::setw(8) << (total.utime ?
|
||||||
100.0 * t.utime() / total.utime : 0.)
|
100.0 * t.utime() / total.utime : 0.)
|
||||||
<< sep
|
<< sep
|
||||||
<< std::setw(6) << t.stime() << " "
|
<< std::setw(6) << t.stime() << ' '
|
||||||
<< std::setw(8) << (total.stime ?
|
<< std::setw(8) << (total.stime ?
|
||||||
100.0 * t.stime() / total.stime : 0.)
|
100.0 * t.stime() / total.stime : 0.)
|
||||||
<< sep
|
<< sep
|
||||||
<< std::setw(6) << t.utime() + t.stime() << " "
|
<< std::setw(6) << t.utime() + t.stime() << ' '
|
||||||
<< std::setw(8) << (grand_total ?
|
<< std::setw(8) << (grand_total ?
|
||||||
(100.0 * (t.utime() + t.stime()) /
|
(100.0 * (t.utime() + t.stime()) /
|
||||||
grand_total) : 0.)
|
grand_total) : 0.)
|
||||||
|
|
@ -80,13 +80,13 @@ namespace spot
|
||||||
os << std::setw(79) << std::setfill('-') << "" << std::setfill(' ')
|
os << std::setw(79) << std::setfill('-') << "" << std::setfill(' ')
|
||||||
<< std::endl
|
<< std::endl
|
||||||
<< std::setw(22) << "TOTAL" << " |"
|
<< std::setw(22) << "TOTAL" << " |"
|
||||||
<< std::setw(6) << total.utime << " "
|
<< std::setw(6) << total.utime << ' '
|
||||||
<< std::setw(8) << 100.
|
<< std::setw(8) << 100.
|
||||||
<< " |"
|
<< " |"
|
||||||
<< std::setw(6) << total.stime << " "
|
<< std::setw(6) << total.stime << ' '
|
||||||
<< std::setw(8) << 100.
|
<< std::setw(8) << 100.
|
||||||
<< " |"
|
<< " |"
|
||||||
<< std::setw(6) << grand_total << " "
|
<< std::setw(6) << grand_total << ' '
|
||||||
<< std::setw(8) << 100.
|
<< std::setw(8) << 100.
|
||||||
<< " |"
|
<< " |"
|
||||||
<< std::endl;
|
<< std::endl;
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
// Copyright (C) 2010 Laboratoire de Recherche et Développement de
|
// -*- coding: utf-8 -*-
|
||||||
// l'Epita (LRDE).
|
// Copyright (C) 2010, 2014 Laboratoire de Recherche et Développement
|
||||||
|
// de l'Epita (LRDE).
|
||||||
//
|
//
|
||||||
// This file is part of Spot, a model checking library.
|
// This file is part of Spot, a model checking library.
|
||||||
//
|
//
|
||||||
|
|
@ -31,7 +32,7 @@ namespace spot
|
||||||
for (it = error_list.begin(); it != error_list.end(); ++it)
|
for (it = error_list.begin(); it != error_list.end(); ++it)
|
||||||
{
|
{
|
||||||
if (filename != "-")
|
if (filename != "-")
|
||||||
os << filename << ":";
|
os << filename << ':';
|
||||||
os << it->first << ": ";
|
os << it->first << ": ";
|
||||||
os << it->second << std::endl;
|
os << it->second << std::endl;
|
||||||
printed = true;
|
printed = true;
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,8 @@
|
||||||
|
// -*- coding: utf-8 -*-
|
||||||
|
// Copyright (C) 2014 Laboratoire de Recherche et Développement de
|
||||||
|
// l'Epita.
|
||||||
// Copyright (C) 2004, 2006 Laboratoire d'Informatique de Paris 6 (LIP6),
|
// Copyright (C) 2004, 2006 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||||
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||||
// et Marie Curie.
|
// et Marie Curie.
|
||||||
//
|
//
|
||||||
// This file is part of Spot, a model checking library.
|
// This file is part of Spot, a model checking library.
|
||||||
|
|
@ -201,7 +204,7 @@ namespace spot
|
||||||
{
|
{
|
||||||
free_list_type::const_iterator i;
|
free_list_type::const_iterator i;
|
||||||
for (i = fl.begin(); i != fl.end(); ++i)
|
for (i = fl.begin(); i != fl.end(); ++i)
|
||||||
os << " (" << i->first << ", " << i->second << ")";
|
os << " (" << i->first << ", " << i->second << ')';
|
||||||
return os;
|
return os;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -425,10 +425,10 @@ namespace spot
|
||||||
dynamic_cast<const saba_state_complement_tgba*>(state);
|
dynamic_cast<const saba_state_complement_tgba*>(state);
|
||||||
assert(s);
|
assert(s);
|
||||||
std::ostringstream ss;
|
std::ostringstream ss;
|
||||||
ss << "{"
|
ss << "{ original: " << automaton_->format_state(s->get_state())
|
||||||
<< "original: " << automaton_->format_state(s->get_state()) << std::endl
|
<< "\n rank: " << s->get_rank()
|
||||||
<< "rank: " << s->get_rank() << "}" << std::endl
|
<< "\n acc: " << bdd_format_accset(get_dict(),
|
||||||
<< "acc: " << bdd_format_accset(get_dict(), s->acceptance_conditions())
|
s->acceptance_conditions())
|
||||||
<< " }";
|
<< " }";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
// Copyright (C) 2009 Laboratoire de Recherche et Développement
|
// -*- coding: utf-8 -*-
|
||||||
|
// Copyright (C) 2009, 2014 Laboratoire de Recherche et Développement
|
||||||
// de l'Epita (LRDE).
|
// de l'Epita (LRDE).
|
||||||
//
|
//
|
||||||
// This file is part of Spot, a model checking library.
|
// This file is part of Spot, a model checking library.
|
||||||
|
|
@ -46,7 +47,7 @@ namespace spot
|
||||||
void
|
void
|
||||||
end()
|
end()
|
||||||
{
|
{
|
||||||
os_ << "}" << std::endl;
|
os_ << '}' << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
@ -57,9 +58,8 @@ namespace spot
|
||||||
+ "\\n"
|
+ "\\n"
|
||||||
+ bdd_format_accset(automata_->get_dict(),
|
+ bdd_format_accset(automata_->get_dict(),
|
||||||
s->acceptance_conditions());
|
s->acceptance_conditions());
|
||||||
os_ << " " << n << " "
|
os_ << " " << n << ' '
|
||||||
<< "[label=\"" << label << "\"];"
|
<< "[label=\"" << label << "\"];\n";
|
||||||
<< std::endl;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
@ -76,8 +76,7 @@ namespace spot
|
||||||
si->current_condition());
|
si->current_condition());
|
||||||
|
|
||||||
os_ << " " << in << " -> s" << in << "sc" << sc_id
|
os_ << " " << in << " -> s" << in << "sc" << sc_id
|
||||||
<< " [label=\"" << label << "\", arrowhead=\"none\"];"
|
<< " [label=\"" << label << "\", arrowhead=\"none\"];\n";
|
||||||
<< std::endl;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
@ -88,8 +87,7 @@ namespace spot
|
||||||
const saba_succ_iterator*)
|
const saba_succ_iterator*)
|
||||||
{
|
{
|
||||||
os_ << " s" << in << "sc" << sc_id << " -> " << out
|
os_ << " s" << in << "sc" << sc_id << " -> " << out
|
||||||
<< " [label=\"\"];"
|
<< " [label=\"\"];\n";
|
||||||
<< std::endl;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
|
||||||
|
|
@ -84,6 +84,13 @@ for dir in "${INCDIR-..}" "${INCDIR-..}"/../iface; do
|
||||||
grep Copyright $file >/dev/null ||
|
grep Copyright $file >/dev/null ||
|
||||||
diag "missing copyright"
|
diag "missing copyright"
|
||||||
|
|
||||||
|
# If some grep implementation ignore LC_ALL=C, this rule might be
|
||||||
|
# a problem on utf-8 characters such as "δ" which really
|
||||||
|
# corresponds to multiple bytes, but might be matched as a single
|
||||||
|
# character by grep.
|
||||||
|
grep '<< *"\([^\\]\|\\.\)"' $file &&
|
||||||
|
diag "Use << 'c' instead" 'of << "c".'
|
||||||
|
|
||||||
# A doxygen comments such as
|
# A doxygen comments such as
|
||||||
#
|
#
|
||||||
# | \brief foo
|
# | \brief foo
|
||||||
|
|
@ -210,7 +217,7 @@ for dir in "${INCDIR-..}" "${INCDIR-..}"/../iface; do
|
||||||
grep '[ ];' $tmp &&
|
grep '[ ];' $tmp &&
|
||||||
diag 'No space before semicolon.'
|
diag 'No space before semicolon.'
|
||||||
|
|
||||||
grep -v 'for (.*;;)' $tmp | grep ';[^ ")]' &&
|
grep -v 'for (.*;;)' $tmp | grep ';[^ ")'"']" &&
|
||||||
diag 'Must have space or newline after semicolon.'
|
diag 'Must have space or newline after semicolon.'
|
||||||
|
|
||||||
grep '}.*}' $tmp &&
|
grep '}.*}' $tmp &&
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
// -*- coding: utf-8 -*-
|
// -*- coding: utf-8 -*-
|
||||||
// Copyright (C) 2010, 2012 Laboratoire de Recherche et Developpement
|
// Copyright (C) 2010, 2012, 2014 Laboratoire de Recherche et
|
||||||
// de l Epita (LRDE).
|
// Developpement de l Epita (LRDE).
|
||||||
//
|
//
|
||||||
// This file is part of Spot, a model checking library.
|
// This file is part of Spot, a model checking library.
|
||||||
//
|
//
|
||||||
|
|
@ -72,7 +72,7 @@ namespace spot
|
||||||
void
|
void
|
||||||
end()
|
end()
|
||||||
{
|
{
|
||||||
os_ << "}" << std::endl;
|
os_ << '}' << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
// -*- coding: utf-8 -*-
|
// -*- coding: utf-8 -*-
|
||||||
// Copyright (C) 2010, 2011, 2012, 2013 Laboratoire de Recherche et
|
// Copyright (C) 2010, 2011, 2012, 2013, 2014 Laboratoire de Recherche
|
||||||
// Développement de l'Epita (LRDE).
|
// et Développement de l'Epita (LRDE).
|
||||||
//
|
//
|
||||||
// This file is part of Spot, a model checking library.
|
// This file is part of Spot, a model checking library.
|
||||||
//
|
//
|
||||||
|
|
@ -51,14 +51,14 @@ namespace spot
|
||||||
static std::ostream&
|
static std::ostream&
|
||||||
dump_hash_set(const hash_set* hs, const ta* aut, std::ostream& out)
|
dump_hash_set(const hash_set* hs, const ta* aut, std::ostream& out)
|
||||||
{
|
{
|
||||||
out << "{";
|
out << '{';
|
||||||
const char* sep = "";
|
const char* sep = "";
|
||||||
for (hash_set::const_iterator i = hs->begin(); i != hs->end(); ++i)
|
for (hash_set::const_iterator i = hs->begin(); i != hs->end(); ++i)
|
||||||
{
|
{
|
||||||
out << sep << aut->format_state(*i);
|
out << sep << aut->format_state(*i);
|
||||||
sep = ", ";
|
sep = ", ";
|
||||||
}
|
}
|
||||||
out << "}";
|
out << '}';
|
||||||
return out;
|
return out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -475,7 +475,7 @@ namespace spot
|
||||||
#ifdef TRACE
|
#ifdef TRACE
|
||||||
trace << "Final partition: ";
|
trace << "Final partition: ";
|
||||||
for (partition_t::const_iterator i = done.begin(); i != done.end(); ++i)
|
for (partition_t::const_iterator i = done.begin(); i != done.end(); ++i)
|
||||||
trace << format_hash_set(*i, ta_) << " ";
|
trace << format_hash_set(*i, ta_) << ' ';
|
||||||
trace << std::endl;
|
trace << std::endl;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
// -*- coding: utf-8 -*-
|
// -*- coding: utf-8 -*-
|
||||||
// Copyright (C) 2009, 2012, 2013 Laboratoire de Recherche et
|
// Copyright (C) 2009, 2012, 2013, 2014 Laboratoire de Recherche et
|
||||||
// Développement de l'Epita (LRDE).
|
// Développement de l'Epita (LRDE).
|
||||||
// Copyright (C) 2003, 2004, 2005, 2006 Laboratoire d'Informatique de
|
// Copyright (C) 2003, 2004, 2005, 2006 Laboratoire d'Informatique de
|
||||||
// Paris 6 (LIP6), département Systèmes Répartis Coopératifs (SRC),
|
// Paris 6 (LIP6), département Systèmes Répartis Coopératifs (SRC),
|
||||||
|
|
@ -218,7 +218,7 @@ namespace spot
|
||||||
|
|
||||||
std::ostringstream s;
|
std::ostringstream s;
|
||||||
// FIXME: We could be smarter and reuse unused "$n" numbers.
|
// FIXME: We could be smarter and reuse unused "$n" numbers.
|
||||||
s << ltl::to_string(i.f) << "$" << ++i.clone_counts;
|
s << ltl::to_string(i.f) << '$' << ++i.clone_counts;
|
||||||
const ltl::formula* f =
|
const ltl::formula* f =
|
||||||
ltl::atomic_prop::instance(s.str(),
|
ltl::atomic_prop::instance(s.str(),
|
||||||
ltl::default_environment::instance());
|
ltl::default_environment::instance());
|
||||||
|
|
@ -416,7 +416,7 @@ namespace spot
|
||||||
unsigned s = bdd_map.size();
|
unsigned s = bdd_map.size();
|
||||||
for (unsigned i = 0; i < s; ++i)
|
for (unsigned i = 0; i < s; ++i)
|
||||||
{
|
{
|
||||||
os << " " << i << " ";
|
os << ' ' << i << ' ';
|
||||||
const bdd_info& r = bdd_map[i];
|
const bdd_info& r = bdd_map[i];
|
||||||
switch (r.type)
|
switch (r.type)
|
||||||
{
|
{
|
||||||
|
|
@ -424,16 +424,16 @@ namespace spot
|
||||||
os << (r.refs.empty() ? "Free" : "Anon");
|
os << (r.refs.empty() ? "Free" : "Anon");
|
||||||
break;
|
break;
|
||||||
case now:
|
case now:
|
||||||
os << "Now[" << to_string(r.f) << "]";
|
os << "Now[" << to_string(r.f) << ']';
|
||||||
break;
|
break;
|
||||||
case next:
|
case next:
|
||||||
os << "Next[" << to_string(r.f) << "]";
|
os << "Next[" << to_string(r.f) << ']';
|
||||||
break;
|
break;
|
||||||
case acc:
|
case acc:
|
||||||
os << "Acc[" << to_string(r.f) << "]";
|
os << "Acc[" << to_string(r.f) << ']';
|
||||||
break;
|
break;
|
||||||
case var:
|
case var:
|
||||||
os << "Var[" << to_string(r.f) << "]";
|
os << "Var[" << to_string(r.f) << ']';
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (!r.refs.empty())
|
if (!r.refs.empty())
|
||||||
|
|
@ -441,10 +441,10 @@ namespace spot
|
||||||
os << " x" << r.refs.size() << " {";
|
os << " x" << r.refs.size() << " {";
|
||||||
for (ref_set::const_iterator si = r.refs.begin();
|
for (ref_set::const_iterator si = r.refs.begin();
|
||||||
si != r.refs.end(); ++si)
|
si != r.refs.end(); ++si)
|
||||||
os << " " << *si;
|
os << ' ' << *si;
|
||||||
os << " }";
|
os << " }";
|
||||||
}
|
}
|
||||||
os << "\n";
|
os << '\n';
|
||||||
}
|
}
|
||||||
os << "Anonymous lists:\n";
|
os << "Anonymous lists:\n";
|
||||||
bdd_dict_priv::free_anonymous_list_of_type::const_iterator ai;
|
bdd_dict_priv::free_anonymous_list_of_type::const_iterator ai;
|
||||||
|
|
@ -456,7 +456,7 @@ namespace spot
|
||||||
}
|
}
|
||||||
os << "Free list:\n";
|
os << "Free list:\n";
|
||||||
priv_->dump_free_list(os);
|
priv_->dump_free_list(os);
|
||||||
os << std::endl;
|
os << '\n';
|
||||||
return os;
|
return os;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,9 @@
|
||||||
// Copyright (C) 2009, 2012 Laboratoire de Recherche et Développement
|
// -*- coding: utf-8 -*-
|
||||||
// de l'Epita (LRDE).
|
// Copyright (C) 2009, 2012, 2014 Laboratoire de Recherche et
|
||||||
// Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
|
// Développement de l'Epita (LRDE).
|
||||||
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
// Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6
|
||||||
// et Marie Curie.
|
// (LIP6), département Systèmes Répartis Coopératifs (SRC), Université
|
||||||
|
// Pierre et Marie Curie.
|
||||||
//
|
//
|
||||||
// This file is part of Spot, a model checking library.
|
// This file is part of Spot, a model checking library.
|
||||||
//
|
//
|
||||||
|
|
@ -63,24 +64,24 @@ namespace spot
|
||||||
if (want_acc)
|
if (want_acc)
|
||||||
{
|
{
|
||||||
o << "Acc[";
|
o << "Acc[";
|
||||||
print_ltl(ref.f, o) << "]";
|
print_ltl(ref.f, o) << ']';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
o << "\"";
|
o << '"';
|
||||||
print_ltl(ref.f, o) << "\"";
|
print_ltl(ref.f, o) << '"';
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case bdd_dict::now:
|
case bdd_dict::now:
|
||||||
o << "Now[";
|
o << "Now[";
|
||||||
print_ltl(ref.f, o) << "]";
|
print_ltl(ref.f, o) << ']';
|
||||||
break;
|
break;
|
||||||
case bdd_dict::next:
|
case bdd_dict::next:
|
||||||
o << "Next[";
|
o << "Next[";
|
||||||
print_ltl(ref.f, o) << "]";
|
print_ltl(ref.f, o) << ']';
|
||||||
break;
|
break;
|
||||||
case bdd_dict::anon:
|
case bdd_dict::anon:
|
||||||
o << "?" << v;
|
o << '?' << v;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -95,13 +96,11 @@ namespace spot
|
||||||
if (varset[v] < 0)
|
if (varset[v] < 0)
|
||||||
continue;
|
continue;
|
||||||
if (not_first)
|
if (not_first)
|
||||||
*where << " ";
|
*where << ' ';
|
||||||
else
|
else
|
||||||
not_first = true;
|
not_first = true;
|
||||||
if (varset[v] == 0)
|
if (varset[v] == 0)
|
||||||
// The space is important for LBTT, but we have to hide it
|
*where << "! ";
|
||||||
// from our style checking droid.
|
|
||||||
*where << "!"" ";
|
|
||||||
print_handler(*where, v);
|
print_handler(*where, v);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -123,7 +122,7 @@ namespace spot
|
||||||
for (int v = 0; v < size; ++v)
|
for (int v = 0; v < size; ++v)
|
||||||
if (varset[v] > 0)
|
if (varset[v] > 0)
|
||||||
{
|
{
|
||||||
*where << " ";
|
*where << ' ';
|
||||||
print_handler(*where, v);
|
print_handler(*where, v);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -160,7 +159,7 @@ namespace spot
|
||||||
first_done = false;
|
first_done = false;
|
||||||
bdd_allsat(b, print_accset_handler);
|
bdd_allsat(b, print_accset_handler);
|
||||||
if (first_done)
|
if (first_done)
|
||||||
*where << "}";
|
*where << '}';
|
||||||
return os;
|
return os;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,6 @@
|
||||||
// Copyright (C) 2009 Laboratoire de recherche et développement de l'Epita.
|
// -*- coding: utf-8 -*-
|
||||||
|
// Copyright (C) 2009, 2014 Laboratoire de recherche et développement
|
||||||
|
// de l'Epita.
|
||||||
//
|
//
|
||||||
// This file is part of Spot, a model checking library.
|
// This file is part of Spot, a model checking library.
|
||||||
//
|
//
|
||||||
|
|
@ -81,7 +83,7 @@ namespace spot
|
||||||
str << ", ";
|
str << ", ";
|
||||||
bdd_print_formula(str, get_dict(), *i);
|
bdd_print_formula(str, get_dict(), *i);
|
||||||
}
|
}
|
||||||
str << "]";
|
str << ']';
|
||||||
return str.str();
|
return str.str();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -242,7 +242,7 @@ namespace spot
|
||||||
os << "State: " << label_to_string(i->first) << std::endl;
|
os << "State: " << label_to_string(i->first) << std::endl;
|
||||||
for (i2 = i->second->begin(); i2 != i->second->end(); ++i2)
|
for (i2 = i->second->begin(); i2 != i->second->end(); ++i2)
|
||||||
{
|
{
|
||||||
os << " " << format_state_set((*i2)->dst)
|
os << ' ' << format_state_set((*i2)->dst)
|
||||||
<< ", C:" << (*i2)->condition
|
<< ", C:" << (*i2)->condition
|
||||||
<< ", A:" << (*i2)->acceptance_conditions << std::endl;
|
<< ", A:" << (*i2)->acceptance_conditions << std::endl;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -82,7 +82,7 @@ namespace spot
|
||||||
<< bdd_format_accset(a->get_dict(), condition.get_bdd())
|
<< bdd_format_accset(a->get_dict(), condition.get_bdd())
|
||||||
<< "} ";
|
<< "} ";
|
||||||
}
|
}
|
||||||
ss << "}";
|
ss << '}';
|
||||||
return ss.str();
|
return ss.str();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
@ -652,14 +652,14 @@ namespace spot
|
||||||
++i)
|
++i)
|
||||||
{
|
{
|
||||||
ss << " {" << automaton_->format_state(i->first.get())
|
ss << " {" << automaton_->format_state(i->first.get())
|
||||||
<< ", " << i->second.format(this) << "}" << std::endl;
|
<< ", " << i->second.format(this) << "}\n";
|
||||||
}
|
}
|
||||||
ss << "} odd-less: {";
|
ss << "} odd-less: {";
|
||||||
|
|
||||||
for (shared_state_set::const_iterator i = state_filter.begin();
|
for (shared_state_set::const_iterator i = state_filter.begin();
|
||||||
i != state_filter.end();
|
i != state_filter.end();
|
||||||
++i)
|
++i)
|
||||||
ss << " " << automaton_->format_state(i->get()) << std::endl;
|
ss << " " << automaton_->format_state(i->get()) << '\n';
|
||||||
ss << "} }";
|
ss << "} }";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -755,7 +755,7 @@ namespace spot
|
||||||
}
|
}
|
||||||
|
|
||||||
std::cout << "node" << this_node << "[label=\"";
|
std::cout << "node" << this_node << "[label=\"";
|
||||||
std::cout << this_node->name << "|";
|
std::cout << this_node->name << '|';
|
||||||
for (auto j: this_node->nodes)
|
for (auto j: this_node->nodes)
|
||||||
{
|
{
|
||||||
stnum_t::const_iterator it = node_names.find(j);
|
stnum_t::const_iterator it = node_names.find(j);
|
||||||
|
|
@ -799,16 +799,16 @@ namespace spot
|
||||||
i != a->automaton.rend();
|
i != a->automaton.rend();
|
||||||
++i)
|
++i)
|
||||||
{
|
{
|
||||||
std::cout << "subgraph sg" << i->first << "{" << std::endl;
|
std::cout << "subgraph sg" << i->first << '{' << std::endl;
|
||||||
print_safra_tree(i->first, node_names, current_node,
|
print_safra_tree(i->first, node_names, current_node,
|
||||||
nb_accepting_conditions);
|
nb_accepting_conditions);
|
||||||
std::cout << "}" << std::endl;
|
std::cout << "}\n";
|
||||||
|
|
||||||
// Successors.
|
// Successors.
|
||||||
for (const auto& j: i->second)
|
for (const auto& j: i->second)
|
||||||
std::cout << "node" << i->first << "->"
|
std::cout << "node" << i->first << "->"
|
||||||
<< "node" << j.second <<
|
<< "node" << j.second <<
|
||||||
" [label=\"" << bddset << j.first << "\"];" << std::endl;
|
" [label=\"" << bddset << j.first << "\"];\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
// Output the real name of all states.
|
// Output the real name of all states.
|
||||||
|
|
@ -819,10 +819,7 @@ namespace spot
|
||||||
std::cout << "<TR><TD>" << nn.second << "</TD><TD>"
|
std::cout << "<TR><TD>" << nn.second << "</TD><TD>"
|
||||||
<< a->get_sba()->format_state(nn.first)
|
<< a->get_sba()->format_state(nn.first)
|
||||||
<< "</TD></TR>\n";
|
<< "</TD></TR>\n";
|
||||||
std::cout << "</TABLE>\n"
|
std::cout << "</TABLE>\n>]}\n}\n";
|
||||||
<< ">]}" << std::endl;
|
|
||||||
|
|
||||||
std::cout << "}" << std::endl;
|
|
||||||
}
|
}
|
||||||
} // test
|
} // test
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -183,9 +183,9 @@ namespace spot
|
||||||
return ltl::unop::instance(ltl::unop::G, i->second->clone());
|
return ltl::unop::instance(ltl::unop::G, i->second->clone());
|
||||||
|
|
||||||
std::ostringstream s;
|
std::ostringstream s;
|
||||||
s << "[";
|
s << '[';
|
||||||
to_string(f, s);
|
to_string(f, s);
|
||||||
s << "]";
|
s << ']';
|
||||||
res = suspenv.require(s.str());
|
res = suspenv.require(s.str());
|
||||||
// We have to clone f, because it is not always a sub-tree
|
// We have to clone f, because it is not always a sub-tree
|
||||||
// of the original formula. (Think n-ary operators.)
|
// of the original formula. (Think n-ary operators.)
|
||||||
|
|
|
||||||
|
|
@ -182,11 +182,11 @@ namespace spot
|
||||||
++i;
|
++i;
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
std::cout << aut_->format_state(i->ts->first) << " ";
|
std::cout << aut_->format_state(i->ts->first) << ' ';
|
||||||
++i;
|
++i;
|
||||||
}
|
}
|
||||||
while (i != dfs_.end());
|
while (i != dfs_.end());
|
||||||
std::cout << "\n";
|
std::cout << '\n';
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,8 @@
|
||||||
// Copyright (C) 2011, 2012 Laboratoire de Recherche et Developpement de
|
// -*- coding: utf-8 -*-
|
||||||
// l'Epita (LRDE).
|
// Copyright (C) 2011, 2012, 2014 Laboratoire de Recherche et
|
||||||
|
// Developpement de l'Epita (LRDE).
|
||||||
// Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
|
// Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||||
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||||
// et Marie Curie.
|
// et Marie Curie.
|
||||||
//
|
//
|
||||||
// This file is part of Spot, a model checking library.
|
// This file is part of Spot, a model checking library.
|
||||||
|
|
@ -56,7 +57,7 @@ namespace spot
|
||||||
void
|
void
|
||||||
end()
|
end()
|
||||||
{
|
{
|
||||||
os_ << "}" << std::endl;
|
os_ << '}' << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
@ -83,7 +84,7 @@ namespace spot
|
||||||
accepting = false;
|
accepting = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
os_ << " " << n << " "
|
os_ << " " << n << ' '
|
||||||
<< dd_->state_decl(aut_, s, n, si,
|
<< dd_->state_decl(aut_, s, n, si,
|
||||||
escape_str(aut_->format_state(s)),
|
escape_str(aut_->format_state(s)),
|
||||||
accepting)
|
accepting)
|
||||||
|
|
@ -109,7 +110,7 @@ namespace spot
|
||||||
label += s;
|
label += s;
|
||||||
}
|
}
|
||||||
|
|
||||||
os_ << " " << in << " -> " << out << " "
|
os_ << " " << in << " -> " << out << ' '
|
||||||
<< dd_->link_decl(aut_, in_s, in, out_s, out, si,
|
<< dd_->link_decl(aut_, in_s, in, out_s, out, si,
|
||||||
escape_str(label))
|
escape_str(label))
|
||||||
<< '\n';
|
<< '\n';
|
||||||
|
|
|
||||||
|
|
@ -177,25 +177,25 @@ namespace spot
|
||||||
|
|
||||||
std::ostream& operator<<(std::ostream& os, const state_pair& p)
|
std::ostream& operator<<(std::ostream& os, const state_pair& p)
|
||||||
{
|
{
|
||||||
os << "<" << p.a << "," << p.b << ">";
|
os << '<' << p.a << ',' << p.b << '>';
|
||||||
return os;
|
return os;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::ostream& operator<<(std::ostream& os, const transition& t)
|
std::ostream& operator<<(std::ostream& os, const transition& t)
|
||||||
{
|
{
|
||||||
os << "<" << t.src << ","
|
os << '<' << t.src << ','
|
||||||
<< bdd_format_formula(debug_dict, t.cond)
|
<< bdd_format_formula(debug_dict, t.cond)
|
||||||
<< "," << t.dst << ">";
|
<< ',' << t.dst << '>';
|
||||||
return os;
|
return os;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::ostream& operator<<(std::ostream& os, const path& p)
|
std::ostream& operator<<(std::ostream& os, const path& p)
|
||||||
{
|
{
|
||||||
os << "<"
|
os << '<'
|
||||||
<< p.src_cand << ","
|
<< p.src_cand << ','
|
||||||
<< p.src_ref << ","
|
<< p.src_ref << ','
|
||||||
<< p.dst_cand << ","
|
<< p.dst_cand << ','
|
||||||
<< p.dst_ref << ">";
|
<< p.dst_ref << '>';
|
||||||
return os;
|
return os;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -366,8 +366,8 @@ namespace spot
|
||||||
|
|
||||||
#if DEBUG
|
#if DEBUG
|
||||||
debug_dict = ref->get_dict();
|
debug_dict = ref->get_dict();
|
||||||
dout << "ref_size: " << ref_size << "\n";
|
dout << "ref_size: " << ref_size << '\n';
|
||||||
dout << "cand_size: " << d.cand_size << "\n";
|
dout << "cand_size: " << d.cand_size << '\n';
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
dout << "symmetry-breaking clauses\n";
|
dout << "symmetry-breaking clauses\n";
|
||||||
|
|
@ -382,7 +382,7 @@ namespace spot
|
||||||
{
|
{
|
||||||
transition t(i, s, k);
|
transition t(i, s, k);
|
||||||
int ti = d.transid[t];
|
int ti = d.transid[t];
|
||||||
dout << "¬" << t << "\n";
|
dout << "¬" << t << '\n';
|
||||||
out << -ti << " 0\n";
|
out << -ti << " 0\n";
|
||||||
++nclauses;
|
++nclauses;
|
||||||
}
|
}
|
||||||
|
|
@ -409,7 +409,7 @@ namespace spot
|
||||||
if (q2 != d.cand_size)
|
if (q2 != d.cand_size)
|
||||||
out << " ∨ ";
|
out << " ∨ ";
|
||||||
}
|
}
|
||||||
out << "\n";
|
out << '\n';
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
for (int q2 = 1; q2 <= d.cand_size; q2++)
|
for (int q2 = 1; q2 <= d.cand_size; q2++)
|
||||||
|
|
@ -417,7 +417,7 @@ namespace spot
|
||||||
transition t(q1, s, q2);
|
transition t(q1, s, q2);
|
||||||
int ti = d.transid[t];
|
int ti = d.transid[t];
|
||||||
|
|
||||||
out << ti << " ";
|
out << ti << ' ';
|
||||||
}
|
}
|
||||||
out << "0\n";
|
out << "0\n";
|
||||||
|
|
||||||
|
|
@ -426,7 +426,7 @@ namespace spot
|
||||||
}
|
}
|
||||||
|
|
||||||
dout << "(2) the initial state is reachable\n";
|
dout << "(2) the initial state is reachable\n";
|
||||||
dout << state_pair(1, 1) << "\n";
|
dout << state_pair(1, 1) << '\n';
|
||||||
out << d.prodid[state_pair(1, 1)] << " 0\n";
|
out << d.prodid[state_pair(1, 1)] << " 0\n";
|
||||||
++nclauses;
|
++nclauses;
|
||||||
|
|
||||||
|
|
@ -461,8 +461,8 @@ namespace spot
|
||||||
if (pit->second == succ)
|
if (pit->second == succ)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
dout << pit->first << " ∧ " << t << "δ → " << p2 << "\n";
|
dout << pit->first << " ∧ " << t << "δ → " << p2 << '\n';
|
||||||
out << -pit->second << " " << -ti << " "
|
out << -pit->second << ' ' << -ti << ' '
|
||||||
<< succ << " 0\n";
|
<< succ << " 0\n";
|
||||||
++nclauses;
|
++nclauses;
|
||||||
}
|
}
|
||||||
|
|
@ -492,7 +492,7 @@ namespace spot
|
||||||
path p1(q1, q1p, q2, q2p);
|
path p1(q1, q1p, q2, q2p);
|
||||||
|
|
||||||
dout << "(4&5) matching paths from reference based on "
|
dout << "(4&5) matching paths from reference based on "
|
||||||
<< p1 << "\n";
|
<< p1 << '\n';
|
||||||
|
|
||||||
int pid1;
|
int pid1;
|
||||||
if (q1 == q2 && q1p == q2p)
|
if (q1 == q2 && q1p == q2p)
|
||||||
|
|
@ -530,7 +530,7 @@ namespace spot
|
||||||
|
|
||||||
dout << p1 << "R ∧ " << t << "δ → ¬" << t
|
dout << p1 << "R ∧ " << t << "δ → ¬" << t
|
||||||
<< "F\n";
|
<< "F\n";
|
||||||
out << -pid1 << " " << -ti << " "
|
out << -pid1 << ' ' << -ti << ' '
|
||||||
<< -ta << " 0\n";
|
<< -ta << " 0\n";
|
||||||
++nclauses;
|
++nclauses;
|
||||||
}
|
}
|
||||||
|
|
@ -556,7 +556,7 @@ namespace spot
|
||||||
|
|
||||||
dout << p1 << "R ∧ " << t << "δ → " << p2
|
dout << p1 << "R ∧ " << t << "δ → " << p2
|
||||||
<< "R\n";
|
<< "R\n";
|
||||||
out << -pid1 << " " << -ti << " "
|
out << -pid1 << ' ' << -ti << ' '
|
||||||
<< pid2 << " 0\n";
|
<< pid2 << " 0\n";
|
||||||
++nclauses;
|
++nclauses;
|
||||||
}
|
}
|
||||||
|
|
@ -585,7 +585,7 @@ namespace spot
|
||||||
{
|
{
|
||||||
path p1(q1, q1p, q2, q2p);
|
path p1(q1, q1p, q2, q2p);
|
||||||
dout << "(6&7) matching paths from candidate based on "
|
dout << "(6&7) matching paths from candidate based on "
|
||||||
<< p1 << "\n";
|
<< p1 << '\n';
|
||||||
|
|
||||||
int pid1;
|
int pid1;
|
||||||
if (q1 == q2 && q1p == q2p)
|
if (q1 == q2 && q1p == q2p)
|
||||||
|
|
@ -625,7 +625,7 @@ namespace spot
|
||||||
|
|
||||||
dout << p1 << "C ∧ " << t << "δ → " << t
|
dout << p1 << "C ∧ " << t << "δ → " << t
|
||||||
<< "F\n";
|
<< "F\n";
|
||||||
out << -pid1 << " " << -ti << " " << ta
|
out << -pid1 << ' ' << -ti << ' ' << ta
|
||||||
<< " 0\n";
|
<< " 0\n";
|
||||||
++nclauses;
|
++nclauses;
|
||||||
}
|
}
|
||||||
|
|
@ -651,8 +651,8 @@ namespace spot
|
||||||
dout << p1 << "C ∧ " << t << "δ ∧ ¬"
|
dout << p1 << "C ∧ " << t << "δ ∧ ¬"
|
||||||
<< t << "F → " << p2 << "C\n";
|
<< t << "F → " << p2 << "C\n";
|
||||||
|
|
||||||
out << -pid1 << " " << -ti << " "
|
out << -pid1 << ' ' << -ti << ' '
|
||||||
<< ta << " " << pid2 << " 0\n";
|
<< ta << ' ' << pid2 << " 0\n";
|
||||||
++nclauses;
|
++nclauses;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -662,7 +662,7 @@ namespace spot
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
out.seekp(0);
|
out.seekp(0);
|
||||||
out << "p cnf " << d.nvars << " " << nclauses.nb_clauses();
|
out << "p cnf " << d.nvars << ' ' << nclauses.nb_clauses();
|
||||||
return std::make_pair(d.nvars, nclauses.nb_clauses());
|
return std::make_pair(d.nvars, nclauses.nb_clauses());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -719,7 +719,7 @@ namespace spot
|
||||||
last_aut_trans->condition = t->second.cond;
|
last_aut_trans->condition = t->second.cond;
|
||||||
last_sat_trans = &t->second;
|
last_sat_trans = &t->second;
|
||||||
|
|
||||||
dout << v << "\t" << t->second << "δ\n";
|
dout << v << '\t' << t->second << "δ\n";
|
||||||
|
|
||||||
// Mark the transition as accepting if the source is.
|
// Mark the transition as accepting if the source is.
|
||||||
if (state_based
|
if (state_based
|
||||||
|
|
@ -732,7 +732,7 @@ namespace spot
|
||||||
t = satdict.revtransacc.find(v);
|
t = satdict.revtransacc.find(v);
|
||||||
if (t != satdict.revtransacc.end())
|
if (t != satdict.revtransacc.end())
|
||||||
{
|
{
|
||||||
dout << v << "\t" << t->second << "F\n";
|
dout << v << '\t' << t->second << "F\n";
|
||||||
if (last_sat_trans && t->second == *last_sat_trans)
|
if (last_sat_trans && t->second == *last_sat_trans)
|
||||||
{
|
{
|
||||||
assert(!state_based);
|
assert(!state_based);
|
||||||
|
|
@ -757,7 +757,7 @@ namespace spot
|
||||||
for (std::map<state_pair, int>::const_iterator pit =
|
for (std::map<state_pair, int>::const_iterator pit =
|
||||||
satdict.prodid.begin(); pit != satdict.prodid.end(); ++pit)
|
satdict.prodid.begin(); pit != satdict.prodid.end(); ++pit)
|
||||||
if (positive.find(pit->second) != positive.end())
|
if (positive.find(pit->second) != positive.end())
|
||||||
dout << pit->second << "\t" << pit->first << "\n";
|
dout << pit->second << '\t' << pit->first << "C\n";
|
||||||
else
|
else
|
||||||
dout << -pit->second << "\t¬" << pit->first << "C\n";
|
dout << -pit->second << "\t¬" << pit->first << "C\n";
|
||||||
|
|
||||||
|
|
@ -766,17 +766,16 @@ namespace spot
|
||||||
satdict.pathid_cand.begin();
|
satdict.pathid_cand.begin();
|
||||||
pit != satdict.pathid_cand.end(); ++pit)
|
pit != satdict.pathid_cand.end(); ++pit)
|
||||||
if (positive.find(pit->second) != positive.end())
|
if (positive.find(pit->second) != positive.end())
|
||||||
dout << pit->second << "\t" << pit->first << "C\n";
|
dout << pit->second << '\t' << pit->first << "C\n";
|
||||||
else
|
else
|
||||||
dout << -pit->second << "\t¬" << pit->first << "C\n";
|
dout << -pit->second << "\t¬" << pit->first << "C\n";
|
||||||
|
|
||||||
|
|
||||||
dout << "--- pathid_ref variables ---\n";
|
dout << "--- pathid_ref variables ---\n";
|
||||||
for (std::map<path, int>::const_iterator pit =
|
for (std::map<path, int>::const_iterator pit =
|
||||||
satdict.pathid_ref.begin();
|
satdict.pathid_ref.begin();
|
||||||
pit != satdict.pathid_ref.end(); ++pit)
|
pit != satdict.pathid_ref.end(); ++pit)
|
||||||
if (positive.find(pit->second) != positive.end())
|
if (positive.find(pit->second) != positive.end())
|
||||||
dout << pit->second << "\t" << pit->first << "R\n";
|
dout << pit->second << '\t' << pit->first << "R\n";
|
||||||
else
|
else
|
||||||
dout << -pit->second << "\t¬" << pit->first << "C\n";
|
dout << -pit->second << "\t¬" << pit->first << "C\n";
|
||||||
|
|
||||||
|
|
@ -785,7 +784,7 @@ namespace spot
|
||||||
satdict.pathcand.begin();
|
satdict.pathcand.begin();
|
||||||
pit != satdict.pathcand.end(); ++pit)
|
pit != satdict.pathcand.end(); ++pit)
|
||||||
if (positive.find(pit->second) != positive.end())
|
if (positive.find(pit->second) != positive.end())
|
||||||
dout << pit->second << "\t" << pit->first << "C\n";
|
dout << pit->second << '\t' << pit->first << "C\n";
|
||||||
else
|
else
|
||||||
dout << -pit->second << "\t¬" << pit->first << "C\n";
|
dout << -pit->second << "\t¬" << pit->first << "C\n";
|
||||||
|
|
||||||
|
|
@ -850,7 +849,7 @@ namespace spot
|
||||||
if (show && res)
|
if (show && res)
|
||||||
dotty_reachable(std::cout, res);
|
dotty_reachable(std::cout, res);
|
||||||
|
|
||||||
trace << "dtba_sat_synthetize(...) = " << res << "\n";
|
trace << "dtba_sat_synthetize(...) = " << res << '\n';
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -213,31 +213,31 @@ namespace spot
|
||||||
|
|
||||||
std::ostream& operator<<(std::ostream& os, const transition& t)
|
std::ostream& operator<<(std::ostream& os, const transition& t)
|
||||||
{
|
{
|
||||||
os << "<" << t.src << ","
|
os << '<' << t.src << ','
|
||||||
<< bdd_format_formula(debug_dict, t.cond)
|
<< bdd_format_formula(debug_dict, t.cond)
|
||||||
<< "," << t.dst << ">";
|
<< ',' << t.dst << '>';
|
||||||
return os;
|
return os;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
std::ostream& operator<<(std::ostream& os, const transition_acc& t)
|
std::ostream& operator<<(std::ostream& os, const transition_acc& t)
|
||||||
{
|
{
|
||||||
os << "<" << t.src << ","
|
os << '<' << t.src << ','
|
||||||
<< bdd_format_formula(debug_dict, t.cond) << ","
|
<< bdd_format_formula(debug_dict, t.cond) << ','
|
||||||
<< bdd_format_accset(debug_dict, t.acc)
|
<< bdd_format_accset(debug_dict, t.acc)
|
||||||
<< "," << t.dst << ">";
|
<< ',' << t.dst << '>';
|
||||||
return os;
|
return os;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::ostream& operator<<(std::ostream& os, const path& p)
|
std::ostream& operator<<(std::ostream& os, const path& p)
|
||||||
{
|
{
|
||||||
os << "<"
|
os << '<'
|
||||||
<< p.src_cand << ","
|
<< p.src_cand << ','
|
||||||
<< p.src_ref << ","
|
<< p.src_ref << ','
|
||||||
<< p.dst_cand << ","
|
<< p.dst_cand << ','
|
||||||
<< p.dst_ref << ", "
|
<< p.dst_ref << ", "
|
||||||
<< bdd_format_accset(debug_dict, p.acc_cand) << ", "
|
<< bdd_format_accset(debug_dict, p.acc_cand) << ", "
|
||||||
<< bdd_format_accset(debug_dict, p.acc_ref) << ">";
|
<< bdd_format_accset(debug_dict, p.acc_ref) << '>';
|
||||||
return os;
|
return os;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -511,8 +511,8 @@ namespace spot
|
||||||
|
|
||||||
#if DEBUG
|
#if DEBUG
|
||||||
debug_dict = ref->get_dict();
|
debug_dict = ref->get_dict();
|
||||||
dout << "ref_size: " << ref_size << "\n";
|
dout << "ref_size: " << ref_size << '\n';
|
||||||
dout << "cand_size: " << d.cand_size << "\n";
|
dout << "cand_size: " << d.cand_size << '\n';
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
dout << "symmetry-breaking clauses\n";
|
dout << "symmetry-breaking clauses\n";
|
||||||
|
|
@ -527,7 +527,7 @@ namespace spot
|
||||||
{
|
{
|
||||||
transition t(i, s, k);
|
transition t(i, s, k);
|
||||||
int ti = d.transid[t];
|
int ti = d.transid[t];
|
||||||
dout << "¬" << t << "\n";
|
dout << "¬" << t << '\n';
|
||||||
out << -ti << " 0\n";
|
out << -ti << " 0\n";
|
||||||
++nclauses;
|
++nclauses;
|
||||||
}
|
}
|
||||||
|
|
@ -554,7 +554,7 @@ namespace spot
|
||||||
if (q2 != d.cand_size)
|
if (q2 != d.cand_size)
|
||||||
out << " ∨ ";
|
out << " ∨ ";
|
||||||
}
|
}
|
||||||
out << "\n";
|
out << '\n';
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
for (int q2 = 1; q2 <= d.cand_size; q2++)
|
for (int q2 = 1; q2 <= d.cand_size; q2++)
|
||||||
|
|
@ -562,7 +562,7 @@ namespace spot
|
||||||
transition t(q1, s, q2);
|
transition t(q1, s, q2);
|
||||||
int ti = d.transid[t];
|
int ti = d.transid[t];
|
||||||
|
|
||||||
out << ti << " ";
|
out << ti << ' ';
|
||||||
}
|
}
|
||||||
out << "0\n";
|
out << "0\n";
|
||||||
++nclauses;
|
++nclauses;
|
||||||
|
|
@ -570,7 +570,7 @@ namespace spot
|
||||||
}
|
}
|
||||||
|
|
||||||
dout << "(9) the initial state is reachable\n";
|
dout << "(9) the initial state is reachable\n";
|
||||||
dout << path(1, 1) << "\n";
|
dout << path(1, 1) << '\n';
|
||||||
out << d.pathid[path(1, 1)] << " 0\n";
|
out << d.pathid[path(1, 1)] << " 0\n";
|
||||||
++nclauses;
|
++nclauses;
|
||||||
|
|
||||||
|
|
@ -605,8 +605,8 @@ namespace spot
|
||||||
if (p1id == succ)
|
if (p1id == succ)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
dout << p1 << " ∧ " << t << "δ → " << p2 << "\n";
|
dout << p1 << " ∧ " << t << "δ → " << p2 << '\n';
|
||||||
out << -p1id << " " << -ti << " " << succ << " 0\n";
|
out << -p1id << ' ' << -ti << ' ' << succ << " 0\n";
|
||||||
++nclauses;
|
++nclauses;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -639,7 +639,7 @@ namespace spot
|
||||||
path p(q1, q1p, q2, q2p,
|
path p(q1, q1p, q2, q2p,
|
||||||
d.all_cand_acc[f], d.all_ref_acc[fp]);
|
d.all_cand_acc[f], d.all_ref_acc[fp]);
|
||||||
|
|
||||||
dout << "(11&12&13) paths from " << p << "\n";
|
dout << "(11&12&13) paths from " << p << '\n';
|
||||||
|
|
||||||
int pid = d.pathid[p];
|
int pid = d.pathid[p];
|
||||||
|
|
||||||
|
|
@ -698,7 +698,7 @@ namespace spot
|
||||||
}
|
}
|
||||||
out << ")\n";
|
out << ")\n";
|
||||||
#endif // DEBUG
|
#endif // DEBUG
|
||||||
out << -pid << " " << -ti;
|
out << -pid << ' ' << -ti;
|
||||||
|
|
||||||
// 11
|
// 11
|
||||||
bdd all_f = d.all_cand_acc.back();
|
bdd all_f = d.all_cand_acc.back();
|
||||||
|
|
@ -712,7 +712,7 @@ namespace spot
|
||||||
one, q1);
|
one, q1);
|
||||||
int tai = d.transaccid[ta];
|
int tai = d.transaccid[ta];
|
||||||
assert(tai != 0);
|
assert(tai != 0);
|
||||||
out << " " << -tai;
|
out << ' ' << -tai;
|
||||||
}
|
}
|
||||||
out << " 0\n";
|
out << " 0\n";
|
||||||
++nclauses;
|
++nclauses;
|
||||||
|
|
@ -754,8 +754,8 @@ namespace spot
|
||||||
int tai = d.transaccid[ta];
|
int tai = d.transaccid[ta];
|
||||||
assert(tai != 0);
|
assert(tai != 0);
|
||||||
|
|
||||||
out << -pid << " " << -ti
|
out << -pid << ' ' << -ti
|
||||||
<< " " << tai << " 0\n";
|
<< ' ' << tai << " 0\n";
|
||||||
++nclauses;
|
++nclauses;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -799,9 +799,9 @@ namespace spot
|
||||||
transition_acc ta(q2, l, a, q3);
|
transition_acc ta(q2, l, a, q3);
|
||||||
out << " ∧ ¬" << ta << "FC";
|
out << " ∧ ¬" << ta << "FC";
|
||||||
}
|
}
|
||||||
out << " → " << p2 << "\n";
|
out << " → " << p2 << '\n';
|
||||||
#endif
|
#endif
|
||||||
out << -pid << " " << -ti << " ";
|
out << -pid << ' ' << -ti << ' ';
|
||||||
bdd biga = d.all_cand_acc[f];
|
bdd biga = d.all_cand_acc[f];
|
||||||
while (biga != bddfalse)
|
while (biga != bddfalse)
|
||||||
{
|
{
|
||||||
|
|
@ -810,7 +810,7 @@ namespace spot
|
||||||
|
|
||||||
transition_acc ta(q2, l, a, q3);
|
transition_acc ta(q2, l, a, q3);
|
||||||
int tai = d.transaccid[ta];
|
int tai = d.transaccid[ta];
|
||||||
out << -tai << " ";
|
out << -tai << ' ';
|
||||||
}
|
}
|
||||||
biga = d.all_cand_acc.back()
|
biga = d.all_cand_acc.back()
|
||||||
- d.all_cand_acc[f];
|
- d.all_cand_acc[f];
|
||||||
|
|
@ -821,7 +821,7 @@ namespace spot
|
||||||
|
|
||||||
transition_acc ta(q2, l, a, q3);
|
transition_acc ta(q2, l, a, q3);
|
||||||
int tai = d.transaccid[ta];
|
int tai = d.transaccid[ta];
|
||||||
out << tai << " ";
|
out << tai << ' ';
|
||||||
}
|
}
|
||||||
|
|
||||||
out << p2id << " 0\n";
|
out << p2id << " 0\n";
|
||||||
|
|
@ -836,7 +836,7 @@ namespace spot
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
out.seekp(0);
|
out.seekp(0);
|
||||||
out << "p cnf " << d.nvars << " " << nclauses.nb_clauses();
|
out << "p cnf " << d.nvars << ' ' << nclauses.nb_clauses();
|
||||||
return std::make_pair(d.nvars, nclauses.nb_clauses());
|
return std::make_pair(d.nvars, nclauses.nb_clauses());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -891,7 +891,7 @@ namespace spot
|
||||||
last_aut_trans->condition = t->second.cond;
|
last_aut_trans->condition = t->second.cond;
|
||||||
last_sat_trans = &t->second;
|
last_sat_trans = &t->second;
|
||||||
|
|
||||||
dout << v << "\t" << t->second << "δ\n";
|
dout << v << '\t' << t->second << "δ\n";
|
||||||
|
|
||||||
if (state_based)
|
if (state_based)
|
||||||
{
|
{
|
||||||
|
|
@ -910,7 +910,7 @@ namespace spot
|
||||||
// increasing order.
|
// increasing order.
|
||||||
if (ta != satdict.revtransaccid.end())
|
if (ta != satdict.revtransaccid.end())
|
||||||
{
|
{
|
||||||
dout << v << "\t" << ta->second << "F\n";
|
dout << v << '\t' << ta->second << "F\n";
|
||||||
|
|
||||||
if (last_sat_trans &&
|
if (last_sat_trans &&
|
||||||
ta->second.src == last_sat_trans->src &&
|
ta->second.src == last_sat_trans->src &&
|
||||||
|
|
@ -933,7 +933,7 @@ namespace spot
|
||||||
satdict.pathid.begin();
|
satdict.pathid.begin();
|
||||||
pit != satdict.pathid.end(); ++pit)
|
pit != satdict.pathid.end(); ++pit)
|
||||||
if (positive.find(pit->second) != positive.end())
|
if (positive.find(pit->second) != positive.end())
|
||||||
dout << pit->second << "\t" << pit->first << "C\n";
|
dout << pit->second << '\t' << pit->first << "C\n";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
a->merge_transitions();
|
a->merge_transitions();
|
||||||
|
|
@ -999,7 +999,7 @@ namespace spot
|
||||||
if (show && res)
|
if (show && res)
|
||||||
dotty_reachable(std::cout, res);
|
dotty_reachable(std::cout, res);
|
||||||
|
|
||||||
trace << "dtgba_sat_synthetize(...) = " << res << "\n";
|
trace << "dtgba_sat_synthetize(...) = " << res << '\n';
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -89,7 +89,7 @@ namespace spot
|
||||||
os << " " << a->format_state(i->s) << std::endl;
|
os << " " << a->format_state(i->s) << std::endl;
|
||||||
os << " | ";
|
os << " | ";
|
||||||
bdd_print_formula(os, d, i->label);
|
bdd_print_formula(os, d, i->label);
|
||||||
os << "\t";
|
os << '\t';
|
||||||
bdd_print_accset(os, d, i->acc);
|
bdd_print_accset(os, d, i->acc);
|
||||||
os << std::endl;
|
os << std::endl;
|
||||||
}
|
}
|
||||||
|
|
@ -100,9 +100,9 @@ namespace spot
|
||||||
os << " " << a->format_state(i->s) << std::endl;
|
os << " " << a->format_state(i->s) << std::endl;
|
||||||
os << " | ";
|
os << " | ";
|
||||||
bdd_print_formula(os, d, i->label);
|
bdd_print_formula(os, d, i->label);
|
||||||
os << "\t";
|
os << '\t';
|
||||||
bdd_print_accset(os, d, i->acc);
|
bdd_print_accset(os, d, i->acc);
|
||||||
os << std::endl;
|
os << '\n';
|
||||||
}
|
}
|
||||||
return os;
|
return os;
|
||||||
}
|
}
|
||||||
|
|
@ -288,7 +288,7 @@ namespace spot
|
||||||
std::string format_state(const tgba* a, const state* s, int n)
|
std::string format_state(const tgba* a, const state* s, int n)
|
||||||
{
|
{
|
||||||
std::ostringstream os;
|
std::ostringstream os;
|
||||||
os << a->format_state(s) << " (" << n << ")";
|
os << a->format_state(s) << " (" << n << ')';
|
||||||
return os.str();
|
return os.str();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -392,7 +392,7 @@ namespace spot
|
||||||
for (todo_list::const_iterator ti = todo.begin(); ti != todo.end(); ++ti)
|
for (todo_list::const_iterator ti = todo.begin(); ti != todo.end(); ++ti)
|
||||||
{
|
{
|
||||||
++pos;
|
++pos;
|
||||||
os << "#" << pos << " s:" << ti->s << " n:" << ti->n
|
os << '#' << pos << " s:" << ti->s << " n:" << ti->n
|
||||||
<< " q:{";
|
<< " q:{";
|
||||||
for (succ_queue::const_iterator qi = ti->q.begin(); qi != ti->q.end();)
|
for (succ_queue::const_iterator qi = ti->q.begin(); qi != ti->q.end();)
|
||||||
{
|
{
|
||||||
|
|
@ -401,7 +401,7 @@ namespace spot
|
||||||
if (qi != ti->q.end())
|
if (qi != ti->q.end())
|
||||||
os << ", ";
|
os << ", ";
|
||||||
}
|
}
|
||||||
os << "}" << std::endl;
|
os << '}' << std::endl;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -103,7 +103,7 @@ namespace spot
|
||||||
trace << "Main iteration (top = " << top
|
trace << "Main iteration (top = " << top
|
||||||
<< ", dftop = " << dftop
|
<< ", dftop = " << dftop
|
||||||
<< ", s = " << a_->format_state(stack[dftop].s)
|
<< ", s = " << a_->format_state(stack[dftop].s)
|
||||||
<< ")" << std::endl;
|
<< ')' << std::endl;
|
||||||
|
|
||||||
tgba_succ_iterator* iter = stack[dftop].lasttr;
|
tgba_succ_iterator* iter = stack[dftop].lasttr;
|
||||||
bool cont;
|
bool cont;
|
||||||
|
|
@ -170,7 +170,7 @@ namespace spot
|
||||||
push(const state* s, bool accepting)
|
push(const state* s, bool accepting)
|
||||||
{
|
{
|
||||||
trace << " push(s = " << a_->format_state(s)
|
trace << " push(s = " << a_->format_state(s)
|
||||||
<< ", accepting = " << accepting << ")" << std::endl;
|
<< ", accepting = " << accepting << ")\n";
|
||||||
|
|
||||||
h[s] = ++top;
|
h[s] = ++top;
|
||||||
|
|
||||||
|
|
@ -194,7 +194,7 @@ namespace spot
|
||||||
void
|
void
|
||||||
pop()
|
pop()
|
||||||
{
|
{
|
||||||
trace << " pop()" << std::endl;
|
trace << " pop()\n";
|
||||||
|
|
||||||
int p = stack[dftop].pre;
|
int p = stack[dftop].pre;
|
||||||
if (p >= 0)
|
if (p >= 0)
|
||||||
|
|
@ -217,10 +217,9 @@ namespace spot
|
||||||
lowlinkupdate(int f, int t)
|
lowlinkupdate(int f, int t)
|
||||||
{
|
{
|
||||||
trace << " lowlinkupdate(f = " << f << ", t = " << t
|
trace << " lowlinkupdate(f = " << f << ", t = " << t
|
||||||
<< ")" << std::endl
|
<< ")\n t.lowlink = " << stack[t].lowlink
|
||||||
<< " t.lowlink = " << stack[t].lowlink << std::endl
|
<< "\n f.lowlink = " << stack[f].lowlink
|
||||||
<< " f.lowlink = " << stack[f].lowlink << std::endl
|
<< "\n f.acc = " << stack[f].acc << '\n';
|
||||||
<< " f.acc = " << stack[f].acc << std::endl;
|
|
||||||
int stack_t_lowlink = stack[t].lowlink;
|
int stack_t_lowlink = stack[t].lowlink;
|
||||||
if (stack_t_lowlink <= stack[f].lowlink)
|
if (stack_t_lowlink <= stack[f].lowlink)
|
||||||
{
|
{
|
||||||
|
|
@ -228,16 +227,16 @@ namespace spot
|
||||||
violation = true;
|
violation = true;
|
||||||
stack[f].lowlink = stack_t_lowlink;
|
stack[f].lowlink = stack_t_lowlink;
|
||||||
trace << " f.lowlink updated to "
|
trace << " f.lowlink updated to "
|
||||||
<< stack[f].lowlink << std::endl;
|
<< stack[f].lowlink << '\n';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual std::ostream&
|
virtual std::ostream&
|
||||||
print_stats(std::ostream& os) const
|
print_stats(std::ostream& os) const
|
||||||
{
|
{
|
||||||
os << h.size() << " unique states visited" << std::endl;
|
os << h.size() << " unique states visited\n";
|
||||||
os << transitions() << " transitions explored" << std::endl;
|
os << transitions() << " transitions explored\n";
|
||||||
os << max_depth() << " items max on stack" << std::endl;
|
os << max_depth() << " items max on stack\n";
|
||||||
return os;
|
return os;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -60,7 +60,7 @@ namespace spot
|
||||||
{
|
{
|
||||||
bdd acc = bdd_satone(b);
|
bdd acc = bdd_satone(b);
|
||||||
b -= acc;
|
b -= acc;
|
||||||
os << sm[acc] << " ";
|
os << sm[acc] << ' ';
|
||||||
}
|
}
|
||||||
return os;
|
return os;
|
||||||
}
|
}
|
||||||
|
|
@ -126,14 +126,14 @@ namespace spot
|
||||||
else
|
else
|
||||||
body_ << " -1";
|
body_ << " -1";
|
||||||
}
|
}
|
||||||
body_ << "\n";
|
body_ << '\n';
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
process_link(const state*, int,
|
process_link(const state*, int,
|
||||||
const state*, int out, const tgba_succ_iterator* si)
|
const state*, int out, const tgba_succ_iterator* si)
|
||||||
{
|
{
|
||||||
body_ << out - 1 << " ";
|
body_ << out - 1 << ' ';
|
||||||
if (!sba_format_)
|
if (!sba_format_)
|
||||||
{
|
{
|
||||||
acs_.split(body_, si->current_acceptance_conditions());
|
acs_.split(body_, si->current_acceptance_conditions());
|
||||||
|
|
@ -143,18 +143,18 @@ namespace spot
|
||||||
aut_->get_dict());
|
aut_->get_dict());
|
||||||
to_lbt_string(f, body_);
|
to_lbt_string(f, body_);
|
||||||
f->destroy();
|
f->destroy();
|
||||||
body_ << "\n";
|
body_ << '\n';
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
end()
|
end()
|
||||||
{
|
{
|
||||||
os_ << seen.size() << " ";
|
os_ << seen.size() << ' ';
|
||||||
if (sba_format_)
|
if (sba_format_)
|
||||||
os_ << "1";
|
os_ << '1';
|
||||||
else
|
else
|
||||||
os_ << aut_->number_of_acceptance_conditions() << "t";
|
os_ << aut_->number_of_acceptance_conditions() << 't';
|
||||||
os_ << "\n" << body_.str() << "-1" << std::endl;
|
os_ << '\n' << body_.str() << "-1" << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
|
||||||
|
|
@ -309,7 +309,7 @@ namespace spot
|
||||||
for (auto& fi: next_map)
|
for (auto& fi: next_map)
|
||||||
{
|
{
|
||||||
os << " " << fi.second << ": Next[";
|
os << " " << fi.second << ": Next[";
|
||||||
to_string(fi.first, os) << "]" << std::endl;
|
to_string(fi.first, os) << ']' << std::endl;
|
||||||
}
|
}
|
||||||
os << "Shared Dict:" << std::endl;
|
os << "Shared Dict:" << std::endl;
|
||||||
dict->dump(os);
|
dict->dump(os);
|
||||||
|
|
@ -447,7 +447,7 @@ namespace spot
|
||||||
trace_ltl_bdd(const translate_dict& d, bdd f)
|
trace_ltl_bdd(const translate_dict& d, bdd f)
|
||||||
{
|
{
|
||||||
std::cerr << "Displaying BDD ";
|
std::cerr << "Displaying BDD ";
|
||||||
bdd_print_set(std::cerr, d.dict, f) << ":" << std::endl;
|
bdd_print_set(std::cerr, d.dict, f) << ":\n";
|
||||||
|
|
||||||
minato_isop isop(f);
|
minato_isop isop(f);
|
||||||
bdd cube;
|
bdd cube;
|
||||||
|
|
@ -459,7 +459,7 @@ namespace spot
|
||||||
bdd_print_set(std::cerr, d.dict, label) << " => ";
|
bdd_print_set(std::cerr, d.dict, label) << " => ";
|
||||||
bdd_print_set(std::cerr, d.dict, dest_bdd) << " = "
|
bdd_print_set(std::cerr, d.dict, dest_bdd) << " = "
|
||||||
<< to_string(dest)
|
<< to_string(dest)
|
||||||
<< std::endl;
|
<< '\n';
|
||||||
dest->destroy();
|
dest->destroy();
|
||||||
}
|
}
|
||||||
return std::cerr;
|
return std::cerr;
|
||||||
|
|
@ -970,7 +970,7 @@ namespace spot
|
||||||
// std::cerr << "translate_ratexp[" << to_string(f);
|
// std::cerr << "translate_ratexp[" << to_string(f);
|
||||||
// if (to_concat)
|
// if (to_concat)
|
||||||
// std::cerr << ", " << to_string(to_concat);
|
// std::cerr << ", " << to_string(to_concat);
|
||||||
// std::cerr << "]" << std::endl;
|
// std::cerr << ']' << std::endl;
|
||||||
// ++indent;
|
// ++indent;
|
||||||
bdd res;
|
bdd res;
|
||||||
if (!f->is_boolean())
|
if (!f->is_boolean())
|
||||||
|
|
@ -1690,7 +1690,7 @@ namespace spot
|
||||||
// the case handling G.
|
// the case handling G.
|
||||||
bdd res = recurse(sub, recurring_);
|
bdd res = recurse(sub, recurring_);
|
||||||
//std::cerr << "== in And (" << to_string(sub)
|
//std::cerr << "== in And (" << to_string(sub)
|
||||||
// << ")" << std::endl;
|
// << ')' << std::endl;
|
||||||
// trace_ltl_bdd(dict_, res);
|
// trace_ltl_bdd(dict_, res);
|
||||||
res_ &= res;
|
res_ &= res;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -64,14 +64,14 @@ namespace spot
|
||||||
static std::ostream&
|
static std::ostream&
|
||||||
dump_hash_set(const hash_set* hs, const tgba* aut, std::ostream& out)
|
dump_hash_set(const hash_set* hs, const tgba* aut, std::ostream& out)
|
||||||
{
|
{
|
||||||
out << "{";
|
out << '{';
|
||||||
const char* sep = "";
|
const char* sep = "";
|
||||||
for (hash_set::const_iterator i = hs->begin(); i != hs->end(); ++i)
|
for (hash_set::const_iterator i = hs->begin(); i != hs->end(); ++i)
|
||||||
{
|
{
|
||||||
out << sep << aut->format_state(*i);
|
out << sep << aut->format_state(*i);
|
||||||
sep = ", ";
|
sep = ", ";
|
||||||
}
|
}
|
||||||
out << "}";
|
out << '}';
|
||||||
return out;
|
return out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -453,7 +453,7 @@ namespace spot
|
||||||
#ifdef TRACE
|
#ifdef TRACE
|
||||||
trace << "Final partition: ";
|
trace << "Final partition: ";
|
||||||
for (partition_t::const_iterator i = done.begin(); i != done.end(); ++i)
|
for (partition_t::const_iterator i = done.begin(); i != done.end(); ++i)
|
||||||
trace << format_hash_set(*i, det_a) << " ";
|
trace << format_hash_set(*i, det_a) << ' ';
|
||||||
trace << std::endl;
|
trace << std::endl;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -67,7 +67,7 @@ namespace spot
|
||||||
os_ << " fi;\n";
|
os_ << " fi;\n";
|
||||||
if (accept_all_ != -1)
|
if (accept_all_ != -1)
|
||||||
os_ << "accept_all:\n skip\n";
|
os_ << "accept_all:\n skip\n";
|
||||||
os_ << "}" << std::endl;
|
os_ << '}' << std::endl;
|
||||||
init_->destroy();
|
init_->destroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -138,7 +138,7 @@ namespace spot
|
||||||
{
|
{
|
||||||
if (fi_needed_ != 0)
|
if (fi_needed_ != 0)
|
||||||
os_ << " fi;\n";
|
os_ << " fi;\n";
|
||||||
os_ << get_state_label(s, n) << ":";
|
os_ << get_state_label(s, n) << ':';
|
||||||
if (comments_)
|
if (comments_)
|
||||||
os_ << " /* " << aut_->format_state(s) << " */";
|
os_ << " /* " << aut_->format_state(s) << " */";
|
||||||
os_ << "\n if\n :: (0) -> goto "
|
os_ << "\n if\n :: (0) -> goto "
|
||||||
|
|
@ -157,7 +157,7 @@ namespace spot
|
||||||
{
|
{
|
||||||
if (fi_needed_)
|
if (fi_needed_)
|
||||||
os_ << " fi;\n";
|
os_ << " fi;\n";
|
||||||
os_ << get_state_label(s, n) << ":";
|
os_ << get_state_label(s, n) << ':';
|
||||||
if (comments_)
|
if (comments_)
|
||||||
os_ << " /* " << aut_->format_state(s) << " */";
|
os_ << " /* " << aut_->format_state(s) << " */";
|
||||||
os_ << "\n if\n";
|
os_ << "\n if\n";
|
||||||
|
|
|
||||||
|
|
@ -157,16 +157,16 @@ namespace spot
|
||||||
cycles_left_ = threshold_;
|
cycles_left_ = threshold_;
|
||||||
run(m);
|
run(m);
|
||||||
|
|
||||||
// std::cerr << "SCC #" << m << "\n";
|
// std::cerr << "SCC #" << m << '\n';
|
||||||
// std::cerr << "REJECT: ";
|
// std::cerr << "REJECT: ";
|
||||||
// print_set(std::cerr, reject_) << "\n";
|
// print_set(std::cerr, reject_) << '\n';
|
||||||
// std::cerr << "ALL: ";
|
// std::cerr << "ALL: ";
|
||||||
// print_set(std::cerr, all_) << "\n";
|
// print_set(std::cerr, all_) << '\n';
|
||||||
// for (set_set::const_iterator j = accept_.begin();
|
// for (set_set::const_iterator j = accept_.begin();
|
||||||
// j != accept_.end(); ++j)
|
// j != accept_.end(); ++j)
|
||||||
// {
|
// {
|
||||||
// std::cerr << "ACCEPT: ";
|
// std::cerr << "ACCEPT: ";
|
||||||
// print_set(std::cerr, *j) << "\n";
|
// print_set(std::cerr, *j) << '\n';
|
||||||
// }
|
// }
|
||||||
|
|
||||||
bdd acc = aut_->all_acceptance_conditions();
|
bdd acc = aut_->all_acceptance_conditions();
|
||||||
|
|
@ -232,8 +232,8 @@ namespace spot
|
||||||
{
|
{
|
||||||
o << "{ ";
|
o << "{ ";
|
||||||
for (auto i: s)
|
for (auto i: s)
|
||||||
o << i << " ";
|
o << i << ' ';
|
||||||
o << "}";
|
o << '}';
|
||||||
return o;
|
return o;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -247,13 +247,13 @@ namespace spot
|
||||||
bool is_acc = is_cycle_accepting(i, ts);
|
bool is_acc = is_cycle_accepting(i, ts);
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
// std::cerr << aut_->format_state(i->ts->first) << " ";
|
// std::cerr << aut_->format_state(i->ts->first) << ' ';
|
||||||
++i;
|
++i;
|
||||||
}
|
}
|
||||||
while (i != dfs_.end());
|
while (i != dfs_.end());
|
||||||
// std::cerr << " acc=" << is_acc << " (";
|
// std::cerr << " acc=" << is_acc << " (";
|
||||||
// bdd_print_accset(std::cerr, aut_->get_dict(), s) << ") ";
|
// bdd_print_accset(std::cerr, aut_->get_dict(), s) << ") ";
|
||||||
// print_set(std::cerr, ts) << "\n";
|
// print_set(std::cerr, ts) << '\n';
|
||||||
if (is_acc)
|
if (is_acc)
|
||||||
{
|
{
|
||||||
accept_.push_back(ts);
|
accept_.push_back(ts);
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,7 @@ namespace spot
|
||||||
std::string s = a->transition_annotation(i);
|
std::string s = a->transition_annotation(i);
|
||||||
if (s == "")
|
if (s == "")
|
||||||
return;
|
return;
|
||||||
os << " " << s;
|
os << ' ' << s;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -210,7 +210,7 @@ namespace spot
|
||||||
os << " | ";
|
os << " | ";
|
||||||
print_annotation(os, a, j);
|
print_annotation(os, a, j);
|
||||||
bdd_print_formula(os, a->get_dict(), label);
|
bdd_print_formula(os, a->get_dict(), label);
|
||||||
os << "\t";
|
os << '\t';
|
||||||
bdd_print_accset(os, a->get_dict(), acc);
|
bdd_print_accset(os, a->get_dict(), acc);
|
||||||
os << std::endl;
|
os << std::endl;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -56,7 +56,7 @@ namespace spot
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
state* dest = si->current_state();
|
state* dest = si->current_state();
|
||||||
os_ << "\"" << cur << "\", \"";
|
os_ << '"' << cur << "\", \"";
|
||||||
escape_str(os_, aut_->format_state(dest));
|
escape_str(os_, aut_->format_state(dest));
|
||||||
os_ << "\", \"";
|
os_ << "\", \"";
|
||||||
escape_str(os_, bdd_format_formula(d, si->current_condition()));
|
escape_str(os_, bdd_format_formula(d, si->current_condition()));
|
||||||
|
|
@ -87,7 +87,7 @@ namespace spot
|
||||||
s.resize(s.size() - 1);
|
s.resize(s.size() - 1);
|
||||||
}
|
}
|
||||||
os_ << " \"";
|
os_ << " \"";
|
||||||
escape_str(os_, s) << "\"";
|
escape_str(os_, s) << '"';
|
||||||
}
|
}
|
||||||
return os_;
|
return os_;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -493,7 +493,7 @@ namespace spot
|
||||||
size_t n = m.states_of(state).size();
|
size_t n = m.states_of(state).size();
|
||||||
ostr << " (" << n << " state";
|
ostr << " (" << n << " state";
|
||||||
if (n > 1)
|
if (n > 1)
|
||||||
ostr << "s";
|
ostr << 's';
|
||||||
ostr << ")\\naccs=";
|
ostr << ")\\naccs=";
|
||||||
escape_str(ostr, bdd_format_accset(m.get_aut()->get_dict(),
|
escape_str(ostr, bdd_format_accset(m.get_aut()->get_dict(),
|
||||||
m.acc_set_of(state)));
|
m.acc_set_of(state)));
|
||||||
|
|
@ -515,7 +515,7 @@ namespace spot
|
||||||
m.aprec_set_of(state)));
|
m.aprec_set_of(state)));
|
||||||
ostr << "]\\n useful=[";
|
ostr << "]\\n useful=[";
|
||||||
escape_str(ostr, bdd_format_accset(m.get_aut()->get_dict(),
|
escape_str(ostr, bdd_format_accset(m.get_aut()->get_dict(),
|
||||||
m.useful_acc_of(state))) << "]";
|
m.useful_acc_of(state))) << ']';
|
||||||
}
|
}
|
||||||
|
|
||||||
out << " " << state << " [shape=box,"
|
out << " " << state << " [shape=box,"
|
||||||
|
|
@ -543,7 +543,7 @@ namespace spot
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
out << "}" << std::endl;
|
out << '}' << std::endl;
|
||||||
|
|
||||||
return out;
|
return out;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
// -*- coding: utf-8 -*-
|
// -*- coding: utf-8 -*-
|
||||||
// Copyright (C) 2009, 2010, 2011, 2012, 2013 Laboratoire de Recherche
|
// Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Laboratoire de
|
||||||
// et Développement de l'Epita (LRDE).
|
// Recherche et Développement de l'Epita (LRDE).
|
||||||
//
|
//
|
||||||
// This file is part of Spot, a model checking library.
|
// This file is part of Spot, a model checking library.
|
||||||
//
|
//
|
||||||
|
|
@ -166,7 +166,7 @@ namespace spot
|
||||||
|
|
||||||
for (unsigned n = 0; n < c; ++n)
|
for (unsigned n = 0; n < c; ++n)
|
||||||
{
|
{
|
||||||
//std::cerr << "SCC #" << n << "\n";
|
//std::cerr << "SCC #" << n << '\n';
|
||||||
if (!sm.accepting(n))
|
if (!sm.accepting(n))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
|
@ -191,7 +191,7 @@ namespace spot
|
||||||
one = bdd_high(one);
|
one = bdd_high(one);
|
||||||
}
|
}
|
||||||
int id = resacc.id();
|
int id = resacc.id();
|
||||||
//std::cerr << resacc << " -> " << res << "\n";
|
//std::cerr << resacc << " -> " << res << '\n';
|
||||||
remap_[n][id] = res;
|
remap_[n][id] = res;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -447,7 +447,7 @@ namespace spot
|
||||||
{
|
{
|
||||||
if (!sm->accepting(n))
|
if (!sm->accepting(n))
|
||||||
continue;
|
continue;
|
||||||
//std::cerr << "SCC " << n << "\n";
|
//std::cerr << "SCC " << n << '\n';
|
||||||
bdd useful = useful_table[n];
|
bdd useful = useful_table[n];
|
||||||
|
|
||||||
int missing = max_num - max_table[n];
|
int missing = max_num - max_table[n];
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,8 @@
|
||||||
// Copyright (C) 2011 Laboratoire de Recherche et Developpement de
|
// -*- coding: utf-8 -*-
|
||||||
// l'Epita.
|
// Copyright (C) 2011, 2014 Laboratoire de Recherche et Developpement
|
||||||
|
// de l'Epita.
|
||||||
// Copyright (C) 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
|
// Copyright (C) 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||||
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||||
// et Marie Curie.
|
// et Marie Curie.
|
||||||
//
|
//
|
||||||
// This file is part of Spot, a model checking library.
|
// This file is part of Spot, a model checking library.
|
||||||
|
|
@ -114,7 +115,7 @@ namespace spot
|
||||||
{
|
{
|
||||||
weight::weight_vector::const_iterator it;
|
weight::weight_vector::const_iterator it;
|
||||||
for (it = w.m.begin(); it != w.m.end(); ++it)
|
for (it = w.m.begin(); it != w.m.end(); ++it)
|
||||||
os << "(" << it->first << "," << it->second << ")";
|
os << '(' << it->first << ',' << it->second << ')';
|
||||||
return os;
|
return os;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
// -*- coding: utf-8 -*-
|
// -*- coding: utf-8 -*-
|
||||||
// Copyright (C) 2013 Laboratoire de Recherche et Développement de
|
// Copyright (C) 2013, 2014 Laboratoire de Recherche et Développement
|
||||||
// l'Epita (LRDE).
|
// de l'Epita (LRDE).
|
||||||
//
|
//
|
||||||
// This file is part of Spot, a model checking library.
|
// This file is part of Spot, a model checking library.
|
||||||
//
|
//
|
||||||
|
|
@ -102,7 +102,7 @@ namespace spot
|
||||||
notfirst = true;
|
notfirst = true;
|
||||||
bdd_print_formula(os, d, *i);
|
bdd_print_formula(os, d, *i);
|
||||||
}
|
}
|
||||||
os << "}";
|
os << '}';
|
||||||
return os;
|
return os;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,8 @@
|
||||||
|
// -*- coding: utf-8 -*-
|
||||||
|
// Copyright (C) 2014 Laboratoire de Recherche et Développement
|
||||||
|
// de l'Epita (LRDE).
|
||||||
// Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
|
// Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||||
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||||
// et Marie Curie.
|
// et Marie Curie.
|
||||||
//
|
//
|
||||||
// This file is part of Spot, a model checking library.
|
// This file is part of Spot, a model checking library.
|
||||||
|
|
@ -32,7 +35,7 @@ namespace spot
|
||||||
for (it = error_list.begin(); it != error_list.end(); ++it)
|
for (it = error_list.begin(); it != error_list.end(); ++it)
|
||||||
{
|
{
|
||||||
if (filename != "-")
|
if (filename != "-")
|
||||||
os << filename << ":";
|
os << filename << ':';
|
||||||
os << it->first << ": ";
|
os << it->first << ": ";
|
||||||
os << it->second << std::endl;
|
os << it->second << std::endl;
|
||||||
printed = true;
|
printed = true;
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
// -*- coding: utf-8 -*-
|
// -*- coding: utf-8 -*-
|
||||||
// Copyright (C) 2013 Laboratoire de Recherche et Développement
|
// Copyright (C) 2013, 2014 Laboratoire de Recherche et Développement
|
||||||
// de l'Epita (LRDE).
|
// de l'Epita (LRDE).
|
||||||
//
|
//
|
||||||
// This file is part of Spot, a model checking library.
|
// This file is part of Spot, a model checking library.
|
||||||
|
|
@ -27,14 +27,14 @@ void ruler()
|
||||||
if (x % 10 == 0)
|
if (x % 10 == 0)
|
||||||
std::cout << x / 10;
|
std::cout << x / 10;
|
||||||
else
|
else
|
||||||
std::cout << "_";
|
std::cout << '_';
|
||||||
std::cout << "\n ";
|
std::cout << "\n ";
|
||||||
for (size_t x = 0; x < 76; ++x)
|
for (size_t x = 0; x < 76; ++x)
|
||||||
std::cout << x % 10;
|
std::cout << x % 10;
|
||||||
std::cout << "\n\n";
|
std::cout << "\n\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
#define ECHO(name) std::cout << #name": " << *name << "\n"
|
#define ECHO(name) std::cout << #name": " << *name << '\n'
|
||||||
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
// Copyright (C) 2008, 2009, 2010, 2011, 2012 Laboratoire de Recherche et
|
// -*- coding: utf-8 -*-
|
||||||
// Développement de l'Epita (LRDE).
|
// Copyright (C) 2008, 2009, 2010, 2011, 2012, 2014 Laboratoire de
|
||||||
|
// Recherche et Développement de l'Epita (LRDE).
|
||||||
//
|
//
|
||||||
// This file is part of Spot, a model checking library.
|
// This file is part of Spot, a model checking library.
|
||||||
//
|
//
|
||||||
|
|
@ -110,7 +111,7 @@ int main(int argc, char* argv[])
|
||||||
print_formula = true; break;
|
print_formula = true; break;
|
||||||
default:
|
default:
|
||||||
std::cerr << "unrecognized option `-" << argv[i][1]
|
std::cerr << "unrecognized option `-" << argv[i][1]
|
||||||
<< "'" << std::endl;
|
<< '\'' << std::endl;
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
// Copyright (C) 2011 Laboratoire de Recherche et Developpement de
|
// -*- coding: utf-8 -*-
|
||||||
// l'Epita (LRDE).
|
// Copyright (C) 2011, 2014 Laboratoire de Recherche et Developpement
|
||||||
|
// de l'Epita (LRDE).
|
||||||
//
|
//
|
||||||
// This file is part of Spot, a model checking library.
|
// This file is part of Spot, a model checking library.
|
||||||
//
|
//
|
||||||
|
|
@ -29,7 +30,7 @@ int check_aa(int* data, int size, unsigned expected = 0)
|
||||||
|
|
||||||
std::cout << "AC[" << csize << "] ";
|
std::cout << "AC[" << csize << "] ";
|
||||||
for (size_t i = 0; i < csize; ++i)
|
for (size_t i = 0; i < csize; ++i)
|
||||||
std::cout << comp[i] << " ";
|
std::cout << comp[i] << ' ';
|
||||||
std::cout << std::endl;
|
std::cout << std::endl;
|
||||||
|
|
||||||
int* decomp = new int[size + 30];
|
int* decomp = new int[size + 30];
|
||||||
|
|
@ -37,7 +38,7 @@ int check_aa(int* data, int size, unsigned expected = 0)
|
||||||
|
|
||||||
std::cout << "AD[" << size << "] ";
|
std::cout << "AD[" << size << "] ";
|
||||||
for (int i = 0; i < size; ++i)
|
for (int i = 0; i < size; ++i)
|
||||||
std::cout << decomp[i] << " ";
|
std::cout << decomp[i] << ' ';
|
||||||
std::cout << std::endl;
|
std::cout << std::endl;
|
||||||
|
|
||||||
int res = memcmp(data, decomp, size * sizeof(int));
|
int res = memcmp(data, decomp, size * sizeof(int));
|
||||||
|
|
@ -47,7 +48,7 @@ int check_aa(int* data, int size, unsigned expected = 0)
|
||||||
std::cout << "*** cmp error *** " << res << std::endl;
|
std::cout << "*** cmp error *** " << res << std::endl;
|
||||||
std::cout << "AE[" << size << "] ";
|
std::cout << "AE[" << size << "] ";
|
||||||
for (int i = 0; i < size; ++i)
|
for (int i = 0; i < size; ++i)
|
||||||
std::cout << data[i] << " ";
|
std::cout << data[i] << ' ';
|
||||||
std::cout << std::endl;
|
std::cout << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
// Copyright (C) 2011 Laboratoire de Recherche et Developpement de
|
// -*- coding: utf-8 -*-
|
||||||
// l'Epita (LRDE).
|
// Copyright (C) 2011, 2014 Laboratoire de Recherche et Developpement
|
||||||
|
// de l'Epita (LRDE).
|
||||||
//
|
//
|
||||||
// This file is part of Spot, a model checking library.
|
// This file is part of Spot, a model checking library.
|
||||||
//
|
//
|
||||||
|
|
@ -33,16 +34,16 @@ int check_vv(int* data, int size, unsigned expected = 0)
|
||||||
|
|
||||||
std::cout << "WC[" << output.size() << "] ";
|
std::cout << "WC[" << output.size() << "] ";
|
||||||
for (size_t i = 0; i < output.size(); ++i)
|
for (size_t i = 0; i < output.size(); ++i)
|
||||||
std::cout << output[i] << " ";
|
std::cout << output[i] << ' ';
|
||||||
std::cout << std::endl;
|
std::cout << '\n';
|
||||||
|
|
||||||
std::vector<int> decomp;
|
std::vector<int> decomp;
|
||||||
spot::int_vector_vector_decompress(output, decomp, size);
|
spot::int_vector_vector_decompress(output, decomp, size);
|
||||||
|
|
||||||
std::cout << "WD[" << decomp.size() << "] ";
|
std::cout << "WD[" << decomp.size() << "] ";
|
||||||
for (size_t i = 0; i < decomp.size(); ++i)
|
for (size_t i = 0; i < decomp.size(); ++i)
|
||||||
std::cout << decomp[i] << " ";
|
std::cout << decomp[i] << ' ';
|
||||||
std::cout << std::endl;
|
std::cout << '\n';
|
||||||
|
|
||||||
int res = (decomp != input);
|
int res = (decomp != input);
|
||||||
|
|
||||||
|
|
@ -51,8 +52,8 @@ int check_vv(int* data, int size, unsigned expected = 0)
|
||||||
std::cout << "*** cmp error *** " << std::endl;
|
std::cout << "*** cmp error *** " << std::endl;
|
||||||
std::cout << "WE[" << size << "] ";
|
std::cout << "WE[" << size << "] ";
|
||||||
for (int i = 0; i < size; ++i)
|
for (int i = 0; i < size; ++i)
|
||||||
std::cout << data[i] << " ";
|
std::cout << data[i] << ' ';
|
||||||
std::cout << std::endl;
|
std::cout << '\n';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (expected && (output.size() * sizeof(int) != expected))
|
if (expected && (output.size() * sizeof(int) != expected))
|
||||||
|
|
@ -63,7 +64,7 @@ int check_vv(int* data, int size, unsigned expected = 0)
|
||||||
res = 1;
|
res = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::cout << std::endl;
|
std::cout << '\n';
|
||||||
|
|
||||||
return !!res;
|
return !!res;
|
||||||
}
|
}
|
||||||
|
|
@ -75,16 +76,16 @@ int check_av(int* data, int size, unsigned expected = 0)
|
||||||
|
|
||||||
std::cout << "VC[" << v->size() << "] ";
|
std::cout << "VC[" << v->size() << "] ";
|
||||||
for (size_t i = 0; i < v->size(); ++i)
|
for (size_t i = 0; i < v->size(); ++i)
|
||||||
std::cout << (*v)[i] << " ";
|
std::cout << (*v)[i] << ' ';
|
||||||
std::cout << std::endl;
|
std::cout << '\n';
|
||||||
|
|
||||||
int* decomp = new int[size];
|
int* decomp = new int[size];
|
||||||
spot::int_vector_array_decompress(v, decomp, size);
|
spot::int_vector_array_decompress(v, decomp, size);
|
||||||
|
|
||||||
std::cout << "VD[" << size << "] ";
|
std::cout << "VD[" << size << "] ";
|
||||||
for (int i = 0; i < size; ++i)
|
for (int i = 0; i < size; ++i)
|
||||||
std::cout << decomp[i] << " ";
|
std::cout << decomp[i] << ' ';
|
||||||
std::cout << std::endl;
|
std::cout << '\n';
|
||||||
|
|
||||||
int res = memcmp(data, decomp, size * sizeof(int));
|
int res = memcmp(data, decomp, size * sizeof(int));
|
||||||
|
|
||||||
|
|
@ -93,8 +94,8 @@ int check_av(int* data, int size, unsigned expected = 0)
|
||||||
std::cout << "*** cmp error *** " << res << std::endl;
|
std::cout << "*** cmp error *** " << res << std::endl;
|
||||||
std::cout << "VE[" << size << "] ";
|
std::cout << "VE[" << size << "] ";
|
||||||
for (int i = 0; i < size; ++i)
|
for (int i = 0; i < size; ++i)
|
||||||
std::cout << data[i] << " ";
|
std::cout << data[i] << ' ';
|
||||||
std::cout << std::endl;
|
std::cout << '\n';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (expected && (v->size() * sizeof(int) != expected))
|
if (expected && (v->size() * sizeof(int) != expected))
|
||||||
|
|
@ -105,7 +106,7 @@ int check_av(int* data, int size, unsigned expected = 0)
|
||||||
res = 1;
|
res = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::cout << std::endl;
|
std::cout << '\n';
|
||||||
|
|
||||||
delete v;
|
delete v;
|
||||||
delete[] decomp;
|
delete[] decomp;
|
||||||
|
|
@ -120,16 +121,16 @@ int check_aa(int* data, int size, unsigned expected = 0)
|
||||||
|
|
||||||
std::cout << "AC[" << csize << "] ";
|
std::cout << "AC[" << csize << "] ";
|
||||||
for (size_t i = 0; i < csize; ++i)
|
for (size_t i = 0; i < csize; ++i)
|
||||||
std::cout << comp[i] << " ";
|
std::cout << comp[i] << ' ';
|
||||||
std::cout << std::endl;
|
std::cout << '\n';
|
||||||
|
|
||||||
int* decomp = new int[size];
|
int* decomp = new int[size];
|
||||||
spot::int_array_array_decompress(comp, csize, decomp, size);
|
spot::int_array_array_decompress(comp, csize, decomp, size);
|
||||||
|
|
||||||
std::cout << "AD[" << size << "] ";
|
std::cout << "AD[" << size << "] ";
|
||||||
for (int i = 0; i < size; ++i)
|
for (int i = 0; i < size; ++i)
|
||||||
std::cout << decomp[i] << " ";
|
std::cout << decomp[i] << ' ';
|
||||||
std::cout << std::endl;
|
std::cout << '\n';
|
||||||
|
|
||||||
int res = memcmp(data, decomp, size * sizeof(int));
|
int res = memcmp(data, decomp, size * sizeof(int));
|
||||||
|
|
||||||
|
|
@ -138,8 +139,8 @@ int check_aa(int* data, int size, unsigned expected = 0)
|
||||||
std::cout << "*** cmp error *** " << res << std::endl;
|
std::cout << "*** cmp error *** " << res << std::endl;
|
||||||
std::cout << "AE[" << size << "] ";
|
std::cout << "AE[" << size << "] ";
|
||||||
for (int i = 0; i < size; ++i)
|
for (int i = 0; i < size; ++i)
|
||||||
std::cout << data[i] << " ";
|
std::cout << data[i] << ' ';
|
||||||
std::cout << std::endl;
|
std::cout << '\n';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (expected && (csize * sizeof(int) != expected))
|
if (expected && (csize * sizeof(int) != expected))
|
||||||
|
|
@ -150,7 +151,7 @@ int check_aa(int* data, int size, unsigned expected = 0)
|
||||||
res = 1;
|
res = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::cout << std::endl;
|
std::cout << '\n';
|
||||||
|
|
||||||
delete[] comp;
|
delete[] comp;
|
||||||
delete[] decomp;
|
delete[] decomp;
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
// -*- coding: utf-8 -*-
|
// -*- coding: utf-8 -*-
|
||||||
// Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012, 2013 Laboratoire
|
// Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
|
||||||
// de Recherche et Développement de l'Epita (LRDE).
|
// Laboratoire de Recherche et Développement de l'Epita (LRDE).
|
||||||
// Copyright (C) 2003, 2004, 2005, 2006, 2007 Laboratoire d'Informatique de
|
// Copyright (C) 2003, 2004, 2005, 2006, 2007 Laboratoire
|
||||||
// Paris 6 (LIP6), département Systèmes Répartis
|
// d'Informatique de Paris 6 (LIP6), département Systèmes Répartis
|
||||||
// Coopératifs (SRC), Université Pierre et Marie Curie.
|
// Coopératifs (SRC), Université Pierre et Marie Curie.
|
||||||
//
|
//
|
||||||
// This file is part of Spot, a model checking library.
|
// This file is part of Spot, a model checking library.
|
||||||
|
|
@ -529,7 +529,7 @@ main(int argc, char** argv)
|
||||||
if (!echeck_inst)
|
if (!echeck_inst)
|
||||||
{
|
{
|
||||||
std::cerr << "Failed to parse argument of -e near `"
|
std::cerr << "Failed to parse argument of -e near `"
|
||||||
<< err << "'" << std::endl;
|
<< err << '\'' << std::endl;
|
||||||
exit(2);
|
exit(2);
|
||||||
}
|
}
|
||||||
expect_counter_example = true;
|
expect_counter_example = true;
|
||||||
|
|
@ -547,7 +547,7 @@ main(int argc, char** argv)
|
||||||
if (!echeck_inst)
|
if (!echeck_inst)
|
||||||
{
|
{
|
||||||
std::cerr << "Failed to parse argument of -e near `"
|
std::cerr << "Failed to parse argument of -e near `"
|
||||||
<< err << "'" << std::endl;
|
<< err << '\'' << std::endl;
|
||||||
exit(2);
|
exit(2);
|
||||||
}
|
}
|
||||||
expect_counter_example = false;
|
expect_counter_example = false;
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,9 @@
|
||||||
// Copyright (C) 2008, 2009, 2010, 2011, 2012 Laboratoire de Recherche
|
// -*- coding: utf-8 -*-
|
||||||
// et Développement de l'Epita (LRDE).
|
// Copyright (C) 2008, 2009, 2010, 2011, 2012, 2014 Laboratoire de
|
||||||
|
// Recherche et Développement de l'Epita (LRDE).
|
||||||
// Copyright (C) 2004, 2005 Laboratoire d'Informatique de Paris
|
// Copyright (C) 2004, 2005 Laboratoire d'Informatique de Paris
|
||||||
// 6 (LIP6), département Systèmes Répartis Coopératifs (SRC),
|
// 6 (LIP6), département Systèmes Répartis Coopératifs (SRC),
|
||||||
// Université Pierre et Marie Curie.
|
// Université Pierre et Marie Curie.
|
||||||
//
|
//
|
||||||
// This file is part of Spot, a model checking library.
|
// This file is part of Spot, a model checking library.
|
||||||
//
|
//
|
||||||
|
|
@ -316,7 +317,7 @@ struct stat_collector
|
||||||
{
|
{
|
||||||
std::ios::fmtflags old = os.flags();
|
std::ios::fmtflags old = os.flags();
|
||||||
os << std::setw(25) << "" << " | "
|
os << std::setw(25) << "" << " | "
|
||||||
<< std::setw(30) << std::left << title << std::right << "|" << std::endl
|
<< std::setw(30) << std::left << title << std::right << '|' << std::endl
|
||||||
<< std::setw(25) << "algorithm"
|
<< std::setw(25) << "algorithm"
|
||||||
<< " | min < mean < max | total | n"
|
<< " | min < mean < max | total | n"
|
||||||
<< std::endl
|
<< std::endl
|
||||||
|
|
@ -328,10 +329,10 @@ struct stat_collector
|
||||||
{
|
{
|
||||||
os << std::setw(25) << i->first << " |"
|
os << std::setw(25) << i->first << " |"
|
||||||
<< std::setw(6) << i->second.min
|
<< std::setw(6) << i->second.min
|
||||||
<< " "
|
<< ' '
|
||||||
<< std::setw(8)
|
<< std::setw(8)
|
||||||
<< static_cast<float>(i->second.tot) / i->second.n
|
<< static_cast<float>(i->second.tot) / i->second.n
|
||||||
<< " "
|
<< ' '
|
||||||
<< std::setw(6) << i->second.max
|
<< std::setw(6) << i->second.max
|
||||||
<< " |";
|
<< " |";
|
||||||
if (total)
|
if (total)
|
||||||
|
|
@ -436,17 +437,17 @@ print_ar_stats(ar_stats_type& ar_stats, const std::string& s)
|
||||||
i != ar_stats.end(); ++i)
|
i != ar_stats.end(); ++i)
|
||||||
std::cout << std::setw(25) << i->first << " |"
|
std::cout << std::setw(25) << i->first << " |"
|
||||||
<< std::setw(6) << i->second.min_prefix
|
<< std::setw(6) << i->second.min_prefix
|
||||||
<< " "
|
<< ' '
|
||||||
<< std::setw(8)
|
<< std::setw(8)
|
||||||
<< static_cast<float>(i->second.tot_prefix) / i->second.n
|
<< static_cast<float>(i->second.tot_prefix) / i->second.n
|
||||||
<< " "
|
<< ' '
|
||||||
<< std::setw(6) << i->second.max_prefix
|
<< std::setw(6) << i->second.max_prefix
|
||||||
<< " |"
|
<< " |"
|
||||||
<< std::setw(6) << i->second.min_cycle
|
<< std::setw(6) << i->second.min_cycle
|
||||||
<< " "
|
<< ' '
|
||||||
<< std::setw(8)
|
<< std::setw(8)
|
||||||
<< static_cast<float>(i->second.tot_cycle) / i->second.n
|
<< static_cast<float>(i->second.tot_cycle) / i->second.n
|
||||||
<< " "
|
<< ' '
|
||||||
<< std::setw(6) << i->second.max_cycle
|
<< std::setw(6) << i->second.max_cycle
|
||||||
<< " |"
|
<< " |"
|
||||||
<< std::setw(4) << i->second.n
|
<< std::setw(4) << i->second.n
|
||||||
|
|
@ -466,18 +467,18 @@ print_ar_stats(ar_stats_type& ar_stats, const std::string& s)
|
||||||
std::cout << std::setw(25) << i->first << " |"
|
std::cout << std::setw(25) << i->first << " |"
|
||||||
<< std::setw(6)
|
<< std::setw(6)
|
||||||
<< i->second.min_run
|
<< i->second.min_run
|
||||||
<< " "
|
<< ' '
|
||||||
<< std::setw(8)
|
<< std::setw(8)
|
||||||
<< static_cast<float>(i->second.tot_prefix
|
<< static_cast<float>(i->second.tot_prefix
|
||||||
+ i->second.tot_cycle) / i->second.n
|
+ i->second.tot_cycle) / i->second.n
|
||||||
<< " "
|
<< ' '
|
||||||
<< std::setw(6)
|
<< std::setw(6)
|
||||||
<< i->second.max_run
|
<< i->second.max_run
|
||||||
<< " |"
|
<< " |"
|
||||||
<< std::setw(6) << i->second.tot_prefix
|
<< std::setw(6) << i->second.tot_prefix
|
||||||
<< " "
|
<< ' '
|
||||||
<< std::setw(6) << i->second.tot_cycle
|
<< std::setw(6) << i->second.tot_cycle
|
||||||
<< " "
|
<< ' '
|
||||||
<< std::setw(8) << i->second.tot_prefix + i->second.tot_cycle
|
<< std::setw(8) << i->second.tot_prefix + i->second.tot_cycle
|
||||||
<< " |"
|
<< " |"
|
||||||
<< std::setw(4) << i->second.n
|
<< std::setw(4) << i->second.n
|
||||||
|
|
@ -796,14 +797,14 @@ main(int argc, char** argv)
|
||||||
if (tok)
|
if (tok)
|
||||||
{
|
{
|
||||||
std::cerr << "failed to parse probabilities near `"
|
std::cerr << "failed to parse probabilities near `"
|
||||||
<< tok << "'" << std::endl;
|
<< tok << '\'' << std::endl;
|
||||||
exit(2);
|
exit(2);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (opt_l > opt_f)
|
if (opt_l > opt_f)
|
||||||
{
|
{
|
||||||
std::cerr << "-l's argument (" << opt_l << ") should not be larger than "
|
std::cerr << "-l's argument (" << opt_l << ") should not be larger than "
|
||||||
<< "-f's (" << opt_f << ")" << std::endl;
|
<< "-f's (" << opt_f << ')' << std::endl;
|
||||||
exit(2);
|
exit(2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -840,7 +841,7 @@ main(int argc, char** argv)
|
||||||
&err);
|
&err);
|
||||||
if (ec_algos[i].inst == 0)
|
if (ec_algos[i].inst == 0)
|
||||||
{
|
{
|
||||||
std::cerr << "Parse error after `" << err << "'" << std::endl;
|
std::cerr << "Parse error after `" << err << '\'' << std::endl;
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
ec_algos[i].inst->options().set(options);
|
ec_algos[i].inst->options().set(options);
|
||||||
|
|
@ -1059,8 +1060,8 @@ main(int argc, char** argv)
|
||||||
}
|
}
|
||||||
if (opt_z && !opt_paper)
|
if (opt_z && !opt_paper)
|
||||||
std::cout << " [" << run->prefix.size()
|
std::cout << " [" << run->prefix.size()
|
||||||
<< "+" << run->cycle.size()
|
<< '+' << run->cycle.size()
|
||||||
<< "]";
|
<< ']';
|
||||||
|
|
||||||
if (opt_reduce)
|
if (opt_reduce)
|
||||||
{
|
{
|
||||||
|
|
@ -1088,9 +1089,9 @@ main(int argc, char** argv)
|
||||||
{
|
{
|
||||||
std::cout << " ["
|
std::cout << " ["
|
||||||
<< redrun->prefix.size()
|
<< redrun->prefix.size()
|
||||||
<< "+"
|
<< '+'
|
||||||
<< redrun->cycle.size()
|
<< redrun->cycle.size()
|
||||||
<< "]";
|
<< ']';
|
||||||
}
|
}
|
||||||
delete redrun;
|
delete redrun;
|
||||||
}
|
}
|
||||||
|
|
@ -1234,7 +1235,7 @@ main(int argc, char** argv)
|
||||||
|
|
||||||
int n = -1;
|
int n = -1;
|
||||||
|
|
||||||
std::cout << std::setw(25) << algo << " " << std::setw(8);
|
std::cout << std::setw(25) << algo << ' ' << std::setw(8);
|
||||||
|
|
||||||
ec_iter i = stats["states"].find(algo);
|
ec_iter i = stats["states"].find(algo);
|
||||||
if (i != stats["states"].end())
|
if (i != stats["states"].end())
|
||||||
|
|
@ -1244,7 +1245,7 @@ main(int argc, char** argv)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
std::cout << "";
|
std::cout << "";
|
||||||
std::cout << " " << std::setw(8);
|
std::cout << ' ' << std::setw(8);
|
||||||
|
|
||||||
i = stats["transitions"].find(algo);
|
i = stats["transitions"].find(algo);
|
||||||
if (i != stats["transitions"].end())
|
if (i != stats["transitions"].end())
|
||||||
|
|
@ -1254,7 +1255,7 @@ main(int argc, char** argv)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
std::cout << "";
|
std::cout << "";
|
||||||
std::cout << " " << std::setw(8);
|
std::cout << ' ' << std::setw(8);
|
||||||
|
|
||||||
i = stats["max. depth"].find(algo);
|
i = stats["max. depth"].find(algo);
|
||||||
if (i != stats["max. depth"].end())
|
if (i != stats["max. depth"].end())
|
||||||
|
|
@ -1265,7 +1266,7 @@ main(int argc, char** argv)
|
||||||
else
|
else
|
||||||
std::cout << "";
|
std::cout << "";
|
||||||
if (n >= 0)
|
if (n >= 0)
|
||||||
std::cout << " " << std::setw(8) << n;
|
std::cout << ' ' << std::setw(8) << n;
|
||||||
std::cout << std::endl;
|
std::cout << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1277,14 +1278,14 @@ main(int argc, char** argv)
|
||||||
{
|
{
|
||||||
const std::string algo = ec_algos[ai].name;
|
const std::string algo = ec_algos[ai].name;
|
||||||
|
|
||||||
std::cout << std::setw(25) << algo << " " << std::setw(8);
|
std::cout << std::setw(25) << algo << ' ' << std::setw(8);
|
||||||
|
|
||||||
ec_iter i = stats2["search space states"].find(algo);
|
ec_iter i = stats2["search space states"].find(algo);
|
||||||
if (i != stats2["search space states"].end())
|
if (i != stats2["search space states"].end())
|
||||||
std::cout << i->second.tot / i->second.n;
|
std::cout << i->second.tot / i->second.n;
|
||||||
else
|
else
|
||||||
std::cout << "";
|
std::cout << "";
|
||||||
std::cout << " " << std::setw(8);
|
std::cout << ' ' << std::setw(8);
|
||||||
|
|
||||||
i = stats2["(non unique) states for cycle"].find(algo);
|
i = stats2["(non unique) states for cycle"].find(algo);
|
||||||
if (i != stats2["(non unique) states for cycle"].end())
|
if (i != stats2["(non unique) states for cycle"].end())
|
||||||
|
|
@ -1301,7 +1302,7 @@ main(int argc, char** argv)
|
||||||
std::cout << "The check failed for the following seeds:";
|
std::cout << "The check failed for the following seeds:";
|
||||||
for (std::set<int>::const_iterator i = failed_seeds.begin();
|
for (std::set<int>::const_iterator i = failed_seeds.begin();
|
||||||
i != failed_seeds.end(); ++i)
|
i != failed_seeds.end(); ++i)
|
||||||
std::cout << " " << *i;
|
std::cout << ' ' << *i;
|
||||||
std::cout << std::endl;
|
std::cout << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue