X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?p=pspp-builds.git;a=blobdiff_plain;f=src%2Fmath%2Fnp.c;h=e61bf58e117aaf915d596bc26b8875152f0f0deb;hp=99584a5105b75879517e4b30982e9d78280a5dd1;hb=5c3291dc396b795696e94f47780308fd7ace6fc4;hpb=c6fe58a22249f4f486b42f35fd8bd537c91e8e6e diff --git a/src/math/np.c b/src/math/np.c index 99584a51..e61bf58e 100644 --- a/src/math/np.c +++ b/src/math/np.c @@ -16,14 +16,18 @@ #include #include "np.h" -#include -#include -#include -#include + #include -#include +#include +#include + #include #include +#include +#include +#include + +#include "xalloc.h" static void destroy (struct statistic *stat) @@ -56,7 +60,7 @@ acc (struct statistic *s, const struct ccase *cx UNUSED, maximize (&np->y_max, y); minimize (&np->y_min, y); - cp = case_create (n_NP_IDX); + 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; @@ -72,6 +76,8 @@ np_create (const struct moments1 *m) struct np *np = xzalloc (sizeof (*np)); struct statistic *stat = (struct statistic *) np; struct order_stats *os = (struct order_stats *) np; + struct caseproto *proto; + int i; np->prev_cc = 0; @@ -82,7 +88,11 @@ np_create (const struct moments1 *m) np->y_min = np->ns_min = np->dns_min = DBL_MAX; np->y_max = np->ns_max = np->dns_max = -DBL_MAX; - np->writer = autopaging_writer_create (n_NP_IDX); + proto = caseproto_create (); + for (i = 0; i < n_NP_IDX; i++) + proto = caseproto_add_width (proto, 0); + np->writer = autopaging_writer_create (proto); + caseproto_unref (proto); os->k = 0; stat->destroy = destroy;