Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

Histogram.H

Go to the documentation of this file.
00001 // Copyright (C) 2001, Compaq Computer Corporation
00002 // 
00003 // This file is part of Vesta.
00004 // 
00005 // Vesta is free software; you can redistribute it and/or
00006 // modify it under the terms of the GNU Lesser General Public
00007 // License as published by the Free Software Foundation; either
00008 // version 2.1 of the License, or (at your option) any later version.
00009 // 
00010 // Vesta is distributed in the hope that it will be useful,
00011 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00012 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013 // Lesser General Public License for more details.
00014 // 
00015 // You should have received a copy of the GNU Lesser General Public
00016 // License along with Vesta; if not, write to the Free Software
00017 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00018 
00019 // Last modified on Thu Aug  5 10:48:12 EDT 2004 by ken@xorian.net
00020 //      modified on Tue Apr 30 11:15:20 PDT 1996 by heydon
00021 
00022 #ifndef HISTOGRAM_H
00023 #define HISTOGRAM_H
00024 
00025 #include <Basics.H>
00026 
00027 // A class for storing a histogram; its methods are unmonitored
00028 class Histogram {
00029 public:
00030   Histogram(int gran) throw ()
00031     : numVals(0), gran(gran), bucket(NULL), numBuckets(0), firstBucket(0)
00032   { /*SKIP*/ }
00033   /* Initialize a new histogram with a granularity of "gran" units. */
00034 
00035   void AddVal(int t) throw ();
00036   /* Add a new value to the histogram corresponding to "t" units. */
00037 
00038   void Print(std::ostream &os, int width = 78) const throw ();
00039   /* Print a representation of the histogram to "os" using a screen
00040      width of "width". */
00041 
00042 private:
00043   int numVals;      // total number of values added to this histogram
00044   int gran;         // histogram granularity
00045   int numBuckets;   // size of "bucket" array
00046   int *bucket;      // array of counts
00047   int firstBucket;  // min val of first bucket / gran
00048 };
00049 
00050 #endif // HISTOGRAM_H

Generated on Mon May 8 00:48:30 2006 for Vesta by  doxygen 1.4.2