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