OpenWalnut  1.4.0
Public Member Functions | Private Attributes
WHistogramBasic Class Reference

Container which associate values with (uniform width) bins (aka intervals or buckets). More...

#include <WHistogramBasic.h>

+ Inheritance diagram for WHistogramBasic:

List of all members.

Public Member Functions

 WHistogramBasic (double min, double max, size_t buckets=1000)
 Default constructor.
 WHistogramBasic (const WHistogramBasic &hist)
 Copy constructor.
 ~WHistogramBasic ()
 Default destructor.
virtual size_t operator[] (size_t index) const
 Get the count of the specified bucket.
virtual size_t at (size_t index) const
 Get the count of the specified bucket.
virtual double getBucketSize (size_t index=0) const
 Return the size of one specific bucket.
virtual std::pair< double, double > getIntervalForIndex (size_t index) const
 Returns the actual interval associated with the given index.
size_t valuesSize () const
 Computes the number of inserted values so far.
virtual void insert (double value)
 Inserts a given value within the given range (min, max) into exactly one bin and increment its size.

Private Attributes

std::vector< size_tm_bins
 Bins to associate with the values.
double m_intervalWidth
 The width of an interval is precomputed to save performance.

Detailed Description

Container which associate values with (uniform width) bins (aka intervals or buckets).

This class implements a very simple and easy to use generic histogram with uniform bucket sizes.

Definition at line 38 of file WHistogramBasic.h.


Constructor & Destructor Documentation

WHistogramBasic::WHistogramBasic ( double  min,
double  max,
size_t  buckets = 1000 
)

Default constructor.

Creates an empty histogram covering the specified min and max values with the specified number of buckets.

Parameters:
minthe smallest value
maxthe largest value
bucketsthe number of buckets

Definition at line 35 of file WHistogramBasic.cpp.

Copy constructor.

Creates a deep copy of the specified histogram.

Parameters:
histthe histogram to copy.

Definition at line 42 of file WHistogramBasic.cpp.

Default destructor.

Definition at line 50 of file WHistogramBasic.cpp.


Member Function Documentation

size_t WHistogramBasic::at ( size_t  index) const [virtual]

Get the count of the specified bucket.

Testing if the position is valid.

Parameters:
indexwhich buckets count is to be returned; starts with 0 which is the bucket containing the smallest values.
Returns:
elements in the bucket

Implements WHistogram.

Definition at line 59 of file WHistogramBasic.cpp.

References wlog::error(), and m_bins.

double WHistogramBasic::getBucketSize ( size_t  index = 0) const [virtual]

Return the size of one specific bucket.

Parameters:
indexthe width for this bucket is queried.
Returns:
the size of a bucket.

Implements WHistogram.

Definition at line 69 of file WHistogramBasic.cpp.

References m_intervalWidth.

std::pair< double, double > WHistogramBasic::getIntervalForIndex ( size_t  index) const [virtual]

Returns the actual interval associated with the given index.

The interval is open, meaning that getIntervalForIndex( i ).second == getIntervalForIndex( i + 1 ).first but does not belong anymore to the interval itself but every value smaller than getIntervalForIndex( i ).second.

Parameters:
indexthe intex
Returns:
the open interval.

Implements WHistogram.

Definition at line 74 of file WHistogramBasic.cpp.

References m_intervalWidth, and WHistogram::m_minimum.

void WHistogramBasic::insert ( double  value) [virtual]
size_t WHistogramBasic::operator[] ( size_t  index) const [virtual]

Get the count of the specified bucket.

Parameters:
indexwhich buckets count is to be returned; starts with 0 which is the bucket containing the smallest values.
Returns:
elements in the bucket.

Implements WHistogram.

Definition at line 54 of file WHistogramBasic.cpp.

References m_bins.

Computes the number of inserted values so far.

Returns:
Number of values so far.

Definition at line 104 of file WHistogramBasic.cpp.

References m_bins.

Referenced by WHistogramBasicTest::testInitialization(), WHistogramBasicTest::testInsert(), and WHistogramBasicTest::testOperatorToGetNumberOfElementsInsideTheBin().


Member Data Documentation

std::vector< size_t > WHistogramBasic::m_bins [private]

Bins to associate with the values.

Each bin has the width of m_intervalWidth;

Definition at line 119 of file WHistogramBasic.h.

Referenced by at(), insert(), operator[](), and valuesSize().

The width of an interval is precomputed to save performance.

Definition at line 124 of file WHistogramBasic.h.

Referenced by getBucketSize(), getIntervalForIndex(), and insert().


The documentation for this class was generated from the following files: