- ptl->ptile = p;
-
- os->n_k = 2;
- os->k = xcalloc (sizeof (*os->k), 2);
- os->k[0].tc = W * p;
- os->k[1].tc = (W + 1.0) * p;
-
- ptl->g1 = ptl->g1_star = SYSMIS;
- ptl->g2 = ptl->g2_star = SYSMIS;
-
- os->k[1].y_p1 = os->k[1].y = SYSMIS;
- os->k[0].y_p1 = os->k[0].y = SYSMIS;
-
- stat->destroy = destroy;
-
- return os;
-}
-
-#if 0
-void
-percentile_dump (const struct percentile *ptl)
-{
- printf ("Percentile %g:\n\tk1: ", ptl->ptile);
-
- dump_os_k1 ((const struct os *)ptl);
- printf ("\tk2: ");
- dump_os_k2 ((const struct os *)ptl);
- printf ("\n");
+ struct percentile *ptl = xmalloc (sizeof *ptl);
+ *ptl = (struct percentile) {
+ .parent = {
+ .parent = {
+ .destroy = destroy
+ },
+ .k = ptl->k,
+ .n_k = 2,
+ },
+ .ptile = p,
+ .w = W,
+ .g1 = SYSMIS,
+ .g1_star = SYSMIS,
+ .g2 = SYSMIS,
+ .g2_star = SYSMIS,
+ .k[0] = { .tc = W * p, .y = SYSMIS, .y_p1 = SYSMIS },
+ .k[1] = { .tc = (W + 1.0) * p, .y = SYSMIS, .y_p1 = SYSMIS },
+ };
+ return ptl;