Implements k-split, an adaptive histogram-like density estimation algorithm. During result collection, k-split will dynamically subdivide "busy" bins (ones that collect a large number of observations), thereby refining the resolution of the histogram where needed. 
The histogram produced by k-split will be an approximation, because the algorithm has no information on to divide up observations collected into a bin before it was split. Nevertheless, for stationary distributions, k-split usually produces a superior estimate of the distribution than uniform-bin histograms. If the distribution changes over time, and especially if it shows a distinct (increasing or decreasing) trend, k-split's estimate often contains artifacts that are not part of the input distribution.
- See also
 - Iterator Grid 
 
 
 | 
 | 
|   | cKSplit (const char *name=nullptr, bool weighted=false) | 
|   | 
|   | cKSplit (const cKSplit &r) | 
|   | 
| virtual  | ~cKSplit () | 
|   | 
| cKSplit &  | operator= (const cKSplit &res) | 
|   | 
 | 
| virtual cKSplit *  | dup () const override | 
|   | 
| virtual void  | parsimPack (cCommBuffer *buffer) const override | 
|   | 
| virtual void  | parsimUnpack (cCommBuffer *buffer) override | 
|   | 
 | 
| virtual void  | setUpBins () override | 
|   | 
| virtual int  | getNumBins () const override | 
|   | 
| virtual double  | getBinEdge (int k) const override | 
|   | 
| virtual double  | getBinValue (int k) const override | 
|   | 
| virtual void  | merge (const cStatistic *other) override | 
|   | 
| virtual void  | saveToFile (FILE *) const override | 
|   | 
| virtual void  | loadFromFile (FILE *) override | 
|   | 
 | 
| void  | setCritFunc (CritFunc _critfunc, double *_critdata) | 
|   | 
| void  | setDivFunc (DivFunc _divfunc, double *_divdata) | 
|   | 
| void  | setRangeExtension (bool enabled) | 
|   | 
 | 
| int  | getTreeDepth () const  | 
|   | 
| int  | getTreeDepth (Grid &grid) const  | 
|   | 
| double  | getRealCellValue (Grid &grid, int cell) const  | 
|   | 
| void  | printGrids () const  | 
|   | 
| Grid &  | getGrid (int k) const  | 
|   | 
| Grid &  | getRootGrid () const  | 
|   | 
|   | cPrecollectionBasedDensityEst (const cPrecollectionBasedDensityEst &other) | 
|   | 
|   | cPrecollectionBasedDensityEst (const char *name=nullptr, bool weighted=false) | 
|   | 
| virtual  | ~cPrecollectionBasedDensityEst () | 
|   | 
| cPrecollectionBasedDensityEst &  | operator= (const cPrecollectionBasedDensityEst &res) | 
|   | 
| virtual void  | collect (double value) override | 
|   | 
| virtual void  | collectWeighted (double value, double weight) override | 
|   | 
| virtual void  | clear () override | 
|   | 
| virtual void  | setRange (double lower, double upper) | 
|   | 
| virtual void  | setRangeAuto (int numPrecollect=100, double rangeExtensionFactor=2.0) | 
|   | 
| virtual void  | setRangeAutoLower (double upper, int numPrecollect=100, double rangeExtensionFactor=2.0) | 
|   | 
| virtual void  | setRangeAutoUpper (double lower, int numPrecollect=100, double rangeExtensionFactor=2.0) | 
|   | 
| virtual void  | setNumPrecollectedValues (int numPrecollect) | 
|   | 
| virtual int  | getNumPrecollectedValues () const  | 
|   | 
| virtual double  | getRangeExtensionFactor () const  | 
|   | 
| virtual bool  | binsAlreadySetUp () const override | 
|   | 
| virtual int64_t  | getNumUnderflows () const override | 
|   | 
| virtual int64_t  | getNumOverflows () const override | 
|   | 
| virtual double  | getUnderflowSumWeights () const override | 
|   | 
| virtual double  | getOverflowSumWeights () const override | 
|   | 
|   | cAbstractHistogram (const cAbstractHistogram &other) | 
|   | 
|   | cAbstractHistogram (const char *name=nullptr, bool weighted=false) | 
|   | 
| virtual  | ~cAbstractHistogram () | 
|   | 
| cAbstractHistogram &  | operator= (const cAbstractHistogram &res) | 
|   | 
| virtual double  | getBinPDF (int k) const  | 
|   | 
| virtual Bin  | getBinInfo (int k) const  | 
|   | 
| virtual double  | getPDF (double x) const  | 
|   | 
| virtual double  | getCDF (double x) const  | 
|   | 
| virtual double  | draw () const override | 
|   | 
| virtual _OPPDEPRECATED bool  | isTransformed () const final | 
|   | 
| virtual _OPPDEPRECATED void  | transform () final | 
|   | 
| virtual _OPPDEPRECATED int  | getNumCells () const final | 
|   | 
| virtual _OPPDEPRECATED double  | getBasepoint (int k) const final | 
|   | 
| virtual _OPPDEPRECATED double  | getCellValue (int k) const final | 
|   | 
| virtual _OPPDEPRECATED double  | getCellPDF (int k) const final | 
|   | 
| virtual _OPPDEPRECATED int64_t  | getUnderflowCell () const final | 
|   | 
| virtual _OPPDEPRECATED int64_t  | getOverflowCell () const final | 
|   | 
| virtual _OPPDEPRECATED Bin  | getCellInfo (int k) const final | 
|   | 
|   | cStdDev (const cStdDev &r) | 
|   | 
|   | cStdDev (const char *name=nullptr, bool weighted=false) | 
|   | 
| virtual  | ~cStdDev () | 
|   | 
| cStdDev &  | operator= (const cStdDev &res) | 
|   | 
| virtual std::string  | str () const override | 
|   | 
| virtual bool  | isWeighted () const override | 
|   | 
| virtual int64_t  | getCount () const override | 
|   | 
| virtual double  | getSum () const override | 
|   | 
| virtual double  | getSqrSum () const override | 
|   | 
| virtual double  | getMin () const override | 
|   | 
| virtual double  | getMax () const override | 
|   | 
| virtual double  | getMean () const override | 
|   | 
| virtual double  | getStddev () const override | 
|   | 
| virtual double  | getVariance () const override | 
|   | 
| virtual double  | getSumWeights () const override | 
|   | 
| virtual double  | getWeightedSum () const override | 
|   | 
| virtual double  | getSqrSumWeights () const override | 
|   | 
| virtual double  | getWeightedSqrSum () const override | 
|   | 
|   | cStatistic (const cStatistic &r) | 
|   | 
|   | cStatistic (const char *name=nullptr) | 
|   | 
| virtual  | ~cStatistic () | 
|   | 
| cStatistic &  | operator= (const cStatistic &res) | 
|   | 
| virtual void  | collect (SimTime value) | 
|   | 
| virtual void  | collectWeighted (SimTime value, double weight) | 
|   | 
| virtual void  | collectWeighted (double value, SimTime weight) | 
|   | 
| virtual void  | collectWeighted (SimTime value, SimTime weight) | 
|   | 
| virtual void  | record () | 
|   | 
| virtual void  | recordWithUnit (const char *unit) | 
|   | 
| virtual void  | recordAs (const char *name, const char *unit=nullptr) | 
|   | 
| virtual _OPPDEPRECATED double  | getWeights () const final | 
|   | 
| virtual _OPPDEPRECATED void  | collect2 (double value, double weight) final | 
|   | 
| virtual _OPPDEPRECATED void  | collect2 (SimTime value, double weight) final | 
|   | 
| virtual _OPPDEPRECATED void  | collect2 (double value, SimTime weight) final | 
|   | 
| virtual _OPPDEPRECATED void  | collect2 (SimTime value, SimTime weight) final | 
|   | 
| virtual _OPPDEPRECATED double  | random () const final | 
|   | 
| virtual _OPPDEPRECATED void  | clearResult () final | 
|   | 
  Public Member Functions inherited from cRandom | 
