4 void c_skew(DCELL * result, DCELL * values,
int n,
const void *closure)
6 DCELL sum, ave, sumsq, sumcb, sdev;
13 for (i = 0; i < n; i++) {
30 for (i = 0; i < n; i++) {
41 sdev = sqrt(sumsq / count);
43 *result = sumcb / (count * sdev * sdev * sdev);
46 void w_skew(DCELL * result, DCELL(*values)[2],
int n,
const void *closure)
48 DCELL sum, ave, sumsq, sumcb, sdev;
55 for (i = 0; i < n; i++) {
59 sum += values[i][0] * values[i][1];
60 count += values[i][1];
72 for (i = 0; i < n; i++) {
78 d = values[i][0] - ave;
79 sumsq += d * d * values[i][1];
80 sumcb += d * d * d * values[i][1];
83 sdev = sqrt(sumsq / count);
85 *result = sumcb / (count * sdev * sdev * sdev);