spot
1.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
tgba
tgbakvcomplement.hh
Go to the documentation of this file.
1
// Copyright (C) 2009, 2010 Laboratoire de Recherche et Développement
2
// de l'Epita (LRDE).
3
//
4
// This file is part of Spot, a model checking library.
5
//
6
// Spot is free software; you can redistribute it and/or modify it
7
// under the terms of the GNU General Public License as published by
8
// the Free Software Foundation; either version 3 of the License, or
9
// (at your option) any later version.
10
//
11
// Spot is distributed in the hope that it will be useful, but WITHOUT
12
// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13
// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
14
// License for more details.
15
//
16
// You should have received a copy of the GNU General Public License
17
// along with this program. If not, see <http://www.gnu.org/licenses/>.
18
19
#ifndef SPOT_TGBA_TGBAKVCOMPLEMENT_HH
20
#define SPOT_TGBA_TGBAKVCOMPLEMENT_HH
21
22
#include <vector>
23
#include "bdd.h"
24
#include "
tgba.hh
"
25
#include "
tgba/tgbasgba.hh
"
26
27
namespace
spot
28
{
29
class
bdd_ordered
30
{
31
public
:
32
bdd_ordered
()
33
:
order_
(0)
34
{};
35
36
bdd_ordered
(
int
bdd_
,
unsigned
order_
)
37
: bdd_(bdd_), order_(order_)
38
{
39
}
40
41
unsigned
order
()
const
42
{
43
return
order_
;
44
}
45
46
unsigned
&
order
()
47
{
48
return
order_
;
49
}
50
51
bdd
get_bdd
()
const
52
{
53
return
bdd_ithvar(
bdd_
);
54
}
55
private
:
56
int
bdd_
;
57
unsigned
order_
;
58
};
59
60
typedef
std::vector<bdd_ordered>
acc_list_t
;
61
85
class
tgba_kv_complement
:
public
tgba
86
{
87
public
:
88
tgba_kv_complement
(
const
tgba
* a);
89
virtual
~tgba_kv_complement
();
90
91
// tgba interface
92
virtual
state
*
get_init_state
()
const
;
93
virtual
tgba_succ_iterator
*
94
succ_iter
(
const
state
* local_state,
95
const
state
* global_state = 0,
96
const
tgba
* global_automaton = 0)
const
;
97
98
virtual
bdd_dict
*
get_dict
()
const
;
99
virtual
std::string
format_state
(
const
state
*
state
)
const
;
100
virtual
bdd
all_acceptance_conditions
()
const
;
101
virtual
bdd
neg_acceptance_conditions
()
const
;
102
protected
:
103
virtual
bdd
compute_support_conditions
(
const
state* state)
const
;
104
virtual
bdd
compute_support_variables
(
const
state* state)
const
;
105
private
:
108
void
get_acc_list
();
109
private
:
110
const
tgba_sgba_proxy
*
automaton_
;
111
bdd
the_acceptance_cond_
;
112
unsigned
nb_states_
;
113
acc_list_t
acc_list_
;
114
};
// end class tgba_kv_complement.
115
116
}
// end namespace spot.
117
118
119
#endif // !SPOT_TGBA_TGBAKVCOMPLEMENT_HH
Please
comment
this page and
report errors
about it on
the RefDocComments page
.
Generated on Sat Oct 27 2012 09:34:32 for spot by
1.8.1.2