spot
1.2.6
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Groups
Pages
tgbaalgos
stats.hh
1
// -*- coding: utf-8 -*-
2
// Copyright (C) 2008, 2011, 2012, 2013 Laboratoire de Recherche et
3
// Développement de l'Epita (LRDE).
4
// Copyright (C) 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
5
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
6
// et Marie Curie.
7
//
8
// This file is part of Spot, a model checking library.
9
//
10
// Spot is free software; you can redistribute it and/or modify it
11
// under the terms of the GNU General Public License as published by
12
// the Free Software Foundation; either version 3 of the License, or
13
// (at your option) any later version.
14
//
15
// Spot is distributed in the hope that it will be useful, but WITHOUT
16
// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
17
// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
18
// License for more details.
19
//
20
// You should have received a copy of the GNU General Public License
21
// along with this program. If not, see <http://www.gnu.org/licenses/>.
22
23
#ifndef SPOT_TGBAALGOS_STATS_HH
24
# define SPOT_TGBAALGOS_STATS_HH
25
26
#include "tgba/tgba.hh"
27
#include <iosfwd>
28
#include "misc/formater.hh"
29
30
namespace
spot
31
{
32
35
36
struct
SPOT_API
tgba_statistics
37
{
38
unsigned
transitions;
39
unsigned
states;
40
41
tgba_statistics
() { transitions = 0; states = 0; }
42
std::ostream&
dump
(std::ostream& out)
const
;
43
};
44
45
struct
SPOT_API
tgba_sub_statistics
:
public
tgba_statistics
46
{
47
unsigned
sub_transitions;
48
49
tgba_sub_statistics
() { sub_transitions = 0; }
50
std::ostream&
dump
(std::ostream& out)
const
;
51
};
52
54
SPOT_API
tgba_statistics
stats_reachable
(
const
tgba
* g);
56
SPOT_API
tgba_sub_statistics
sub_stats_reachable
(
const
tgba
* g);
57
58
59
class
SPOT_API
printable_formula
:
public
printable_value
<const ltl::formula*>
60
{
61
public
:
62
printable_formula
&
63
operator=(
const
ltl::formula
* new_val)
64
{
65
val_ = new_val;
66
return
*
this
;
67
}
68
69
virtual
void
70
print(std::ostream& os,
const
char
*)
const
;
71
};
72
78
class
SPOT_API
stat_printer
:
protected
formater
79
{
80
public
:
81
stat_printer
(std::ostream& os,
const
char
* format);
82
87
std::ostream&
88
print(
const
tgba
* aut,
const
ltl::formula
* f = 0,
89
double
run_time = -1.);
90
91
private
:
92
const
char
* format_;
93
94
printable_formula
form_;
95
printable_value<unsigned>
states_;
96
printable_value<unsigned>
edges_;
97
printable_value<unsigned>
trans_;
98
printable_value<unsigned>
acc_;
99
printable_value<unsigned>
scc_;
100
printable_value<unsigned>
nondetstates_;
101
printable_value<unsigned>
deterministic_;
102
printable_value<unsigned>
complete_;
103
printable_value<double>
run_time_;
104
};
105
107
}
108
109
#endif // SPOT_TGBAALGOS_STATS_HH
Please direct any
question
,
comment
, or
bug report
to the Spot mailing list at
spot@lrde.epita.fr
.
Generated on Sat Dec 6 2014 12:28:44 for spot by
1.8.4