Skip to content
Snippets Groups Projects
Commit d8effc64 authored by Wuttke, Joachim's avatar Wuttke, Joachim
Browse files

corr bug found by Antti: "stdv x" was "variance y".

parent ce071508
No related branches found
No related tags found
No related merge requests found
......@@ -2,7 +2,9 @@ Release 2.3.1c
- Updated dependence:
- now requires cmake 2.8.12 (older version were untested)
- Bug fix:
- "stdv" was variance. Now "var" and "stdv" are available
Release 2.3.1b of 22sep15
- Improved functionality:
......
......@@ -151,12 +151,12 @@ void geni_avge( double* r, double* dr, int n, const vector<RObjVecNum>& a )
*dr = 0; // TODO better estimate
}
//! Standard deviation.
//! Sample variance.
void geni_stdv( double* r, double* dr, int n, const vector<RObjVecNum>& a )
void geni_variance( double* r, double* dr, int n, const vector<RObjVecNum>& a )
{
if ( n<2 )
throw S("Cannot compute corrected standard deviation for sample size < 2");
throw S("Cannot compute sample variance for sample size < 2");
double p=0, pp=0, q=0;
for ( int i=0; i<n; i++ ) {
pp = p + ( a[0]->to_r(i) - p ) / (i+1);
......@@ -168,6 +168,16 @@ void geni_stdv( double* r, double* dr, int n, const vector<RObjVecNum>& a )
*dr = 0; // TODO better estimate
}
//! Sample standard deviation.
void geni_stdv( double* r, double* dr, int n, const vector<RObjVecNum>& a )
{
geni_variance( r, dr, n, a );
*r = sqrt( *r );
if( dr )
*dr = 0; // TODO better estimate
}
//! Integral.
void geni_integral( double* r, double* dr, int n, const vector<RObjVecNum>& a )
......@@ -308,8 +318,10 @@ void NGeni::initialize()
"sum of y" ))->register_me();
(new CGeni( "avge", 1, "y", geni_avge, "a",
"average of y" ))->register_me();
(new CGeni( "var", 1, "y", geni_variance, "a",
"sample variance of y" ))->register_me();
(new CGeni( "stdv", 1, "y", geni_stdv, "a",
"corrected sample standard deviation of x" ))->register_me();
"sample standard deviation of y" ))->register_me();
(new CGeni( "integral", 2, "x,y", geni_integral, "ab",
"integral d(x) of y" ))->register_me();
(new CGeni( "cog", 2, "x,y", geni_cog, "a",
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment