X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fmath%2Ftukey-hinges.c;h=3e9ea9374eb4198b76d83688234b23de97fc7cf9;hb=81579d9e9f994fb2908f50af41c3eb033d216e58;hp=95a79c1d30026da280cbc6fa2542518c0ff4ad1f;hpb=b5c82cc9aabe7e641011130240ae1b2e84348e23;p=pspp-builds.git diff --git a/src/math/tukey-hinges.c b/src/math/tukey-hinges.c index 95a79c1d..3e9ea937 100644 --- a/src/math/tukey-hinges.c +++ b/src/math/tukey-hinges.c @@ -1,5 +1,5 @@ /* PSPP - a program for statistical analysis. - Copyright (C) 2008 Free Software Foundation, Inc. + Copyright (C) 2008, 2009, 2011 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -15,13 +15,17 @@ along with this program. If not, see . */ #include -#include "tukey-hinges.h" -#include -#include -#include +#include "math/tukey-hinges.h" + #include +#include "libpspp/assertion.h" +#include "libpspp/cast.h" +#include "math/order-stats.h" + +#include "gl/xalloc.h" + void tukey_hinges_calculate (const struct tukey_hinges *th, double hinge[3]) { @@ -59,19 +63,20 @@ tukey_hinges_calculate (const struct tukey_hinges *th, double hinge[3]) static void destroy (struct statistic *s) { - struct order_stats *os = (struct order_stats *) s; + struct tukey_hinges *th = UP_CAST (s, struct tukey_hinges, parent.parent); + struct order_stats *os = &th->parent; free (os->k); free (s); }; -struct statistic * +struct tukey_hinges * tukey_hinges_create (double W, double c_min) { double d; struct tukey_hinges *th = xzalloc (sizeof (*th)); - struct order_stats *os = (struct order_stats *) th; - struct statistic *stat = (struct statistic *) th; + struct order_stats *os = &th->parent; + struct statistic *stat = &os->parent; assert (c_min >= 0); @@ -97,5 +102,5 @@ tukey_hinges_create (double W, double c_min) stat->destroy = destroy; - return stat; + return th; }