| 
  | cRandom (cRNG *rng) | 
|   | 
| 
  | cRandom (const char *name=nullptr, cRNG *rng=nullptr) | 
|   | 
| 
virtual  | ~cRandom () | 
|   | 
| virtual void  | setRNG (cRNG *rng) | 
|   | 
| cRNG *  | getRNG () const  | 
|   | 
|   | cOwnedObject () | 
|   | 
|   | cOwnedObject (const char *name, bool namepooling=true) | 
|   | 
|   | cOwnedObject (const cOwnedObject &obj) | 
|   | 
| virtual  | ~cOwnedObject () | 
|   | 
| cOwnedObject &  | operator= (const cOwnedObject &o) | 
|   | 
| virtual cObject *  | getOwner () const override | 
|   | 
| virtual bool  | isOwnedObject () const override | 
|   | 
| virtual bool  | isSoftOwner () const  | 
|   | 
|   | cNamedObject () | 
|   | 
|   | cNamedObject (const char *name, bool namepooling=true) | 
|   | 
|   | cNamedObject (const cNamedObject &obj) | 
|   | 
| virtual  | ~cNamedObject () | 
|   | 
| cNamedObject &  | operator= (const cNamedObject &o) | 
|   | 
| virtual void  | setName (const char *s) | 
|   | 
| virtual const char *  | getName () const override | 
|   | 
| virtual void  | setNamePooling (bool b) | 
|   | 
| virtual bool  | getNamePooling () | 
|   | 
|   | cObject () | 
|   | 
|   | cObject (const cObject &other) | 
|   | 
| virtual  | ~cObject () | 
|   | 
| virtual const char *  | getClassName () const  | 
|   | 
| bool  | isName (const char *s) const  | 
|   | 
| virtual const char *  | getFullName () const  | 
|   | 
| virtual std::string  | getFullPath () const  | 
|   | 
| const cObject *  | getThisPtr () const  | 
|   | 
| virtual _OPPDEPRECATED std::string  | info () const  | 
|   | 
| virtual _OPPDEPRECATED std::string  | detailedInfo () const  | 
|   | 
| virtual void  | forEachChild (cVisitor *v) | 
|   | 
| cObject *  | findObject (const char *name, bool deep=true) | 
|   | 
| void  | copyNotSupported () const  | 
|   |