4void c_var(DCELL *result, DCELL *values,
int n,
const void *closure G_UNUSED)
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]))
40 *result = sumsq /
count;
43void w_var(DCELL *result, DCELL (*values)[2],
int n,
44 const void *closure G_UNUSED)
46 DCELL sum, ave, sumsq;
53 for (i = 0; i < n; i++) {
54 if (Rast_is_d_null_value(&values[i][0]))
57 sum += values[i][0] * values[i][1];
58 count += values[i][1];
62 Rast_set_d_null_value(result, 1);
70 for (i = 0; i < n; i++) {
73 if (Rast_is_d_null_value(&values[i][0]))
76 d = values[i][0] - ave;
77 sumsq += d * d * values[i][1];
80 *result = sumsq /
count;