spot: Add 'langmap' option with dichotomy (it helps to choose min val)
* python/spot/__init__.py: Handle 'dicho' option in 'sat_minimize'. * spot/priv/satcommon.cc: Implement get_number_of_distinct_vals. * spot/priv/satcommon.hh: Declare get_number_of_distinct_vals. * spot/twaalgos/dtbasat.cc: Use get_number_of_distinct_vals. * spot/twaalgos/dtbasat.hh: Change dichotomy function's prototype. * spot/twaalgos/dtwasat.cc: Use get_number_of_distinct_vals. * spot/twaalgos/dtwasat.hh: Change dichotomy function's prototype. Handle options. * spot/twaalgos/postproc.cc: Handle options. * spot/twaalgos/postproc.hh: Add dicho_langmap_ var for options. * tests/core/satmin2.test: Add tests for dichotomy. * tests/core/satmin.test: Add tests for dichotomy. * tests/python/satmin.py: Replace 'dichotomy' with 'dicho' option.
This commit is contained in:
parent
7046a49622
commit
67e3a4f28e
12 changed files with 229 additions and 31 deletions
|
|
@ -19,6 +19,7 @@
|
|||
|
||||
|
||||
#include <fstream>
|
||||
#include <set>
|
||||
#include <assert.h>
|
||||
#include <spot/misc/escape.hh>
|
||||
#include <spot/priv/satcommon.hh>
|
||||
|
|
@ -185,4 +186,13 @@ namespace spot
|
|||
out << "\"\n";
|
||||
}
|
||||
}
|
||||
|
||||
int
|
||||
get_number_of_distinct_vals(std::vector<unsigned> v)
|
||||
{
|
||||
std::set<unsigned> distinct;
|
||||
for (auto it = v.begin(); it != v.end(); ++it)
|
||||
distinct.insert(*it);
|
||||
return distinct.size();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue