1 /* statistics/gsl_statistics_uint.h
2  *
3  * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Jim Davies, Brian Gough
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 3 of the License, or (at
8  * your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful, but
11  * WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  * General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18  */
19 
20 #ifndef __GSL_STATISTICS_UINT_H__
21 #define __GSL_STATISTICS_UINT_H__
22 
23 #include <stddef.h>
24 #include <stdlib.h>
25 
26 #undef __BEGIN_DECLS
27 #undef __END_DECLS
28 #ifdef __cplusplus
29 # define __BEGIN_DECLS extern "C" {
30 # define __END_DECLS }
31 #else
32 # define __BEGIN_DECLS /* empty */
33 # define __END_DECLS /* empty */
34 #endif
35 
36 __BEGIN_DECLS
37 
38 double gsl_stats_uint_mean (const unsigned int data[], const size_t stride, const size_t n);
39 double gsl_stats_uint_variance (const unsigned int data[], const size_t stride, const size_t n);
40 double gsl_stats_uint_sd (const unsigned int data[], const size_t stride, const size_t n);
41 double gsl_stats_uint_variance_with_fixed_mean (const unsigned int data[], const size_t stride, const size_t n, const double mean);
42 double gsl_stats_uint_sd_with_fixed_mean (const unsigned int data[], const size_t stride, const size_t n, const double mean);
43 double gsl_stats_uint_tss (const unsigned int data[], const size_t stride, const size_t n);
44 double gsl_stats_uint_tss_m (const unsigned int data[], const size_t stride, const size_t n, const double mean);
45 
46 double gsl_stats_uint_absdev (const unsigned int data[], const size_t stride, const size_t n);
47 double gsl_stats_uint_skew (const unsigned int data[], const size_t stride, const size_t n);
48 double gsl_stats_uint_kurtosis (const unsigned int data[], const size_t stride, const size_t n);
49 double gsl_stats_uint_lag1_autocorrelation (const unsigned int data[], const size_t stride, const size_t n);
50 
51 double gsl_stats_uint_covariance (const unsigned int data1[], const size_t stride1,const unsigned int data2[], const size_t stride2, const size_t n);
52 double gsl_stats_uint_correlation (const unsigned int data1[], const size_t stride1,const unsigned int data2[], const size_t stride2, const size_t n);
53 double gsl_stats_uint_spearman (const unsigned int data1[], const size_t stride1, const unsigned int data2[], const size_t stride2, const size_t n, double work[]);
54 
55 double gsl_stats_uint_variance_m (const unsigned int data[], const size_t stride, const size_t n, const double mean);
56 double gsl_stats_uint_sd_m (const unsigned int data[], const size_t stride, const size_t n, const double mean);
57 double gsl_stats_uint_absdev_m (const unsigned int data[], const size_t stride, const size_t n, const double mean);
58 double gsl_stats_uint_skew_m_sd (const unsigned int data[], const size_t stride, const size_t n, const double mean, const double sd);
59 double gsl_stats_uint_kurtosis_m_sd (const unsigned int data[], const size_t stride, const size_t n, const double mean, const double sd);
60 double gsl_stats_uint_lag1_autocorrelation_m (const unsigned int data[], const size_t stride, const size_t n, const double mean);
61 
62 double gsl_stats_uint_covariance_m (const unsigned int data1[], const size_t stride1,const unsigned int data2[], const size_t stride2, const size_t n, const double mean1, const double mean2);
63 
64 
65 double gsl_stats_uint_pvariance (const unsigned int data1[], const size_t stride1, const size_t n1, const unsigned int data2[], const size_t stride2, const size_t n2);
66 double gsl_stats_uint_ttest (const unsigned int data1[], const size_t stride1, const size_t n1, const unsigned int data2[], const size_t stride2, const size_t n2);
67 
68 unsigned int gsl_stats_uint_max (const unsigned int data[], const size_t stride, const size_t n);
69 unsigned int gsl_stats_uint_min (const unsigned int data[], const size_t stride, const size_t n);
70 void gsl_stats_uint_minmax (unsigned int * min, unsigned int * max, const unsigned int data[], const size_t stride, const size_t n);
71 
72 size_t gsl_stats_uint_max_index (const unsigned int data[], const size_t stride, const size_t n);
73 size_t gsl_stats_uint_min_index (const unsigned int data[], const size_t stride, const size_t n);
74 void gsl_stats_uint_minmax_index (size_t * min_index, size_t * max_index, const unsigned int data[], const size_t stride, const size_t n);
75 
76 unsigned int gsl_stats_uint_select(unsigned int data[], const size_t stride, const size_t n, const size_t k);
77 
78 double gsl_stats_uint_median_from_sorted_data (const unsigned int sorted_data[], const size_t stride, const size_t n) ;
79 double gsl_stats_uint_median (unsigned int sorted_data[], const size_t stride, const size_t n);
80 double gsl_stats_uint_quantile_from_sorted_data (const unsigned int sorted_data[], const size_t stride, const size_t n, const double f) ;
81 
82 double gsl_stats_uint_trmean_from_sorted_data (const double trim, const unsigned int sorted_data[], const size_t stride, const size_t n) ;
83 double gsl_stats_uint_gastwirth_from_sorted_data (const unsigned int sorted_data[], const size_t stride, const size_t n) ;
84 
85 double gsl_stats_uint_mad0(const unsigned int data[], const size_t stride, const size_t n, double work[]);
86 double gsl_stats_uint_mad(const unsigned int data[], const size_t stride, const size_t n, double work[]);
87 
88 unsigned int gsl_stats_uint_Sn0_from_sorted_data (const unsigned int sorted_data[], const size_t stride, const size_t n, unsigned int work[]) ;
89 double gsl_stats_uint_Sn_from_sorted_data (const unsigned int sorted_data[], const size_t stride, const size_t n, unsigned int work[]) ;
90 
91 unsigned int gsl_stats_uint_Qn0_from_sorted_data (const unsigned int sorted_data[], const size_t stride, const size_t n, unsigned int work[], int work_int[]) ;
92 double gsl_stats_uint_Qn_from_sorted_data (const unsigned int sorted_data[], const size_t stride, const size_t n, unsigned int work[], int work_int[]) ;
93 
94 __END_DECLS
95 
96 #endif /* __GSL_STATISTICS_UINT_H__ */
97