* src/misc/bddalloc.hh: Make all methods public.
* wrap/python/spot.i: Include misc/bddalloc.hh and misc/minato.hh. * wrap/python/tests/minato.py: New file. * wrap/python/tests/Makefile.am (TESTS): Add minato.py.
This commit is contained in:
parent
e0b15c6f67
commit
c46204dfad
5 changed files with 63 additions and 5 deletions
|
|
@ -1,5 +1,10 @@
|
||||||
2004-02-02 Alexandre Duret-Lutz <adl@gnu.org>
|
2004-02-02 Alexandre Duret-Lutz <adl@gnu.org>
|
||||||
|
|
||||||
|
* src/misc/bddalloc.hh: Make all methods public.
|
||||||
|
* wrap/python/spot.i: Include misc/bddalloc.hh and misc/minato.hh.
|
||||||
|
* wrap/python/tests/minato.py: New file.
|
||||||
|
* wrap/python/tests/Makefile.am (TESTS): Add minato.py.
|
||||||
|
|
||||||
* src/tgbatest/explicit.cc, src/tgbatest/explprod.cc,
|
* src/tgbatest/explicit.cc, src/tgbatest/explprod.cc,
|
||||||
src/tgbatest/ltl2tgba.cc, src/tgbatest/ltlprod.cc,
|
src/tgbatest/ltl2tgba.cc, src/tgbatest/ltlprod.cc,
|
||||||
src/tgbatest/mixprod.cc, src/tgbatest/powerset.cc,
|
src/tgbatest/mixprod.cc, src/tgbatest/powerset.cc,
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
// Copyright (C) 2003 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.
|
||||||
//
|
//
|
||||||
|
|
@ -31,7 +31,7 @@ namespace spot
|
||||||
/// Manage ranges of variables.
|
/// Manage ranges of variables.
|
||||||
class bdd_allocator
|
class bdd_allocator
|
||||||
{
|
{
|
||||||
protected:
|
public:
|
||||||
/// Default constructor.
|
/// Default constructor.
|
||||||
bdd_allocator();
|
bdd_allocator();
|
||||||
/// Initialize the BDD library.
|
/// Initialize the BDD library.
|
||||||
|
|
@ -40,7 +40,7 @@ namespace spot
|
||||||
int allocate_variables(int n);
|
int allocate_variables(int n);
|
||||||
/// Release \a n BDD variables starting at \a base.
|
/// Release \a n BDD variables starting at \a base.
|
||||||
void release_variables(int base, int n);
|
void release_variables(int base, int n);
|
||||||
|
protected:
|
||||||
static bool initialized; ///< Whether the BDD library has been initialized.
|
static bool initialized; ///< Whether the BDD library has been initialized.
|
||||||
static int varnum; ///< number of variables in use in the BDD library.
|
static int varnum; ///< number of variables in use in the BDD library.
|
||||||
int lvarnum; ///< number of variables in use in this allocator.
|
int lvarnum; ///< number of variables in use in this allocator.
|
||||||
|
|
|
||||||
|
|
@ -32,6 +32,8 @@
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
|
|
||||||
#include "misc/version.hh"
|
#include "misc/version.hh"
|
||||||
|
#include "misc/bddalloc.hh"
|
||||||
|
#include "misc/minato.hh"
|
||||||
|
|
||||||
#include "ltlast/formula.hh"
|
#include "ltlast/formula.hh"
|
||||||
#include "ltlast/refformula.hh"
|
#include "ltlast/refformula.hh"
|
||||||
|
|
@ -83,6 +85,8 @@ using namespace spot;
|
||||||
%}
|
%}
|
||||||
|
|
||||||
%include "misc/version.hh"
|
%include "misc/version.hh"
|
||||||
|
%include "misc/bddalloc.hh"
|
||||||
|
%include "misc/minato.hh"
|
||||||
|
|
||||||
%include "ltlast/formula.hh"
|
%include "ltlast/formula.hh"
|
||||||
%include "ltlast/refformula.hh"
|
%include "ltlast/refformula.hh"
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
## Copyright (C) 2003 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.
|
||||||
##
|
##
|
||||||
|
|
@ -32,4 +32,5 @@ TESTS = \
|
||||||
ltlparse.py \
|
ltlparse.py \
|
||||||
bddnqueen.py \
|
bddnqueen.py \
|
||||||
ltl2tgba.test \
|
ltl2tgba.test \
|
||||||
interdep.py
|
interdep.py \
|
||||||
|
minato.py
|
||||||
|
|
|
||||||
48
wrap/python/tests/minato.py
Executable file
48
wrap/python/tests/minato.py
Executable file
|
|
@ -0,0 +1,48 @@
|
||||||
|
# -*- mode: python; coding: iso-8859-1 -*-
|
||||||
|
# Copyright (C) 2004 Laboratoire d'Informatique de Paris 6 (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.
|
||||||
|
#
|
||||||
|
# Spot is free software; you can redistribute it and/or modify it
|
||||||
|
# under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# Spot is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||||
|
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
|
||||||
|
# License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with Spot; see the file COPYING. If not, write to the Free
|
||||||
|
# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||||
|
# 02111-1307, USA.
|
||||||
|
|
||||||
|
import ltihooks
|
||||||
|
import spot
|
||||||
|
import buddy
|
||||||
|
import sys
|
||||||
|
|
||||||
|
alloc = spot.bdd_allocator()
|
||||||
|
|
||||||
|
alloc.allocate_variables(3)
|
||||||
|
|
||||||
|
a = buddy.bdd_ithvar(0)
|
||||||
|
b = buddy.bdd_ithvar(1)
|
||||||
|
c = buddy.bdd_ithvar(2)
|
||||||
|
|
||||||
|
w = -a & -b | -c & b | a & -b
|
||||||
|
|
||||||
|
isop = spot.minato_isop(w)
|
||||||
|
|
||||||
|
i = isop.next()
|
||||||
|
l = []
|
||||||
|
while i != buddy.bddfalse:
|
||||||
|
buddy.bdd_printset(i)
|
||||||
|
print
|
||||||
|
l.append(i)
|
||||||
|
i = isop.next()
|
||||||
|
|
||||||
|
sys.exit(l == [-a, -c])
|
||||||
Loading…
Add table
Add a link
Reference in a new issue