* iface/gspn/dcswavefm.test: New file.

* iface/gspn/Makefile.am (check_PROGRAMS): Add fmgspn-rg and
fmgspn-srg.
(fmgspn_rg_SOURCES, fmgspn_rg_CPPFLAGS, fmgspn_rg_LDADD,
fmgspn_srg_SOURCES, fmgspn_srg_CPPFLAGS, fmgspn_srg_LDADD):
New variables.
(TESTS): Add dcswavefm.test.
This commit is contained in:
Alexandre Duret-Lutz 2003-08-20 09:56:12 +00:00
parent 138ce95cca
commit e238135bc1
4 changed files with 43 additions and 2 deletions

View file

@ -1,3 +1,13 @@
2003-08-20 Alexandre Duret-Lutz <aduret@src.lip6.fr>
* iface/gspn/dcswavefm.test: New file.
* iface/gspn/Makefile.am (check_PROGRAMS): Add fmgspn-rg and
fmgspn-srg.
(fmgspn_rg_SOURCES, fmgspn_rg_CPPFLAGS, fmgspn_rg_LDADD,
fmgspn_srg_SOURCES, fmgspn_srg_CPPFLAGS, fmgspn_srg_LDADD):
New variables.
(TESTS): Add dcswavefm.test.
2003-08-19 Alexandre Duret-Lutz <aduret@src.lip6.fr> 2003-08-19 Alexandre Duret-Lutz <aduret@src.lip6.fr>
* src/ltlast/formula.hh: Make it clear that ref() and unref() * src/ltlast/formula.hh: Make it clear that ref() and unref()

View file

@ -15,7 +15,9 @@ check_PROGRAMS = \
dottygspn-rg \ dottygspn-rg \
dottygspn-srg \ dottygspn-srg \
ltlgspn-rg \ ltlgspn-rg \
ltlgspn-srg ltlgspn-srg \
fmgspn-rg \
fmgspn-srg
dottygspn_rg_SOURCES = dottygspn.cc dottygspn_rg_SOURCES = dottygspn.cc
dottygspn_rg_LDADD = libspotgspn.la $(LIBGSPNRG_LDFLAGS) dottygspn_rg_LDADD = libspotgspn.la $(LIBGSPNRG_LDFLAGS)
@ -29,6 +31,14 @@ ltlgspn_rg_LDADD = libspotgspn.la $(LIBGSPNRG_LDFLAGS)
ltlgspn_srg_SOURCES = ltlgspn.cc ltlgspn_srg_SOURCES = ltlgspn.cc
ltlgspn_srg_LDADD = libspotgspn.la $(LIBGSPNSRG_LDFLAGS) ltlgspn_srg_LDADD = libspotgspn.la $(LIBGSPNSRG_LDFLAGS)
fmgspn_rg_SOURCES = ltlgspn.cc
fmgspn_rg_CPPFLAGS = -DFM $(AM_CPPFLAGS)
fmgspn_rg_LDADD = libspotgspn.la $(LIBGSPNRG_LDFLAGS)
fmgspn_srg_SOURCES = ltlgspn.cc
fmgspn_srg_CPPFLAGS = -DFM $(AM_CPPFLAGS)
fmgspn_srg_LDADD = libspotgspn.la $(LIBGSPNSRG_LDFLAGS)
EXTRA_DIST = \ EXTRA_DIST = \
examples/DCSwave/DCSWave.def \ examples/DCSwave/DCSWave.def \
examples/DCSwave/DCSWave.net \ examples/DCSwave/DCSWave.net \
@ -41,7 +51,8 @@ EXTRA_DIST = \
TESTS = \ TESTS = \
simple.test \ simple.test \
dcswave.test \ dcswave.test \
dcswaveltl.test dcswaveltl.test \
dcswavefm.test
# Each test case depends on defs. # Each test case depends on defs.
check_SCRIPTS = defs check_SCRIPTS = defs

15
iface/gspn/dcswavefm.test Executable file
View file

@ -0,0 +1,15 @@
#! /bin/sh
. ./defs || exit 1
set -e
cp -R $srcdir/examples/DCSwave .
chmod +w DCSwave
# G(ATTiIDLj => F(!SCj U SCi)) is true
../fmgspn-srg DCSwave/DCSWave '!G(ATTiIDLj => F(!SCj U SCi))' ATTiIDLj SCi SCj > output
# G(F(!SCj U SCi)) is false
../fmgspn-srg DCSwave/DCSWave '!G(F(!SCj U SCi))' ATTiIDLj SCi SCj > output \
|| test $? = 1

View file

@ -4,6 +4,7 @@
#include "tgba/tgbatba.hh" #include "tgba/tgbatba.hh"
#include "tgba/tgbaproduct.hh" #include "tgba/tgbaproduct.hh"
#include "tgbaalgos/ltl2tgba.hh" #include "tgbaalgos/ltl2tgba.hh"
#include "tgbaalgos/ltl2tgba_fm.hh"
#include "tgbaalgos/magic.hh" #include "tgbaalgos/magic.hh"
int int
@ -34,7 +35,11 @@ main(int argc, char **argv)
spot::gspn_interface gspn(2, argv); spot::gspn_interface gspn(2, argv);
spot::bdd_dict* dict = new spot::bdd_dict(); spot::bdd_dict* dict = new spot::bdd_dict();
#if FM
spot::tgba* a_f = spot::ltl_to_tgba_fm(f, dict);
#else
spot::tgba* a_f = spot::ltl_to_tgba(f, dict); spot::tgba* a_f = spot::ltl_to_tgba(f, dict);
#endif
spot::ltl::destroy(f); spot::ltl::destroy(f);
spot::tgba* model = new spot::tgba_gspn(dict, env); spot::tgba* model = new spot::tgba_gspn(dict, env);