]> git.mxchange.org Git - simgear.git/blob - simgear/structure/SGSmplstat.hxx
1d1e8d57e1c498bc6c9444134b5e86c3b0301b96
[simgear.git] / simgear / structure / SGSmplstat.hxx
1 // This may look like C code, but it is really -*- C++ -*-
2 /* 
3 Copyright (C) 1988 Free Software Foundation
4     written by Dirk Grunwald (grunwald@cs.uiuc.edu)
5
6 This file is part of the GNU C++ Library.  This library is free
7 software; you can redistribute it and/or modify it under the terms of
8 the GNU Library General Public License as published by the Free
9 Software Foundation; either version 2 of the License, or (at your
10 option) any later version.  This library is distributed in the hope
11 that it will be useful, but WITHOUT ANY WARRANTY; without even the
12 implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
13 PURPOSE.  See the GNU Library General Public License for more details.
14 You should have received a copy of the GNU Library General Public
15 License along with this library; if not, write to the Free Software
16 Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
17 */
18 #ifndef SampleStatistic_h
19 #ifdef __GNUG__
20 #pragma interface
21 #endif
22 #define SampleStatistic_h 1
23
24
25 #undef min
26 #undef max
27
28 using namespace std;
29
30 class SampleStatistic
31 {
32 protected:
33   int n;
34   double x;
35   double x2;
36   double minValue, maxValue;
37
38 public:  SampleStatistic ();
39   inline virtual ~ SampleStatistic ();
40   virtual void reset ();
41
42   virtual void operator += (double);
43   int samples () const;
44   double mean () const;
45   double stdDev () const;
46   double var () const;
47   double min () const;
48   double max () const;
49   double confidence (int p_percentage) const;
50   double confidence (double p_value) const;
51
52   void error (const char *msg);
53 };
54
55 // error handlers
56
57 //extern void default_SampleStatistic_error_handler (const char *);
58 //extern one_arg_error_handler_t SampleStatistic_error_handler;
59
60 //extern one_arg_error_handler_t
61 //set_SampleStatistic_error_handler (one_arg_error_handler_t f);
62
63 inline SampleStatistic::SampleStatistic ()
64 {
65   reset ();
66 }
67 inline int SampleStatistic::samples () const
68 {
69   return (n);
70 }
71 inline double SampleStatistic::min () const
72 {
73   return (minValue);
74 }
75 inline double SampleStatistic::max () const
76 {
77   return (maxValue);
78 }
79
80 inline SampleStatistic::~SampleStatistic ()
81 {
82 }
83
84 #endif