Main Page   Modules   Class Hierarchy   Compound List   File List   Compound Members  

cpsquare.h

00001 //==========================================================================
00002 //   CPSQUARE.H - header for
00003 //                             OMNeT++
00004 //            Discrete System Simulation in C++
00005 //
00006 //
00007 //  Declaration of the following classes:
00008 //    cPSquare : calculates quantile values without storing the observations
00009 //
00010 //   Written by Babak Fakhamzadeh, TU Delft, Dec 1996
00011 //
00012 //==========================================================================
00013 /*--------------------------------------------------------------*
00014   Copyright (C) 1992-2001 Andras Varga
00015   Technical University of Budapest, Dept. of Telecommunications,
00016   Stoczek u.2, H-1111 Budapest, Hungary.
00017 
00018   This file is distributed WITHOUT ANY WARRANTY. See the file
00019   `license' for details on this and other legal matters.
00020 *--------------------------------------------------------------*/
00021 
00022 #ifndef __CPSQUARE_H
00023 #define __CPSQUARE_H
00024 
00025 #include "iostream.h"
00026 #include "cdensity.h"
00027 
00028 //==========================================================================
00029 
00036 class SIM_API cPSquare : public cDensityEstBase
00037 {
00038   protected:
00039     int numcells;      // number of observations
00040     long numobs;       // number of cells,
00041     int *n;            // array of positions
00042     double *q;         // array of heights
00043 
00044   public:
00047 
00051     cPSquare(const cPSquare& r);
00052 
00056     explicit cPSquare(const char *name=NULL, int cells=10);
00057 
00061     virtual ~cPSquare();
00062 
00066     cPSquare& operator=(const cPSquare& res);
00068 
00071 
00075     virtual const char *className() const {return "cPSquare";}
00076 
00081     virtual cObject *dup() const   {return new cPSquare(*this);}
00082 
00088     virtual int netPack();
00089 
00095     virtual int netUnpack();
00096 
00101     virtual void writeContents(ostream& os);
00103 
00104   private:
00105     // internal: issues error message
00106     void giveError();
00107 
00108   protected:
00113     virtual void collectTransformed(double val);
00114 
00115   public:
00118 
00122     virtual void transform() {}
00123 
00128     virtual void setRange(double,double) {giveError();}
00129 
00134     virtual void setRangeAuto(int,double) {giveError();}
00135 
00140     virtual void setRangeAutoLower(double,int,double) {giveError();}
00141 
00146     virtual void setRangeAutoUpper(double,int,double) {giveError();}
00147 
00152     virtual void setNumFirstVals(int) {giveError();}
00153 
00157     virtual int cells() const;
00158 
00164     virtual double basepoint(int k) const;
00165 
00169     virtual double cell(int k) const;
00170 
00174     virtual double cdf(double x) const;
00175 
00179     virtual double pdf(double x) const;
00180 
00184     virtual double random() const;
00185 
00189     virtual void saveToFile(FILE *) const;
00190 
00194     virtual void loadFromFile(FILE *);
00196 };
00197 
00198 #endif
00199 

Generated at Sat May 4 15:45:48 2002 for OMNeT++ by doxygen1.2.8.1 written by Dimitri van Heesch, © 1997-2001