1 /* PSPP - a program for statistical analysis.
2 Copyright (C) 2004 Free Software Foundation, Inc.
4 This program is free software: you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation, either version 3 of the License, or
7 (at your option) any later version.
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
14 You should have received a copy of the GNU General Public License
15 along with this program. If not, see <http://www.gnu.org/licenses/>. */
21 #include <libpspp/hash.h>
23 struct weighted_value ;
25 /* The algorithm used to calculate percentiles */
37 extern const char *const ptile_alg_desc[];
44 /* The break point of the percentile */
47 /* The value of the percentile */
52 /* Calculate the percentiles of the break points in pc_bp,
53 placing the values in pc_val.
54 wv is a sorted array of weighted values of the data set.
56 void ptiles(struct hsh_table *pc_hash,
57 const struct weighted_value **wv,
60 enum pc_alg algorithm);
63 /* Calculate Tukey's Hinges and the Whiskers for the box plot*/
64 void tukey_hinges(const struct weighted_value **wv,
71 /* Hash utility functions */
72 int ptile_compare(const struct percentile *p1,
73 const struct percentile *p2,
76 unsigned ptile_hash(const struct percentile *p, void *aux);