interactive testing
[gnucap-felix.git] / src / u_status.h
blobb10eae6270606e610b17d19c1ecb0d0eb6dfa57f
1 /*$Id: u_status.h,v 1.3 2009-12-13 17:55:02 felix Exp $ -*- C++ -*-
2 * Copyright (C) 2001 Albert Davis
3 * Author: Albert Davis <aldavis@gnu.org>
5 * This file is part of "Gnucap", the Gnu Circuit Analysis Package
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 3, or (at your option)
10 * any later version.
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
20 * 02110-1301, USA.
21 *------------------------------------------------------------------
22 * place to store all kinds of statistics
24 //testing=script 2006.07.14
25 #ifndef STATUS_H
26 #define STATUS_H
27 #include "mode.h"
28 #include "l_timer.h"
29 /*--------------------------------------------------------------------------*/
30 class CS;
31 /*--------------------------------------------------------------------------*/
32 class STATUS {
33 public:
34 void command(CS& cmd);
35 public:
36 TIMER get;
37 TIMER op;
38 TIMER dc;
39 TIMER ddc;
40 TIMER tran;
41 TIMER ttt;
42 TIMER four;
43 TIMER ac;
44 TIMER set_up;
45 TIMER order;
46 TIMER advance;
47 TIMER tt_advance;
48 TIMER queue;
49 TIMER evaluate;
50 TIMER load;
51 TIMER lud;
52 TIMER back;
53 TIMER review;
54 TIMER accept;
55 TIMER output;
56 mutable TIMER overhead;
57 TIMER aux1;
58 TIMER aux2;
59 TIMER aux3;
60 TIMER total;
61 int control;
62 int control_tt;
63 unsigned hidden_steps;
64 int hidden_steps_tt;
65 int tt_tries;
67 void compute_overhead()const {
68 overhead = total - advance - queue - evaluate - load - lud - back
69 - output - review - accept;
72 explicit STATUS() :
73 get("get"),
74 op("op"),
75 dc("dc"),
76 tran("tran"),
77 four("fourier"),
78 ac("ac"),
79 set_up("setup"),
80 order("order"),
81 advance("advance"),
82 queue("queue"),
83 evaluate("evaluate"),
84 load("load"),
85 lud("lu"),
86 back("back"),
87 review("review"),
88 accept("accept"),
89 output("output"),
90 overhead("overhead"),
91 aux1("aux1"),
92 aux2("aux2"),
93 aux3("aux3"),
94 total("total"),
95 control(0),
96 control_tt(0),
97 hidden_steps(0),
98 hidden_steps_tt(0)
101 ~STATUS() {}
102 private:
103 explicit STATUS(const STATUS&) {unreachable(); incomplete();}
105 /*--------------------------------------------------------------------------*/
106 extern INTERFACE STATUS status;
107 /*--------------------------------------------------------------------------*/
108 /*--------------------------------------------------------------------------*/
109 #endif
110 // vim:ts=8:sw=2:noet: