X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fmath%2Fnp.c;h=0d691c2aa7b6699a82cd174bedb77984e43a2ae0;hb=114cd2dc25959a7927730e502300321624f8c07b;hp=ccaa51e22d24a0e96a91996f7f597df547d3c6ce;hpb=fe8dc2171009e90d2335f159d05f7e6660e24780;p=pspp diff --git a/src/math/np.c b/src/math/np.c index ccaa51e22d..0d691c2aa7 100644 --- a/src/math/np.c +++ b/src/math/np.c @@ -47,7 +47,7 @@ acc (struct statistic *s, const struct ccase *cx UNUSED, struct np *np = UP_CAST (s, struct np, parent.parent); double rank = np->prev_cc + (c + 1) / 2.0; - double ns = gsl_cdf_ugaussian_Pinv (rank / ( np->n + 1 )); + double ns = gsl_cdf_ugaussian_Pinv (rank / (np->n + 1)); double z = (y - np->mean) / np->stddev; @@ -63,19 +63,18 @@ acc (struct statistic *s, const struct ccase *cx UNUSED, minimize (&np->y_min, y); cp = case_create (casewriter_get_proto (np->writer)); - case_data_rw_idx (cp, NP_IDX_Y)->f = y; - case_data_rw_idx (cp, NP_IDX_NS)->f = ns; - case_data_rw_idx (cp, NP_IDX_DNS)->f = dns; + *case_num_rw_idx (cp, NP_IDX_Y) = y; + *case_num_rw_idx (cp, NP_IDX_NS) = ns; + *case_num_rw_idx (cp, NP_IDX_DNS) = dns; casewriter_write (np->writer, cp); np->prev_cc = cc; } struct np * -np_create (const struct moments1 *m) +np_create (double n, double mean, double var) { - double variance; - struct np *np = xzalloc (sizeof (*np)); + struct np *np = XZALLOC (struct np); struct order_stats *os = &np->parent; struct statistic *stat = &os->parent; struct caseproto *proto; @@ -83,9 +82,10 @@ np_create (const struct moments1 *m) np->prev_cc = 0; - moments1_calculate (m, &np->n, &np->mean, &variance, NULL, NULL); + np->n = n; + np->mean = mean; - np->stddev = sqrt (variance); + np->stddev = sqrt (var); np->y_min = np->ns_min = np->dns_min = DBL_MAX; np->y_max = np->ns_max = np->dns_max = -DBL_MAX;