ZeusMath-Library  2.0.4
IDistribution.hpp
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (C) 2011 by Benjamin Hadorn (b_hadorn@bluewin.ch)
3  *****************************************************************************
4  * Project : Zeus Math Library
5  * Module : IDistribution
6  * Package : Zeus.ZeusMath.Stochastic.Interfaces
7  * Author : Benjamin Hadorn
8  * Date : 27.12.2011
9  * System : Zeus-Framework
10  *****************************************************************************
11  * Licence: *
12  * This library is free software; you can redistribute it and/or modify *
13  * it under the terms of the GNU Lesser General Public License as *
14  * published by the Free Software Foundation; either version *
15  * 2.1 of the License, or (at your option) any later version. *
16  * *
17  * This library is distributed in the hope that it will be useful, *
18  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
19  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
20  * GNU Lesser General Public License for more details. *
21  * *
22  * You should have received a copy of the GNU Lesser General Public *
23  * License along with this library; if not, write to the Free Software *
24  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA *
25  *****************************************************************************/
26 
27 /*****************************************************************************
28  * Changes:
29  * 27.12.2011 bha: created zeus 2.0
30  *****************************************************************************/
31 
32 #ifndef IDistributionHPP
33 #define IDistributionHPP
34 
35 
37 #include <zeusbase/System/Interfaces/IValueType.hpp>
38 
39 BEGIN_NAMESPACE_Zeus
40 
41 /**************************************************************************/
44 /**************************************************************************/
45 class IDistribution : public IValueType
46 {
47  /**************************************************************************/
50  /**************************************************************************/
51  HIDE_ASSIGNMENT_OPERATOR(IDistribution)
52 
53  public:
54 
55  /************************************************************************/
58  /************************************************************************/
59  virtual Float MQUALIFIER getEntropy() const = 0;
60 
61  /************************************************************************/
64  /************************************************************************/
65  virtual Float MQUALIFIER getExpectedValue() const = 0;
66 
67  /************************************************************************/
72  /************************************************************************/
73  virtual Float MQUALIFIER getMean() const = 0;
74 
75  /************************************************************************/
83  /************************************************************************/
84  virtual Float MQUALIFIER getMedian() const = 0;
85 
86  /************************************************************************/
89  /************************************************************************/
90  virtual Float MQUALIFIER getVariance() const = 0;
91 
92  /************************************************************************/
95  /************************************************************************/
96  virtual Float MQUALIFIER getStdDeviation() const = 0;
97 
98  /************************************************************************/
101  /************************************************************************/
102  virtual Float MQUALIFIER getMode() const = 0;
103 
104  /************************************************************************/
107  /************************************************************************/
108  virtual Float MQUALIFIER getSkewness() const = 0;
109 
110  /************************************************************************/
117  /************************************************************************/
118  virtual Float MQUALIFIER getCumulativeProb(const Float& rfStart, const Float& rfEnd) const = 0;
119 
120  /************************************************************************/
126  /************************************************************************/
127  virtual Float MQUALIFIER getProb(const Float& rfX) const = 0;
128 
129  /************************************************************************/
134  /************************************************************************/
135  virtual Float MQUALIFIER getSampleProb(Int iSample) const = 0;
136 
137 };
138 
139 
140 END_NAMESPACE_Zeus
141 
142 #endif
Definition: IDistribution.hpp:45


Written by Benjamin Hadorn http://www.xatlantis.ch.
Last change made on Wed Sep 14 2016 06:45:51