25 #ifndef WVALUESETHISTOGRAM_H
26 #define WVALUESETHISTOGRAM_H
32 #include <boost/shared_ptr.hpp>
33 #include <boost/scoped_array.hpp>
34 #include <boost/shared_array.hpp>
36 #include "../../common/WHistogram.h"
37 #include "../WValueSet.h"
38 #include "../WExportDataHandler.h"
57 explicit WValueSetHistogram( boost::shared_ptr< WValueSetBase > valueSet,
size_t buckets = 1000 );
77 WValueSetHistogram( boost::shared_ptr< WValueSetBase > valueSet,
double min,
double max,
size_t buckets = 1000 );
122 virtual size_t operator[](
size_t index )
const;
131 virtual size_t at(
size_t index )
const;
138 virtual size_t size()
const;
168 virtual size_t getIndexForValue(
double value )
const;
175 virtual size_t getTotalElementCount()
const;
186 virtual size_t accumulate(
size_t startIndex,
size_t endIndex )
const;
194 boost::shared_array< size_t > getInitialBuckets()
const;
201 size_t getNInitialBuckets()
const;
208 double getInitialBucketSize()
const;
216 virtual void insert(
double value );
273 size_t idx =
static_cast< size_t >( std::floor( pos ) );
278 bool inL = ( pos >= 0.0 );
286 #endif // WVALUESETHISTOGRAM_H