update_k_lower (struct k *kk,
double y_i, double c_i, double cc_i)
{
- if ( cc_i <= kk->tc )
+ if (cc_i <= kk->tc)
{
kk->cc = cc_i;
kk->c = c_i;
update_k_upper (struct k *kk,
double y_i, double c_i, double cc_i)
{
- if ( cc_i > kk->tc && kk->c_p1 == 0)
+ if (cc_i > kk->tc && kk->c_p1 == 0)
{
kk->cc_p1 = cc_i;
kk->c_p1 = c_i;
update_k_upper (myk, y_i, c_i, cc_i);
}
- if ( stat->accumulate )
+ if (stat->accumulate)
stat->accumulate (stat, cx, c_i, cc_i, y_i);
tos->cc = cc_i;
for (; (cx = casereader_read (reader)) != NULL; case_unref (cx))
{
- const double weight = (wt_idx == -1) ? 1.0 : case_data_idx (cx, wt_idx)->f;
- const double this_value = case_data_idx (cx, val_idx)->f;
+ const double weight = wt_idx == -1 ? 1.0 : case_num_idx (cx, wt_idx);
+ const double this_value = case_num_idx (cx, val_idx);
+
+ if (weight == SYSMIS)
+ continue;
/* The casereader MUST be sorted */
assert (this_value >= prev_value);
- if ( prev_value == -DBL_MAX || prev_value == this_value)
+ if (prev_value == -DBL_MAX || prev_value == this_value)
c_i += weight;
- if ( prev_value > -DBL_MAX && this_value > prev_value)
+ if (prev_value > -DBL_MAX && this_value > prev_value)
{
update_k_values (prev_cx, prev_value, c_i, cc_i, os, nos);
c_i = weight;
wv ? var_get_case_index (wv) : -1,
var_get_case_index (var));
}
-