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);
void w_skew(DCELL *result, DCELL(*values)[2], int n, const void *closure)
void G_set_d_null_value(DCELL *dcellVals, int numVals)
void c_skew(DCELL *result, DCELL *values, int n, const void *closure)
int G_is_d_null_value(const DCELL *dcellVal)
Returns 1 if dcell is NULL, 0 otherwise. This will test if the value dcell is a NaN. Same test as in G_is_f_null_value().