Skip to content

Commit 469b3ed

Browse files
committed
basic documentation
1 parent 63d11d5 commit 469b3ed

File tree

2 files changed

+67
-40
lines changed

2 files changed

+67
-40
lines changed

src/commands.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,10 +61,10 @@ class Undo : public QUndoCommand
6161
class AddStroke : public Undo
6262
{
6363
public:
64-
AddStroke(State *curr,
64+
AddStroke( State *curr,
6565
std::unique_ptr<State> & p,
6666
std::unique_ptr<State> & n,
67-
QUndoCommand *parent=nullptr);
67+
QUndoCommand *parent=nullptr);
6868
AddStroke( const AddStroke &) = delete;
6969
AddStroke( AddStroke &&) = delete;
7070
AddStroke operator= (const AddStroke &) = delete;
@@ -79,10 +79,10 @@ class AddStroke : public Undo
7979
class DeleteSelection : public Undo
8080
{
8181
public:
82-
DeleteSelection(State *st,
82+
DeleteSelection( State *st,
8383
std::unique_ptr<State> &p,
8484
std::unique_ptr<State> &n,
85-
QUndoCommand *parent=nullptr);
85+
QUndoCommand *parent=nullptr);
8686

8787
private:
8888
void redo() override;

src/statistics.h

Lines changed: 63 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -27,81 +27,88 @@ namespace Stats {
2727
class Distribution
2828
{
2929
public:
30-
Distribution (const Distribution & other) = delete;
31-
Distribution & operator = (const Distribution & other) = delete;
30+
Distribution (const Distribution & other) = delete; //!< Copy constructor
31+
Distribution & operator = (const Distribution & other) = delete; //!< Assignment constructor
3232

33-
virtual double pdf( double x) const = 0;
34-
virtual double cdf( double x) const = 0;
35-
virtual double icdf( double P) const = 0;
36-
virtual double mean() const = 0;
37-
virtual double var() const = 0;
38-
virtual double mode() const = 0;
39-
virtual double rnd() const = 0;
33+
virtual double pdf( double x) const = 0; //!< Probability density function
34+
virtual double cdf( double x) const = 0; //!< Cumulative distribution function
35+
virtual double icdf( double P) const = 0; //!< Inverse cumulative distribution function
36+
virtual double mean() const = 0; //!< Mean
37+
virtual double var() const = 0; //!< Variance
38+
virtual double mode() const = 0; //!< Mode of distribution
39+
virtual double rnd() const = 0; //!< Random number
4040

4141
protected:
4242
virtual ~Distribution() = default;
4343
Distribution() = default;
4444
};
4545

46+
4647
class StandardNormal : private Distribution
4748
{
4849
public:
4950
StandardNormal() = default;
5051
~StandardNormal() override = default;
5152

52-
double pdf( double x ) const override;
53-
double cdf( double x ) const override;
54-
double icdf( double P) const override;
55-
double mean() const override { return 0.0; }
56-
double var() const override { return 1.0; }
57-
double mode() const override { return 0.0; }
58-
double rnd() const override;
53+
double pdf( double x ) const override; //!< Probability density function
54+
double cdf( double x ) const override; //!< Cumulative distribution function
55+
double icdf( double P) const override; //!< Inverse cumulative distribution function
56+
double mean() const override { return 0.0; } //!< Mean
57+
double var() const override { return 1.0; } //!< Variance
58+
double mode() const override { return 0.0; } //!< Mode of distribution
59+
double rnd() const override; //!< Random number
5960

6061
private:
6162
constexpr static const double s_normalizing_constant = 0.398942280401433; // = 1/sqrt(2*pi);
6263
};
6364

6465

66+
6567
class Gamma : private Distribution
6668
{
6769
public:
68-
Gamma( double alpha, double beta);
70+
Gamma( double alpha, double beta); //!< Value constructor
6971
~Gamma() override = default;
7072

71-
double pdf( double x ) const override;
72-
double cdf( double x ) const override;
73-
double icdf( double P ) const override;
73+
double pdf( double x ) const override; //!< Probability density function
74+
double cdf( double x ) const override; //!< Cumulative distribution function
75+
double icdf( double P ) const override; //!< Inverse cumulative distribution function
76+
77+
// Mean
7478
double mean() const override { return m_alpha/m_beta; }
79+
80+
// Variance
7581
double var() const override { return m_alpha/(m_beta*m_beta); }
76-
double mode() const override;
77-
double rnd() const override;
82+
double mode() const override; //!< Mode of distribution
83+
double rnd() const override; //!< Random number
7884

79-
double shape() const { return m_alpha; }
80-
double rate() const { return m_beta; }
81-
double scale() const { return 1./m_beta; }
85+
double shape() const { return m_alpha; } //!< Get value of shape parameter
86+
double rate() const { return m_beta; } //!< Get rate (inverse scale)
87+
double scale() const { return 1./m_beta; } //!< Get value of scale parameter (inverse rate)
8288

8389
private:
8490
const double m_alpha; // > 0 shape
8591
const double m_beta; // > 0 rate
8692
};
8793

8894

89-
9095
class ChiSquared : private Distribution
9196
{
9297
public:
93-
ChiSquared( int df );
98+
ChiSquared( int df ); //!< Value Constructor
9499
~ChiSquared() override = default;
95100

96-
double pdf( double x) const override;
97-
double cdf( double x) const override;
98-
double icdf( double P) const override;
99-
double mean() const override { return m_nu; }
100-
double var() const override { return 2*m_nu; }
101+
double pdf( double x) const override; //!< Probability density function
102+
double cdf( double x) const override; //!< Cumulative distribution function
103+
double icdf( double P) const override; //!< Inverse cumulative distribution function
104+
double mean() const override { return m_nu; } //!< Mean
105+
double var() const override { return 2*m_nu; } //!< Variance
106+
107+
//! Mode of distribution
101108
double mode() const override { return std::fmax( m_nu-2.0, 0.0); }
102-
double rnd() const override;
109+
double rnd() const override; //!< Random number
103110

104-
int dof() const { return m_nu; }
111+
int dof() const { return m_nu; } //!< Get degrees of freedom
105112

106113
private:
107114
static double GammaFctHalfInt( double x);
@@ -111,29 +118,49 @@ class ChiSquared : private Distribution
111118
};
112119

113120

121+
122+
123+
124+
125+
126+
114127
class Exponential : private Distribution
115128
{
116129
public:
117-
Exponential( double lambda);
130+
Exponential( double lambda); //!< Value constructor
118131
~Exponential() override = default;
119132

133+
//! Probability density function
120134
double pdf( double x) const override {
121135
return x>=0.0 ? m_lambda*exp(-m_lambda*x) : 0.0;
122136
}
137+
138+
//! Cumulative distribution function
123139
double cdf( double x) const override {
124140
return x>=0.0 ? 1.0-exp(-m_lambda*x) : 0.0;
125141
}
142+
143+
//! Inverse cumulative distribution function
126144
double icdf( double P) const override {
127145
assert( P>=0.0 );
128146
assert( P<1.0 );
129147
return -log(1.0 -P)/m_lambda;
130148
}
149+
150+
//! Mean
131151
double mean() const override { return 1.0/m_lambda; }
152+
153+
//! Variance
132154
double var() const override { return 1.0/(m_lambda*m_lambda); }
155+
156+
//! Mode of distributiion
133157
double mode() const override { return 0.0; }
134-
double rnd() const override;
158+
double rnd() const override; //!< Random number
135159

160+
//! Get rate (inverse scale)
136161
double rate() const {return m_lambda; }
162+
163+
//! Get scale (inverse ratse)
137164
double scale() const {return 1./m_lambda;}
138165

139166
private:

0 commit comments

Comments
 (0)