瀏覽代碼

libstats: sum of weights must be DCELL; fix regression t value

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@72787 15284696-431f-4ddb-bdfa-cd5b030d7da7
Markus Metz 6 年之前
父節點
當前提交
69d818b8ff
共有 4 個文件被更改,包括 6 次插入6 次删除
  1. 1 1
      lib/stats/c_kurt.c
  2. 3 3
      lib/stats/c_reg.c
  3. 1 1
      lib/stats/c_skew.c
  4. 1 1
      lib/stats/c_var.c

+ 1 - 1
lib/stats/c_kurt.c

@@ -46,7 +46,7 @@ void c_kurt(DCELL * result, DCELL * values, int n, const void *closure)
 void w_kurt(DCELL * result, DCELL(*values)[2], int n, const void *closure)
 void w_kurt(DCELL * result, DCELL(*values)[2], int n, const void *closure)
 {
 {
     DCELL sum, ave, sumsq, sumqt, var;
     DCELL sum, ave, sumsq, sumqt, var;
-    int count;
+    DCELL count;
     int i;
     int i;
 
 
     sum = 0.0;
     sum = 0.0;

+ 3 - 3
lib/stats/c_reg.c

@@ -52,7 +52,7 @@ static void regression(DCELL * result, DCELL * values, int n, int which)
 	    denom += (DCELL) i * i;
 	    denom += (DCELL) i * i;
     denom -= count * xbar * xbar;
     denom -= count * xbar * xbar;
 
 
-    if (which >= REGRESSION_COEFF_DET) {
+    if (which >= REGRESSION_COEFF_DET || which == REGRESSION_T) {
 	denom2 = 0.0;
 	denom2 = 0.0;
 	for (i = 0; i < n; i++)
 	for (i = 0; i < n; i++)
 	    if (!Rast_is_d_null_value(&values[i]))
 	    if (!Rast_is_d_null_value(&values[i]))
@@ -142,11 +142,11 @@ static void regression_w(DCELL * result, DCELL(*values)[2], int n, int which)
     denom = 0.0;
     denom = 0.0;
     for (i = 0; i < n; i++)
     for (i = 0; i < n; i++)
 	if (!Rast_is_d_null_value(&values[i][0]))
 	if (!Rast_is_d_null_value(&values[i][0]))
-	    denom += (DCELL) i *i * values[i][1];
+	    denom += (DCELL) i * i * values[i][1];
 
 
     denom -= count * xbar * xbar;
     denom -= count * xbar * xbar;
 
 
-    if (which == REGRESSION_COEFF_DET) {
+    if (which == REGRESSION_COEFF_DET || which == REGRESSION_T) {
 	denom2 = 0.0;
 	denom2 = 0.0;
 	for (i = 0; i < n; i++)
 	for (i = 0; i < n; i++)
 	    if (!Rast_is_d_null_value(&values[i][0]))
 	    if (!Rast_is_d_null_value(&values[i][0]))

+ 1 - 1
lib/stats/c_skew.c

@@ -48,7 +48,7 @@ void c_skew(DCELL * result, DCELL * values, int n, const void *closure)
 void w_skew(DCELL * result, DCELL(*values)[2], int n, const void *closure)
 void w_skew(DCELL * result, DCELL(*values)[2], int n, const void *closure)
 {
 {
     DCELL sum, ave, sumsq, sumcb, sdev;
     DCELL sum, ave, sumsq, sumcb, sdev;
-    int count;
+    DCELL count;
     int i;
     int i;
 
 
     sum = 0.0;
     sum = 0.0;

+ 1 - 1
lib/stats/c_var.c

@@ -43,7 +43,7 @@ void c_var(DCELL * result, DCELL * values, int n, const void *closure)
 void w_var(DCELL * result, DCELL(*values)[2], int n, const void *closure)
 void w_var(DCELL * result, DCELL(*values)[2], int n, const void *closure)
 {
 {
     DCELL sum, ave, sumsq;
     DCELL sum, ave, sumsq;
-    int count;
+    DCELL count;
     int i;
     int i;
 
 
     sum = 0.0;
     sum = 0.0;