spot  2.0.3
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
stats.hh
1 // -*- coding: utf-8 -*-
2 // Copyright (C) 2008, 2011, 2012, 2013, 2014, 2015 Laboratoire de
3 // Recherche et 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 #pragma once
24 
25 #include <spot/twa/twa.hh>
26 #include <iosfwd>
27 #include <spot/misc/formater.hh>
28 
29 namespace spot
30 {
31 
34 
35  struct SPOT_API twa_statistics
36  {
37  unsigned edges;
38  unsigned states;
39 
40  twa_statistics() { edges = 0; states = 0; }
41  std::ostream& dump(std::ostream& out) const;
42  };
43 
44  struct SPOT_API twa_sub_statistics: public twa_statistics
45  {
46  unsigned transitions;
47 
48  twa_sub_statistics() { transitions = 0; }
49  std::ostream& dump(std::ostream& out) const;
50  };
51 
53  SPOT_API twa_statistics stats_reachable(const const_twa_ptr& g);
55  SPOT_API twa_sub_statistics sub_stats_reachable(const const_twa_ptr& g);
56 
57 
58  class SPOT_API printable_formula: public printable_value<formula>
59  {
60  public:
62  operator=(formula new_val)
63  {
64  val_ = new_val;
65  return *this;
66  }
67 
68  virtual void
69  print(std::ostream& os, const char*) const;
70  };
71 
77  class SPOT_API stat_printer: protected formater
78  {
79  public:
80  stat_printer(std::ostream& os, const char* format);
81 
86  std::ostream&
87  print(const const_twa_graph_ptr& aut, formula f = nullptr,
88  double run_time = -1.);
89 
90  private:
91  const char* format_;
92 
93  printable_formula form_;
99  printable_value<unsigned> nondetstates_;
100  printable_value<unsigned> deterministic_;
101  printable_value<unsigned> complete_;
102  printable_value<double> run_time_;
104  };
105 
107 }
Definition: graph.hh:32
twa_sub_statistics sub_stats_reachable(const const_twa_ptr &g)
Compute sub statistics for an automaton.
Definition: formater.hh:42
Main class for temporal logic formula.
Definition: formula.hh:650
prints various statistics about a TGBA
Definition: stats.hh:77
twa_statistics stats_reachable(const const_twa_ptr &g)
Compute statistics for an automaton.
Definition: stats.hh:35
Definition: stats.hh:58
Definition: formater.hh:104
Definition: stats.hh:44

Please direct any question, comment, or bug report to the Spot mailing list at spot@lrde.epita.fr.
Generated on Mon Jul 11 2016 09:54:34 for spot by doxygen 1.8.8