Adding python functions to mirror the functionalities found in src/bin
* wrap/python/spot.i: Rename to... * wrap/python/spot_impl.i: ...this, and import spot_impl from spot.py so that it is not needed to recompile everything when modifying python code. * wrap/python/spot.py: Adding python functions to mirror the functionalities found in src/bin. * src/bin/common_r.cc: Move simplification level... * src/ltlvisit/simplify.hh: ... here as a constructor of ltl_simplifier_options, to make it available in wrap/python. * src/bin/ltlfilt.cc: Set simplification level using the new ltl_simplifier_options constructor. * src/bin/randltl.cc: Move most of the code... * src/ltlvisit/randomltl.cc, src/ltlvisit/randomltl.hh: ... here, as a class named randltlgenerator. * wrap/python/tests/bddnqueen.py, wrap/python/tests/minato.py: Avoid calling bdd_init twice by moving 'import spot' after bdd initialization. * wrap/python/Makefile.am: Rename spot to spot_impl * wrap/python/tests/Makefile.am: Add ipnbdoctest.py. * wrap/python/.gitignore: Rename spot.py to spot_impl.py * src/ltlvisit/tostring.cc: \ttrue and \ffalse should be \top and \bot. * wrap/python/tests/ipnbdoctest.py: Run code cells of a python notebook and compare the output to the actual content of the notebook. * wrap/python/tests/randltl.ipynb: Document and test randltl. * wrap/python/tests/run.in: Call ipnbdoctest.py to run ipython notebooks.
This commit is contained in:
parent
cb9867b7d4
commit
3bf3d2c8a1
17 changed files with 1528 additions and 257 deletions
|
|
@ -1,6 +1,6 @@
|
|||
// -*- coding: utf-8 -*-
|
||||
// Copyright (C) 2010, 2011, 2012, 2013 Laboratoire de Recherche et
|
||||
// Développement de l'Epita (LRDE).
|
||||
// Copyright (C) 2010, 2011, 2012, 2013, 2014 Laboratoire de Recherche
|
||||
// et Développement de l'Epita (LRDE).
|
||||
// Copyright (C) 2005 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||
// et Marie Curie.
|
||||
|
|
@ -26,6 +26,17 @@
|
|||
#include "apcollect.hh"
|
||||
#include <iosfwd>
|
||||
|
||||
#include <unordered_set>
|
||||
#include "misc/optionmap.hh"
|
||||
#include "misc/hash.hh"
|
||||
#include "simplify.hh"
|
||||
|
||||
#define OUTPUTBOOL 1
|
||||
#define OUTPUTLTL 2
|
||||
#define OUTPUTSERE 3
|
||||
#define OUTPUTPSL 4
|
||||
#define MAX_TRIALS 100000
|
||||
|
||||
namespace spot
|
||||
{
|
||||
namespace ltl
|
||||
|
|
@ -292,10 +303,64 @@ namespace spot
|
|||
random_sere rs;
|
||||
};
|
||||
|
||||
class SPOT_API randltlgenerator
|
||||
{
|
||||
typedef
|
||||
std::unordered_set<const spot::ltl::formula*,
|
||||
const spot::ptr_hash<const spot::ltl::formula>> fset_t;
|
||||
|
||||
|
||||
public:
|
||||
randltlgenerator(int aprops_n, option_map& opts,
|
||||
char* opt_pL = nullptr,
|
||||
char* opt_pS = nullptr,
|
||||
char* opt_pB = nullptr);
|
||||
|
||||
randltlgenerator(atomic_prop_set aprops, option_map& opts,
|
||||
char* opt_pL = nullptr,
|
||||
char* opt_pS = nullptr,
|
||||
char* opt_pB = nullptr);
|
||||
|
||||
void construct(atomic_prop_set aprops, option_map& opts,
|
||||
char* opt_pL, char* opt_pS,
|
||||
char* opt_pB);
|
||||
|
||||
~randltlgenerator();
|
||||
|
||||
const spot::ltl::formula* next();
|
||||
|
||||
void dump_ltl_priorities(std::ostream& os);
|
||||
|
||||
void dump_bool_priorities(std::ostream& os);
|
||||
|
||||
void dump_psl_priorities(std::ostream& os);
|
||||
|
||||
void dump_sere_priorities(std::ostream& os);
|
||||
|
||||
void dump_sere_bool_priorities(std::ostream& os);
|
||||
|
||||
void remove_some_props(atomic_prop_set& s);
|
||||
|
||||
const formula* GF_n();
|
||||
|
||||
private:
|
||||
fset_t unique_set_;
|
||||
atomic_prop_set aprops_;
|
||||
|
||||
int opt_seed_;
|
||||
int opt_tree_size_min_;
|
||||
int opt_tree_size_max_;
|
||||
bool opt_unique_;
|
||||
bool opt_wf_;
|
||||
int opt_simpl_level_;
|
||||
ltl_simplifier simpl_;
|
||||
|
||||
int output_;
|
||||
|
||||
random_formula* rf_ = 0;
|
||||
random_psl* rp_ = 0;
|
||||
random_sere* rs_ = 0;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#endif // SPOT_LTLVIST_RANDOMLTL_HH
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue