spot
0.9.2
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 2 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 Spot; see the file COPYING. If not, write to the Free
18
// Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
19
// 02111-1307, USA.
20
21
#ifndef SPOT_TGBA_TGBAKVCOMPLEMENT_HH
22
#define SPOT_TGBA_TGBAKVCOMPLEMENT_HH
23
24
#include <vector>
25
#include "bdd.h"
26
#include "
tgba.hh
"
27
#include "
tgba/tgbasgba.hh
"
28
29
namespace
spot
30
{
31
class
bdd_ordered
32
{
33
public
:
34
bdd_ordered
()
35
:
order_
(0)
36
{};
37
38
bdd_ordered
(
int
bdd_
,
unsigned
order_
)
39
: bdd_(bdd_), order_(order_)
40
{
41
}
42
43
unsigned
order
()
const
44
{
45
return
order_
;
46
}
47
48
unsigned
&
order
()
49
{
50
return
order_
;
51
}
52
53
bdd
get_bdd
()
const
54
{
55
return
bdd_ithvar(
bdd_
);
56
}
57
private
:
58
int
bdd_
;
59
unsigned
order_
;
60
};
61
62
typedef
std::vector<bdd_ordered>
acc_list_t
;
63
87
class
tgba_kv_complement
:
public
tgba
88
{
89
public
:
90
tgba_kv_complement
(
const
tgba
* a);
91
virtual
~tgba_kv_complement
();
92
93
// tgba interface
94
virtual
state
*
get_init_state
()
const
;
95
virtual
tgba_succ_iterator
*
96
succ_iter
(
const
state
* local_state,
97
const
state
* global_state = 0,
98
const
tgba
* global_automaton = 0)
const
;
99
100
virtual
bdd_dict
*
get_dict
()
const
;
101
virtual
std::string
format_state
(
const
state
*
state
)
const
;
102
virtual
bdd
all_acceptance_conditions
()
const
;
103
virtual
bdd
neg_acceptance_conditions
()
const
;
104
protected
:
105
virtual
bdd
compute_support_conditions
(
const
state* state)
const
;
106
virtual
bdd
compute_support_variables
(
const
state* state)
const
;
107
private
:
110
void
get_acc_list
();
111
private
:
112
const
tgba_sgba_proxy
*
automaton_
;
113
bdd
the_acceptance_cond_
;
114
unsigned
nb_states_
;
115
acc_list_t
acc_list_
;
116
};
// end class tgba_kv_complement.
117
118
}
// end namespace spot.
119
120
121
#endif // !SPOT_TGBA_TGBAKVCOMPLEMENT_HH
Please
comment
this page and
report errors
about it on
the RefDocComments page
.
Generated on Mon Jul 2 2012 17:35:47 for spot by
1.8.1.1