mirror of
https://github.com/Jaxan/hybrid-ads.git
synced 2025-04-27 15:07:45 +02:00
Merge branch 'master' of https://gitlab.science.ru.nl/moerman/Yannakakis
This commit is contained in:
commit
b990221c3c
5 changed files with 24 additions and 9 deletions
19
README.md
19
README.md
|
@ -43,11 +43,26 @@ sourcefile (`src/main.cpp`) can also be built with c++11 (this is tested on some
|
|||
commits on both Windows and linux).
|
||||
|
||||
|
||||
### Notes for linux
|
||||
|
||||
There seems to be a problem with docopt.cpp with gcc-4.9 as well... (Everything
|
||||
compiles, but the program options are not parsed well.) If you want to build
|
||||
with `clang` on linux, you should also use `libc++`. Try the following:
|
||||
|
||||
```
|
||||
sudo apt-get install libc++-dev
|
||||
mkdir build
|
||||
cd build
|
||||
CXX=clang++ CC=clang CXXFLAGS=-stdlib=libc++ LDFLAGS=-pthread cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo ..
|
||||
make
|
||||
|
||||
```
|
||||
|
||||
## Java
|
||||
|
||||
For now the java code, which acts as a bridge between LearnLib and this c++
|
||||
tool, is included here. But it should earn its own repo at some point. Also, my
|
||||
javanese is a bit rusty...
|
||||
tool, is included here (can be out-dated). But it should earn its own repo at
|
||||
some point. Also, my javanese is a bit rusty...
|
||||
|
||||
|
||||
## License
|
||||
|
|
|
@ -23,7 +23,7 @@ import java.util.*;
|
|||
public class YannakakisEQOracle<O> implements EquivalenceOracle.MealyEquivalenceOracle<String, O> {
|
||||
private final MembershipOracle<String, Word<O>> sulOracle;
|
||||
private final List<Alphabet<String>> alphabets;
|
||||
private final ProcessBuilder pb = new ProcessBuilder("/Users/joshua/Documents/PhD/Yannakakis/build/main", "--", "0", "3", "random");
|
||||
private final ProcessBuilder pb = new ProcessBuilder("/Users/joshua/Documents/PhD/Yannakakis/build/main", "--prefix", "buggy", "=", "random", "0", "3");
|
||||
|
||||
private int currentAlphabet = 0;
|
||||
private long bound = 100;
|
||||
|
|
|
@ -21,7 +21,7 @@ static size_t clamp_to_size_t(double x, size_t min, size_t max) {
|
|||
transfer_sequences create_transfer_sequences(transfer_options const & opt, const mealy & machine,
|
||||
state s, uint_fast32_t random_seed) {
|
||||
mt19937 generator(random_seed);
|
||||
uniform_int_distribution<double> dist(opt.q_min, opt.q_max);
|
||||
uniform_real_distribution<double> dist(opt.q_min, opt.q_max);
|
||||
|
||||
vector<bool> added(machine.graph_size, false);
|
||||
vector<word> words(machine.graph_size);
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
using namespace std;
|
||||
|
||||
static const char USAGE[] =
|
||||
R"(Generate a test suite
|
||||
R"(Generate a test suite. Use '=' as filename for stdin.
|
||||
|
||||
Usage:
|
||||
main [options] <filename> (all|fixed|random) <max k> <rnd length>
|
||||
|
@ -38,7 +38,7 @@ R"(Generate a test suite
|
|||
using time_logger = silent_timer;
|
||||
|
||||
int main(int argc, char *argv[]) try {
|
||||
const auto args = docopt::docopt(USAGE, {argv + 1, argv + argc}, true, "5 aug 11:00");
|
||||
const auto args = docopt::docopt(USAGE, {argv + 1, argv + argc}, true, "25 Nov 11:50");
|
||||
|
||||
const string filename = args.at("<filename>").asString();
|
||||
const bool use_stdio = filename == "=";
|
||||
|
|
|
@ -94,8 +94,8 @@ int main(int argc, char * argv[]) {
|
|||
const auto suffixes = suffixes_fut.get();
|
||||
for(state s = 0; s < suffixes.size(); ++s){
|
||||
clog << "suffixes for " << s << endl;
|
||||
for(auto s : suffixes[s].local_suffixes) {
|
||||
for(auto x : s){
|
||||
for(auto s2 : suffixes[s].local_suffixes) {
|
||||
for(auto x : s2){
|
||||
clog << x;
|
||||
}
|
||||
clog << endl;
|
||||
|
|
Loading…
Add table
Reference in a new issue