X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fmath%2Forder-stats.c;h=9f54e8730c9bfda7ce738b5311df3016f3c9cdbf;hb=ec7e9edc4433264efc66e6e3d661c198148f87c9;hp=1b6aa131ea745ba6c0b55b33a54f3a6d39ceddbe;hpb=b5c82cc9aabe7e641011130240ae1b2e84348e23;p=pspp-builds.git diff --git a/src/math/order-stats.c b/src/math/order-stats.c index 1b6aa131..9f54e873 100644 --- a/src/math/order-stats.c +++ b/src/math/order-stats.c @@ -90,7 +90,7 @@ update_k_values (const struct ccase *cx, double y_i, double c_i, double cc_i, { int k; struct order_stats *tos = os[j]; - struct statistic *stat = (struct statistic *) tos; + struct statistic *stat = &tos->parent; for (k = 0 ; k < tos->n_k; ++k) { struct k *myk = &tos->k[k]; @@ -131,8 +131,6 @@ order_stats_accumulate (struct order_stats **os, size_t nos, if ( var_is_value_missing (var, case_data (cx, var), exclude)) continue; - case_unref (prev_cx); - if ( prev_value == -DBL_MAX || prev_value == this_value) c_i += weight; @@ -142,6 +140,7 @@ order_stats_accumulate (struct order_stats **os, size_t nos, c_i = weight; } + case_unref (prev_cx); cc_i += weight; prev_value = this_value; prev_cx = case_ref (cx);