2 #include <grass/raster.h> 4 void c_kurt(DCELL * result, DCELL * values,
int n,
const void *closure)
6 DCELL sum, ave, sumsq, sumqt, var;
13 for (i = 0; i < n; i++) {
14 if (Rast_is_d_null_value(&values[i]))
22 Rast_set_d_null_value(result, 1);
30 for (i = 0; i < n; i++) {
33 if (Rast_is_d_null_value(&values[i]))
38 sumqt += d * d * d * d;
43 *result = sumqt / (count * var * var) - 3;
46 void w_kurt(DCELL * result, DCELL(*values)[2],
int n,
const void *closure)
48 DCELL sum, ave, sumsq, sumqt, var;
55 for (i = 0; i < n; i++) {
56 if (Rast_is_d_null_value(&values[i][0]))
59 sum += values[i][0] * values[i][1];
60 count += values[i][1];
64 Rast_set_d_null_value(result, 1);
72 for (i = 0; i < n; i++) {
75 if (Rast_is_d_null_value(&values[i][0]))
78 d = values[i][0] - ave;
79 sumsq += d * d * values[i][1];
80 sumqt += d * d * d * values[i][1];
85 *result = sumqt / (count * var * var) - 3;
void w_kurt(DCELL *result, DCELL(*values)[2], int n, const void *closure)
void c_kurt(DCELL *result, DCELL *values, int n, const void *closure)