1 // This may look like C code, but it is really -*- C++ -*-
3 Copyright (C) 1988 Free Software Foundation
4 written by Dirk Grunwald (grunwald@cs.uiuc.edu)
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.
20 #include <simgear_config.h>
22 #ifndef SampleHistogram_h
26 #define SampleHistogram_h 1
30 #include "SGSmplstat.hxx"
32 extern const int SampleHistogramMinimum;
33 extern const int SampleHistogramMaximum;
35 class SampleHistogram:public SampleStatistic
44 SampleHistogram (double low, double hi, double bucketWidth = -1.0);
48 virtual void reset ();
49 virtual void operator += (double);
51 int similarSamples (double);
55 double bucketThreshold (int i);
57 void printBuckets (std::ostream &);
62 inline int SampleHistogram::buckets ()
64 return (howManyBuckets);
67 inline double SampleHistogram::bucketThreshold (int i)
69 if (i < 0 || i >= howManyBuckets)
70 error ("invalid bucket access");
71 return (bucketLimit[i]);
74 inline int SampleHistogram::inBucket (int i)
76 if (i < 0 || i >= howManyBuckets)
77 error ("invalid bucket access");
78 return (bucketCount[i]);