1 /** D bindings for GSL.
2     Authors:    Chibisi Chima-Okereke
3     Copyright:  Copyright (c) 2016, Chibisi Chima-Okereke. All rights reserved.
4     License:    Boost License 1.0
5 */
6 
7 module gsl.statistics;
8 import core.stdc.config : c_long, c_ulong;
9 
10 extern (C):
11 
12 //gsl_statistics_char
13 double gsl_stats_char_mean (const(char)* data, const size_t stride, const size_t n);
14 double gsl_stats_char_variance (const(char)* data, const size_t stride, const size_t n);
15 double gsl_stats_char_sd (const(char)* data, const size_t stride, const size_t n);
16 double gsl_stats_char_variance_with_fixed_mean (const(char)* data, const size_t stride, const size_t n, const double mean);
17 double gsl_stats_char_sd_with_fixed_mean (const(char)* data, const size_t stride, const size_t n, const double mean);
18 double gsl_stats_char_tss (const(char)* data, const size_t stride, const size_t n);
19 double gsl_stats_char_tss_m (const(char)* data, const size_t stride, const size_t n, const double mean);
20 double gsl_stats_char_absdev (const(char)* data, const size_t stride, const size_t n);
21 double gsl_stats_char_skew (const(char)* data, const size_t stride, const size_t n);
22 double gsl_stats_char_kurtosis (const(char)* data, const size_t stride, const size_t n);
23 double gsl_stats_char_lag1_autocorrelation (const(char)* data, const size_t stride, const size_t n);
24 double gsl_stats_char_covariance (const(char)* data1, const size_t stride1, const(char)* data2, const size_t stride2, const size_t n);
25 double gsl_stats_char_correlation (const(char)* data1, const size_t stride1, const(char)* data2, const size_t stride2, const size_t n);
26 double gsl_stats_char_spearman (const(char)* data1, const size_t stride1, const(char)* data2, const size_t stride2, const size_t n, double* work);
27 double gsl_stats_char_variance_m (const(char)* data, const size_t stride, const size_t n, const double mean);
28 double gsl_stats_char_sd_m (const(char)* data, const size_t stride, const size_t n, const double mean);
29 double gsl_stats_char_absdev_m (const(char)* data, const size_t stride, const size_t n, const double mean);
30 double gsl_stats_char_skew_m_sd (const(char)* data, const size_t stride, const size_t n, const double mean, const double sd);
31 double gsl_stats_char_kurtosis_m_sd (const(char)* data, const size_t stride, const size_t n, const double mean, const double sd);
32 double gsl_stats_char_lag1_autocorrelation_m (const(char)* data, const size_t stride, const size_t n, const double mean);
33 double gsl_stats_char_covariance_m (const(char)* data1, const size_t stride1, const(char)* data2, const size_t stride2, const size_t n, const double mean1, const double mean2);
34 double gsl_stats_char_pvariance (const(char)* data1, const size_t stride1, const size_t n1, const(char)* data2, const size_t stride2, const size_t n2);
35 double gsl_stats_char_ttest (const(char)* data1, const size_t stride1, const size_t n1, const(char)* data2, const size_t stride2, const size_t n2);
36 char gsl_stats_char_max (const(char)* data, const size_t stride, const size_t n);
37 char gsl_stats_char_min (const(char)* data, const size_t stride, const size_t n);
38 void gsl_stats_char_minmax (char* min, char* max, const(char)* data, const size_t stride, const size_t n);
39 size_t gsl_stats_char_max_index (const(char)* data, const size_t stride, const size_t n);
40 size_t gsl_stats_char_min_index (const(char)* data, const size_t stride, const size_t n);
41 void gsl_stats_char_minmax_index (size_t* min_index, size_t* max_index, const(char)* data, const size_t stride, const size_t n);
42 double gsl_stats_char_median_from_sorted_data (const(char)* sorted_data, const size_t stride, const size_t n);
43 double gsl_stats_char_quantile_from_sorted_data (const(char)* sorted_data, const size_t stride, const size_t n, const double f);
44 
45 //gsl_statistics_double
46 double gsl_stats_mean (const(double)* data, const size_t stride, const size_t n);
47 double gsl_stats_variance (const(double)* data, const size_t stride, const size_t n);
48 double gsl_stats_sd (const(double)* data, const size_t stride, const size_t n);
49 double gsl_stats_variance_with_fixed_mean (const(double)* data, const size_t stride, const size_t n, const double mean);
50 double gsl_stats_sd_with_fixed_mean (const(double)* data, const size_t stride, const size_t n, const double mean);
51 double gsl_stats_tss (const(double)* data, const size_t stride, const size_t n);
52 double gsl_stats_tss_m (const(double)* data, const size_t stride, const size_t n, const double mean);
53 double gsl_stats_absdev (const(double)* data, const size_t stride, const size_t n);
54 double gsl_stats_skew (const(double)* data, const size_t stride, const size_t n);
55 double gsl_stats_kurtosis (const(double)* data, const size_t stride, const size_t n);
56 double gsl_stats_lag1_autocorrelation (const(double)* data, const size_t stride, const size_t n);
57 double gsl_stats_covariance (const(double)* data1, const size_t stride1, const(double)* data2, const size_t stride2, const size_t n);
58 double gsl_stats_correlation (const(double)* data1, const size_t stride1, const(double)* data2, const size_t stride2, const size_t n);
59 double gsl_stats_spearman (const(double)* data1, const size_t stride1, const(double)* data2, const size_t stride2, const size_t n, double* work);
60 double gsl_stats_variance_m (const(double)* data, const size_t stride, const size_t n, const double mean);
61 double gsl_stats_sd_m (const(double)* data, const size_t stride, const size_t n, const double mean);
62 double gsl_stats_absdev_m (const(double)* data, const size_t stride, const size_t n, const double mean);
63 double gsl_stats_skew_m_sd (const(double)* data, const size_t stride, const size_t n, const double mean, const double sd);
64 double gsl_stats_kurtosis_m_sd (const(double)* data, const size_t stride, const size_t n, const double mean, const double sd);
65 double gsl_stats_lag1_autocorrelation_m (const(double)* data, const size_t stride, const size_t n, const double mean);
66 double gsl_stats_covariance_m (const(double)* data1, const size_t stride1, const(double)* data2, const size_t stride2, const size_t n, const double mean1, const double mean2);
67 double gsl_stats_wmean (const(double)* w, const size_t wstride, const(double)* data, const size_t stride, const size_t n);
68 double gsl_stats_wvariance (const(double)* w, const size_t wstride, const(double)* data, const size_t stride, const size_t n);
69 double gsl_stats_wsd (const(double)* w, const size_t wstride, const(double)* data, const size_t stride, const size_t n);
70 double gsl_stats_wvariance_with_fixed_mean (const(double)* w, const size_t wstride, const(double)* data, const size_t stride, const size_t n, const double mean);
71 double gsl_stats_wsd_with_fixed_mean (const(double)* w, const size_t wstride, const(double)* data, const size_t stride, const size_t n, const double mean);
72 double gsl_stats_wtss (const(double)* w, const size_t wstride, const(double)* data, const size_t stride, const size_t n);
73 double gsl_stats_wtss_m (const(double)* w, const size_t wstride, const(double)* data, const size_t stride, const size_t n, const double wmean);
74 double gsl_stats_wabsdev (const(double)* w, const size_t wstride, const(double)* data, const size_t stride, const size_t n);
75 double gsl_stats_wskew (const(double)* w, const size_t wstride, const(double)* data, const size_t stride, const size_t n);
76 double gsl_stats_wkurtosis (const(double)* w, const size_t wstride, const(double)* data, const size_t stride, const size_t n);
77 double gsl_stats_wvariance_m (const(double)* w, const size_t wstride, const(double)* data, const size_t stride, const size_t n, const double wmean);
78 double gsl_stats_wsd_m (const(double)* w, const size_t wstride, const(double)* data, const size_t stride, const size_t n, const double wmean);
79 double gsl_stats_wabsdev_m (const(double)* w, const size_t wstride, const(double)* data, const size_t stride, const size_t n, const double wmean);
80 double gsl_stats_wskew_m_sd (const(double)* w, const size_t wstride, const(double)* data, const size_t stride, const size_t n, const double wmean, const double wsd);
81 double gsl_stats_wkurtosis_m_sd (const(double)* w, const size_t wstride, const(double)* data, const size_t stride, const size_t n, const double wmean, const double wsd);
82 double gsl_stats_pvariance (const(double)* data1, const size_t stride1, const size_t n1, const(double)* data2, const size_t stride2, const size_t n2);
83 double gsl_stats_ttest (const(double)* data1, const size_t stride1, const size_t n1, const(double)* data2, const size_t stride2, const size_t n2);
84 double gsl_stats_max (const(double)* data, const size_t stride, const size_t n);
85 double gsl_stats_min (const(double)* data, const size_t stride, const size_t n);
86 void gsl_stats_minmax (double* min, double* max, const(double)* data, const size_t stride, const size_t n);
87 size_t gsl_stats_max_index (const(double)* data, const size_t stride, const size_t n);
88 size_t gsl_stats_min_index (const(double)* data, const size_t stride, const size_t n);
89 void gsl_stats_minmax_index (size_t* min_index, size_t* max_index, const(double)* data, const size_t stride, const size_t n);
90 double gsl_stats_median_from_sorted_data (const(double)* sorted_data, const size_t stride, const size_t n);
91 double gsl_stats_quantile_from_sorted_data (const(double)* sorted_data, const size_t stride, const size_t n, const double f);
92 
93 //gsl_stats_float
94 double gsl_stats_float_mean (const(float)* data, const size_t stride, const size_t n);
95 double gsl_stats_float_variance (const(float)* data, const size_t stride, const size_t n);
96 double gsl_stats_float_sd (const(float)* data, const size_t stride, const size_t n);
97 double gsl_stats_float_variance_with_fixed_mean (const(float)* data, const size_t stride, const size_t n, const double mean);
98 double gsl_stats_float_sd_with_fixed_mean (const(float)* data, const size_t stride, const size_t n, const double mean);
99 double gsl_stats_float_tss (const(float)* data, const size_t stride, const size_t n);
100 double gsl_stats_float_tss_m (const(float)* data, const size_t stride, const size_t n, const double mean);
101 double gsl_stats_float_absdev (const(float)* data, const size_t stride, const size_t n);
102 double gsl_stats_float_skew (const(float)* data, const size_t stride, const size_t n);
103 double gsl_stats_float_kurtosis (const(float)* data, const size_t stride, const size_t n);
104 double gsl_stats_float_lag1_autocorrelation (const(float)* data, const size_t stride, const size_t n);
105 double gsl_stats_float_covariance (const(float)* data1, const size_t stride1, const(float)* data2, const size_t stride2, const size_t n);
106 double gsl_stats_float_correlation (const(float)* data1, const size_t stride1, const(float)* data2, const size_t stride2, const size_t n);
107 double gsl_stats_float_spearman (const(float)* data1, const size_t stride1, const(float)* data2, const size_t stride2, const size_t n, double* work);
108 double gsl_stats_float_variance_m (const(float)* data, const size_t stride, const size_t n, const double mean);
109 double gsl_stats_float_sd_m (const(float)* data, const size_t stride, const size_t n, const double mean);
110 double gsl_stats_float_absdev_m (const(float)* data, const size_t stride, const size_t n, const double mean);
111 double gsl_stats_float_skew_m_sd (const(float)* data, const size_t stride, const size_t n, const double mean, const double sd);
112 double gsl_stats_float_kurtosis_m_sd (const(float)* data, const size_t stride, const size_t n, const double mean, const double sd);
113 double gsl_stats_float_lag1_autocorrelation_m (const(float)* data, const size_t stride, const size_t n, const double mean);
114 double gsl_stats_float_covariance_m (const(float)* data1, const size_t stride1, const(float)* data2, const size_t stride2, const size_t n, const double mean1, const double mean2);
115 double gsl_stats_float_wmean (const(float)* w, const size_t wstride, const(float)* data, const size_t stride, const size_t n);
116 double gsl_stats_float_wvariance (const(float)* w, const size_t wstride, const(float)* data, const size_t stride, const size_t n);
117 double gsl_stats_float_wsd (const(float)* w, const size_t wstride, const(float)* data, const size_t stride, const size_t n);
118 double gsl_stats_float_wvariance_with_fixed_mean (const(float)* w, const size_t wstride, const(float)* data, const size_t stride, const size_t n, const double mean);
119 double gsl_stats_float_wsd_with_fixed_mean (const(float)* w, const size_t wstride, const(float)* data, const size_t stride, const size_t n, const double mean);
120 double gsl_stats_float_wtss (const(float)* w, const size_t wstride, const(float)* data, const size_t stride, const size_t n);
121 double gsl_stats_float_wtss_m (const(float)* w, const size_t wstride, const(float)* data, const size_t stride, const size_t n, const double wmean);
122 double gsl_stats_float_wabsdev (const(float)* w, const size_t wstride, const(float)* data, const size_t stride, const size_t n);
123 double gsl_stats_float_wskew (const(float)* w, const size_t wstride, const(float)* data, const size_t stride, const size_t n);
124 double gsl_stats_float_wkurtosis (const(float)* w, const size_t wstride, const(float)* data, const size_t stride, const size_t n);
125 double gsl_stats_float_wvariance_m (const(float)* w, const size_t wstride, const(float)* data, const size_t stride, const size_t n, const double wmean);
126 double gsl_stats_float_wsd_m (const(float)* w, const size_t wstride, const(float)* data, const size_t stride, const size_t n, const double wmean);
127 double gsl_stats_float_wabsdev_m (const(float)* w, const size_t wstride, const(float)* data, const size_t stride, const size_t n, const double wmean);
128 double gsl_stats_float_wskew_m_sd (const(float)* w, const size_t wstride, const(float)* data, const size_t stride, const size_t n, const double wmean, const double wsd);
129 double gsl_stats_float_wkurtosis_m_sd (const(float)* w, const size_t wstride, const(float)* data, const size_t stride, const size_t n, const double wmean, const double wsd);
130 double gsl_stats_float_pvariance (const(float)* data1, const size_t stride1, const size_t n1, const(float)* data2, const size_t stride2, const size_t n2);
131 double gsl_stats_float_ttest (const(float)* data1, const size_t stride1, const size_t n1, const(float)* data2, const size_t stride2, const size_t n2);
132 float gsl_stats_float_max (const(float)* data, const size_t stride, const size_t n);
133 float gsl_stats_float_min (const(float)* data, const size_t stride, const size_t n);
134 void gsl_stats_float_minmax (float* min, float* max, const(float)* data, const size_t stride, const size_t n);
135 size_t gsl_stats_float_max_index (const(float)* data, const size_t stride, const size_t n);
136 size_t gsl_stats_float_min_index (const(float)* data, const size_t stride, const size_t n);
137 void gsl_stats_float_minmax_index (size_t* min_index, size_t* max_index, const(float)* data, const size_t stride, const size_t n);
138 double gsl_stats_float_median_from_sorted_data (const(float)* sorted_data, const size_t stride, const size_t n);
139 double gsl_stats_float_quantile_from_sorted_data (const(float)* sorted_data, const size_t stride, const size_t n, const double f);
140 
141 //gsl_stats_int
142 double gsl_stats_int_mean (const(int)* data, const size_t stride, const size_t n);
143 double gsl_stats_int_variance (const(int)* data, const size_t stride, const size_t n);
144 double gsl_stats_int_sd (const(int)* data, const size_t stride, const size_t n);
145 double gsl_stats_int_variance_with_fixed_mean (const(int)* data, const size_t stride, const size_t n, const double mean);
146 double gsl_stats_int_sd_with_fixed_mean (const(int)* data, const size_t stride, const size_t n, const double mean);
147 double gsl_stats_int_tss (const(int)* data, const size_t stride, const size_t n);
148 double gsl_stats_int_tss_m (const(int)* data, const size_t stride, const size_t n, const double mean);
149 double gsl_stats_int_absdev (const(int)* data, const size_t stride, const size_t n);
150 double gsl_stats_int_skew (const(int)* data, const size_t stride, const size_t n);
151 double gsl_stats_int_kurtosis (const(int)* data, const size_t stride, const size_t n);
152 double gsl_stats_int_lag1_autocorrelation (const(int)* data, const size_t stride, const size_t n);
153 double gsl_stats_int_covariance (const(int)* data1, const size_t stride1, const(int)* data2, const size_t stride2, const size_t n);
154 double gsl_stats_int_correlation (const(int)* data1, const size_t stride1, const(int)* data2, const size_t stride2, const size_t n);
155 double gsl_stats_int_spearman (const(int)* data1, const size_t stride1, const(int)* data2, const size_t stride2, const size_t n, double* work);
156 double gsl_stats_int_variance_m (const(int)* data, const size_t stride, const size_t n, const double mean);
157 double gsl_stats_int_sd_m (const(int)* data, const size_t stride, const size_t n, const double mean);
158 double gsl_stats_int_absdev_m (const(int)* data, const size_t stride, const size_t n, const double mean);
159 double gsl_stats_int_skew_m_sd (const(int)* data, const size_t stride, const size_t n, const double mean, const double sd);
160 double gsl_stats_int_kurtosis_m_sd (const(int)* data, const size_t stride, const size_t n, const double mean, const double sd);
161 double gsl_stats_int_lag1_autocorrelation_m (const(int)* data, const size_t stride, const size_t n, const double mean);
162 double gsl_stats_int_covariance_m (const(int)* data1, const size_t stride1, const(int)* data2, const size_t stride2, const size_t n, const double mean1, const double mean2);
163 double gsl_stats_int_pvariance (const(int)* data1, const size_t stride1, const size_t n1, const(int)* data2, const size_t stride2, const size_t n2);
164 double gsl_stats_int_ttest (const(int)* data1, const size_t stride1, const size_t n1, const(int)* data2, const size_t stride2, const size_t n2);
165 int gsl_stats_int_max (const(int)* data, const size_t stride, const size_t n);
166 int gsl_stats_int_min (const(int)* data, const size_t stride, const size_t n);
167 void gsl_stats_int_minmax (int* min, int* max, const(int)* data, const size_t stride, const size_t n);
168 size_t gsl_stats_int_max_index (const(int)* data, const size_t stride, const size_t n);
169 size_t gsl_stats_int_min_index (const(int)* data, const size_t stride, const size_t n);
170 void gsl_stats_int_minmax_index (size_t* min_index, size_t* max_index, const(int)* data, const size_t stride, const size_t n);
171 double gsl_stats_int_median_from_sorted_data (const(int)* sorted_data, const size_t stride, const size_t n);
172 double gsl_stats_int_quantile_from_sorted_data (const(int)* sorted_data, const size_t stride, const size_t n, const double f);
173 
174 //gsl_stats_long
175 double gsl_stats_long_mean (const(c_long)* data, const size_t stride, const size_t n);
176 double gsl_stats_long_variance (const(c_long)* data, const size_t stride, const size_t n);
177 double gsl_stats_long_sd (const(c_long)* data, const size_t stride, const size_t n);
178 double gsl_stats_long_variance_with_fixed_mean (const(c_long)* data, const size_t stride, const size_t n, const double mean);
179 double gsl_stats_long_sd_with_fixed_mean (const(c_long)* data, const size_t stride, const size_t n, const double mean);
180 double gsl_stats_long_tss (const(c_long)* data, const size_t stride, const size_t n);
181 double gsl_stats_long_tss_m (const(c_long)* data, const size_t stride, const size_t n, const double mean);
182 double gsl_stats_long_absdev (const(c_long)* data, const size_t stride, const size_t n);
183 double gsl_stats_long_skew (const(c_long)* data, const size_t stride, const size_t n);
184 double gsl_stats_long_kurtosis (const(c_long)* data, const size_t stride, const size_t n);
185 double gsl_stats_long_lag1_autocorrelation (const(c_long)* data, const size_t stride, const size_t n);
186 double gsl_stats_long_covariance (const(c_long)* data1, const size_t stride1, const(c_long)* data2, const size_t stride2, const size_t n);
187 double gsl_stats_long_correlation (const(c_long)* data1, const size_t stride1, const(c_long)* data2, const size_t stride2, const size_t n);
188 double gsl_stats_long_spearman (const(c_long)* data1, const size_t stride1, const(c_long)* data2, const size_t stride2, const size_t n, double* work);
189 double gsl_stats_long_variance_m (const(c_long)* data, const size_t stride, const size_t n, const double mean);
190 double gsl_stats_long_sd_m (const(c_long)* data, const size_t stride, const size_t n, const double mean);
191 double gsl_stats_long_absdev_m (const(c_long)* data, const size_t stride, const size_t n, const double mean);
192 double gsl_stats_long_skew_m_sd (const(c_long)* data, const size_t stride, const size_t n, const double mean, const double sd);
193 double gsl_stats_long_kurtosis_m_sd (const(c_long)* data, const size_t stride, const size_t n, const double mean, const double sd);
194 double gsl_stats_long_lag1_autocorrelation_m (const(c_long)* data, const size_t stride, const size_t n, const double mean);
195 double gsl_stats_long_covariance_m (const(c_long)* data1, const size_t stride1, const(c_long)* data2, const size_t stride2, const size_t n, const double mean1, const double mean2);
196 double gsl_stats_long_pvariance (const(c_long)* data1, const size_t stride1, const size_t n1, const(c_long)* data2, const size_t stride2, const size_t n2);
197 double gsl_stats_long_ttest (const(c_long)* data1, const size_t stride1, const size_t n1, const(c_long)* data2, const size_t stride2, const size_t n2);
198 c_long gsl_stats_long_max (const(c_long)* data, const size_t stride, const size_t n);
199 c_long gsl_stats_long_min (const(c_long)* data, const size_t stride, const size_t n);
200 void gsl_stats_long_minmax (c_long* min, c_long* max, const(c_long)* data, const size_t stride, const size_t n);
201 size_t gsl_stats_long_max_index (const(c_long)* data, const size_t stride, const size_t n);
202 size_t gsl_stats_long_min_index (const(c_long)* data, const size_t stride, const size_t n);
203 void gsl_stats_long_minmax_index (size_t* min_index, size_t* max_index, const(c_long)* data, const size_t stride, const size_t n);
204 double gsl_stats_long_median_from_sorted_data (const(c_long)* sorted_data, const size_t stride, const size_t n);
205 double gsl_stats_long_quantile_from_sorted_data (const(c_long)* sorted_data, const size_t stride, const size_t n, const double f);
206 
207 //gsl_stats_long_double
208 double gsl_stats_long_double_mean (const(real)* data, const size_t stride, const size_t n);
209 double gsl_stats_long_double_variance (const(real)* data, const size_t stride, const size_t n);
210 double gsl_stats_long_double_sd (const(real)* data, const size_t stride, const size_t n);
211 double gsl_stats_long_double_variance_with_fixed_mean (const(real)* data, const size_t stride, const size_t n, const double mean);
212 double gsl_stats_long_double_sd_with_fixed_mean (const(real)* data, const size_t stride, const size_t n, const double mean);
213 double gsl_stats_long_double_tss (const(real)* data, const size_t stride, const size_t n);
214 double gsl_stats_long_double_tss_m (const(real)* data, const size_t stride, const size_t n, const double mean);
215 double gsl_stats_long_double_absdev (const(real)* data, const size_t stride, const size_t n);
216 double gsl_stats_long_double_skew (const(real)* data, const size_t stride, const size_t n);
217 double gsl_stats_long_double_kurtosis (const(real)* data, const size_t stride, const size_t n);
218 double gsl_stats_long_double_lag1_autocorrelation (const(real)* data, const size_t stride, const size_t n);
219 double gsl_stats_long_double_covariance (const(real)* data1, const size_t stride1, const(real)* data2, const size_t stride2, const size_t n);
220 double gsl_stats_long_double_correlation (const(real)* data1, const size_t stride1, const(real)* data2, const size_t stride2, const size_t n);
221 double gsl_stats_long_double_spearman (const(real)* data1, const size_t stride1, const(real)* data2, const size_t stride2, const size_t n, double* work);
222 double gsl_stats_long_double_variance_m (const(real)* data, const size_t stride, const size_t n, const double mean);
223 double gsl_stats_long_double_sd_m (const(real)* data, const size_t stride, const size_t n, const double mean);
224 double gsl_stats_long_double_absdev_m (const(real)* data, const size_t stride, const size_t n, const double mean);
225 double gsl_stats_long_double_skew_m_sd (const(real)* data, const size_t stride, const size_t n, const double mean, const double sd);
226 double gsl_stats_long_double_kurtosis_m_sd (const(real)* data, const size_t stride, const size_t n, const double mean, const double sd);
227 double gsl_stats_long_double_lag1_autocorrelation_m (const(real)* data, const size_t stride, const size_t n, const double mean);
228 double gsl_stats_long_double_covariance_m (const(real)* data1, const size_t stride1, const(real)* data2, const size_t stride2, const size_t n, const double mean1, const double mean2);
229 double gsl_stats_long_double_wmean (const(real)* w, const size_t wstride, const(real)* data, const size_t stride, const size_t n);
230 double gsl_stats_long_double_wvariance (const(real)* w, const size_t wstride, const(real)* data, const size_t stride, const size_t n);
231 double gsl_stats_long_double_wsd (const(real)* w, const size_t wstride, const(real)* data, const size_t stride, const size_t n);
232 double gsl_stats_long_double_wvariance_with_fixed_mean (const(real)* w, const size_t wstride, const(real)* data, const size_t stride, const size_t n, const double mean);
233 double gsl_stats_long_double_wsd_with_fixed_mean (const(real)* w, const size_t wstride, const(real)* data, const size_t stride, const size_t n, const double mean);
234 double gsl_stats_long_double_wtss (const(real)* w, const size_t wstride, const(real)* data, const size_t stride, const size_t n);
235 double gsl_stats_long_double_wtss_m (const(real)* w, const size_t wstride, const(real)* data, const size_t stride, const size_t n, const double wmean);
236 double gsl_stats_long_double_wabsdev (const(real)* w, const size_t wstride, const(real)* data, const size_t stride, const size_t n);
237 double gsl_stats_long_double_wskew (const(real)* w, const size_t wstride, const(real)* data, const size_t stride, const size_t n);
238 double gsl_stats_long_double_wkurtosis (const(real)* w, const size_t wstride, const(real)* data, const size_t stride, const size_t n);
239 double gsl_stats_long_double_wvariance_m (const(real)* w, const size_t wstride, const(real)* data, const size_t stride, const size_t n, const double wmean);
240 double gsl_stats_long_double_wsd_m (const(real)* w, const size_t wstride, const(real)* data, const size_t stride, const size_t n, const double wmean);
241 double gsl_stats_long_double_wabsdev_m (const(real)* w, const size_t wstride, const(real)* data, const size_t stride, const size_t n, const double wmean);
242 double gsl_stats_long_double_wskew_m_sd (const(real)* w, const size_t wstride, const(real)* data, const size_t stride, const size_t n, const double wmean, const double wsd);
243 double gsl_stats_long_double_wkurtosis_m_sd (const(real)* w, const size_t wstride, const(real)* data, const size_t stride, const size_t n, const double wmean, const double wsd);
244 double gsl_stats_long_double_pvariance (const(real)* data1, const size_t stride1, const size_t n1, const(real)* data2, const size_t stride2, const size_t n2);
245 double gsl_stats_long_double_ttest (const(real)* data1, const size_t stride1, const size_t n1, const(real)* data2, const size_t stride2, const size_t n2);
246 real gsl_stats_long_double_max (const(real)* data, const size_t stride, const size_t n);
247 real gsl_stats_long_double_min (const(real)* data, const size_t stride, const size_t n);
248 void gsl_stats_long_double_minmax (real* min, real* max, const(real)* data, const size_t stride, const size_t n);
249 size_t gsl_stats_long_double_max_index (const(real)* data, const size_t stride, const size_t n);
250 size_t gsl_stats_long_double_min_index (const(real)* data, const size_t stride, const size_t n);
251 void gsl_stats_long_double_minmax_index (size_t* min_index, size_t* max_index, const(real)* data, const size_t stride, const size_t n);
252 double gsl_stats_long_double_median_from_sorted_data (const(real)* sorted_data, const size_t stride, const size_t n);
253 double gsl_stats_long_double_quantile_from_sorted_data (const(real)* sorted_data, const size_t stride, const size_t n, const double f);
254 
255 //gsl_stats_short
256 double gsl_stats_short_mean (const(short)* data, const size_t stride, const size_t n);
257 double gsl_stats_short_variance (const(short)* data, const size_t stride, const size_t n);
258 double gsl_stats_short_sd (const(short)* data, const size_t stride, const size_t n);
259 double gsl_stats_short_variance_with_fixed_mean (const(short)* data, const size_t stride, const size_t n, const double mean);
260 double gsl_stats_short_sd_with_fixed_mean (const(short)* data, const size_t stride, const size_t n, const double mean);
261 double gsl_stats_short_tss (const(short)* data, const size_t stride, const size_t n);
262 double gsl_stats_short_tss_m (const(short)* data, const size_t stride, const size_t n, const double mean);
263 double gsl_stats_short_absdev (const(short)* data, const size_t stride, const size_t n);
264 double gsl_stats_short_skew (const(short)* data, const size_t stride, const size_t n);
265 double gsl_stats_short_kurtosis (const(short)* data, const size_t stride, const size_t n);
266 double gsl_stats_short_lag1_autocorrelation (const(short)* data, const size_t stride, const size_t n);
267 double gsl_stats_short_covariance (const(short)* data1, const size_t stride1, const(short)* data2, const size_t stride2, const size_t n);
268 double gsl_stats_short_correlation (const(short)* data1, const size_t stride1, const(short)* data2, const size_t stride2, const size_t n);
269 double gsl_stats_short_spearman (const(short)* data1, const size_t stride1, const(short)* data2, const size_t stride2, const size_t n, double* work);
270 double gsl_stats_short_variance_m (const(short)* data, const size_t stride, const size_t n, const double mean);
271 double gsl_stats_short_sd_m (const(short)* data, const size_t stride, const size_t n, const double mean);
272 double gsl_stats_short_absdev_m (const(short)* data, const size_t stride, const size_t n, const double mean);
273 double gsl_stats_short_skew_m_sd (const(short)* data, const size_t stride, const size_t n, const double mean, const double sd);
274 double gsl_stats_short_kurtosis_m_sd (const(short)* data, const size_t stride, const size_t n, const double mean, const double sd);
275 double gsl_stats_short_lag1_autocorrelation_m (const(short)* data, const size_t stride, const size_t n, const double mean);
276 double gsl_stats_short_covariance_m (const(short)* data1, const size_t stride1, const(short)* data2, const size_t stride2, const size_t n, const double mean1, const double mean2);
277 double gsl_stats_short_pvariance (const(short)* data1, const size_t stride1, const size_t n1, const(short)* data2, const size_t stride2, const size_t n2);
278 double gsl_stats_short_ttest (const(short)* data1, const size_t stride1, const size_t n1, const(short)* data2, const size_t stride2, const size_t n2);
279 short gsl_stats_short_max (const(short)* data, const size_t stride, const size_t n);
280 short gsl_stats_short_min (const(short)* data, const size_t stride, const size_t n);
281 void gsl_stats_short_minmax (short* min, short* max, const(short)* data, const size_t stride, const size_t n);
282 size_t gsl_stats_short_max_index (const(short)* data, const size_t stride, const size_t n);
283 size_t gsl_stats_short_min_index (const(short)* data, const size_t stride, const size_t n);
284 void gsl_stats_short_minmax_index (size_t* min_index, size_t* max_index, const(short)* data, const size_t stride, const size_t n);
285 double gsl_stats_short_median_from_sorted_data (const(short)* sorted_data, const size_t stride, const size_t n);
286 double gsl_stats_short_quantile_from_sorted_data (const(short)* sorted_data, const size_t stride, const size_t n, const double f);
287 
288 //gsl_stats_uchar
289 double gsl_stats_uchar_mean (const(ubyte)* data, const size_t stride, const size_t n);
290 double gsl_stats_uchar_variance (const(ubyte)* data, const size_t stride, const size_t n);
291 double gsl_stats_uchar_sd (const(ubyte)* data, const size_t stride, const size_t n);
292 double gsl_stats_uchar_variance_with_fixed_mean (const(ubyte)* data, const size_t stride, const size_t n, const double mean);
293 double gsl_stats_uchar_sd_with_fixed_mean (const(ubyte)* data, const size_t stride, const size_t n, const double mean);
294 double gsl_stats_uchar_tss (const(ubyte)* data, const size_t stride, const size_t n);
295 double gsl_stats_uchar_tss_m (const(ubyte)* data, const size_t stride, const size_t n, const double mean);
296 double gsl_stats_uchar_absdev (const(ubyte)* data, const size_t stride, const size_t n);
297 double gsl_stats_uchar_skew (const(ubyte)* data, const size_t stride, const size_t n);
298 double gsl_stats_uchar_kurtosis (const(ubyte)* data, const size_t stride, const size_t n);
299 double gsl_stats_uchar_lag1_autocorrelation (const(ubyte)* data, const size_t stride, const size_t n);
300 double gsl_stats_uchar_covariance (const(ubyte)* data1, const size_t stride1, const(ubyte)* data2, const size_t stride2, const size_t n);
301 double gsl_stats_uchar_correlation (const(ubyte)* data1, const size_t stride1, const(ubyte)* data2, const size_t stride2, const size_t n);
302 double gsl_stats_uchar_spearman (const(ubyte)* data1, const size_t stride1, const(ubyte)* data2, const size_t stride2, const size_t n, double* work);
303 double gsl_stats_uchar_variance_m (const(ubyte)* data, const size_t stride, const size_t n, const double mean);
304 double gsl_stats_uchar_sd_m (const(ubyte)* data, const size_t stride, const size_t n, const double mean);
305 double gsl_stats_uchar_absdev_m (const(ubyte)* data, const size_t stride, const size_t n, const double mean);
306 double gsl_stats_uchar_skew_m_sd (const(ubyte)* data, const size_t stride, const size_t n, const double mean, const double sd);
307 double gsl_stats_uchar_kurtosis_m_sd (const(ubyte)* data, const size_t stride, const size_t n, const double mean, const double sd);
308 double gsl_stats_uchar_lag1_autocorrelation_m (const(ubyte)* data, const size_t stride, const size_t n, const double mean);
309 double gsl_stats_uchar_covariance_m (const(ubyte)* data1, const size_t stride1, const(ubyte)* data2, const size_t stride2, const size_t n, const double mean1, const double mean2);
310 double gsl_stats_uchar_pvariance (const(ubyte)* data1, const size_t stride1, const size_t n1, const(ubyte)* data2, const size_t stride2, const size_t n2);
311 double gsl_stats_uchar_ttest (const(ubyte)* data1, const size_t stride1, const size_t n1, const(ubyte)* data2, const size_t stride2, const size_t n2);
312 ubyte gsl_stats_uchar_max (const(ubyte)* data, const size_t stride, const size_t n);
313 ubyte gsl_stats_uchar_min (const(ubyte)* data, const size_t stride, const size_t n);
314 void gsl_stats_uchar_minmax (ubyte* min, ubyte* max, const(ubyte)* data, const size_t stride, const size_t n);
315 size_t gsl_stats_uchar_max_index (const(ubyte)* data, const size_t stride, const size_t n);
316 size_t gsl_stats_uchar_min_index (const(ubyte)* data, const size_t stride, const size_t n);
317 void gsl_stats_uchar_minmax_index (size_t* min_index, size_t* max_index, const(ubyte)* data, const size_t stride, const size_t n);
318 double gsl_stats_uchar_median_from_sorted_data (const(ubyte)* sorted_data, const size_t stride, const size_t n);
319 double gsl_stats_uchar_quantile_from_sorted_data (const(ubyte)* sorted_data, const size_t stride, const size_t n, const double f);
320 
321 //gsl_stats_uint
322 double gsl_stats_uint_mean (const(uint)* data, const size_t stride, const size_t n);
323 double gsl_stats_uint_variance (const(uint)* data, const size_t stride, const size_t n);
324 double gsl_stats_uint_sd (const(uint)* data, const size_t stride, const size_t n);
325 double gsl_stats_uint_variance_with_fixed_mean (const(uint)* data, const size_t stride, const size_t n, const double mean);
326 double gsl_stats_uint_sd_with_fixed_mean (const(uint)* data, const size_t stride, const size_t n, const double mean);
327 double gsl_stats_uint_tss (const(uint)* data, const size_t stride, const size_t n);
328 double gsl_stats_uint_tss_m (const(uint)* data, const size_t stride, const size_t n, const double mean);
329 double gsl_stats_uint_absdev (const(uint)* data, const size_t stride, const size_t n);
330 double gsl_stats_uint_skew (const(uint)* data, const size_t stride, const size_t n);
331 double gsl_stats_uint_kurtosis (const(uint)* data, const size_t stride, const size_t n);
332 double gsl_stats_uint_lag1_autocorrelation (const(uint)* data, const size_t stride, const size_t n);
333 double gsl_stats_uint_covariance (const(uint)* data1, const size_t stride1, const(uint)* data2, const size_t stride2, const size_t n);
334 double gsl_stats_uint_correlation (const(uint)* data1, const size_t stride1, const(uint)* data2, const size_t stride2, const size_t n);
335 double gsl_stats_uint_spearman (const(uint)* data1, const size_t stride1, const(uint)* data2, const size_t stride2, const size_t n, double* work);
336 double gsl_stats_uint_variance_m (const(uint)* data, const size_t stride, const size_t n, const double mean);
337 double gsl_stats_uint_sd_m (const(uint)* data, const size_t stride, const size_t n, const double mean);
338 double gsl_stats_uint_absdev_m (const(uint)* data, const size_t stride, const size_t n, const double mean);
339 double gsl_stats_uint_skew_m_sd (const(uint)* data, const size_t stride, const size_t n, const double mean, const double sd);
340 double gsl_stats_uint_kurtosis_m_sd (const(uint)* data, const size_t stride, const size_t n, const double mean, const double sd);
341 double gsl_stats_uint_lag1_autocorrelation_m (const(uint)* data, const size_t stride, const size_t n, const double mean);
342 double gsl_stats_uint_covariance_m (const(uint)* data1, const size_t stride1, const(uint)* data2, const size_t stride2, const size_t n, const double mean1, const double mean2);
343 double gsl_stats_uint_pvariance (const(uint)* data1, const size_t stride1, const size_t n1, const(uint)* data2, const size_t stride2, const size_t n2);
344 double gsl_stats_uint_ttest (const(uint)* data1, const size_t stride1, const size_t n1, const(uint)* data2, const size_t stride2, const size_t n2);
345 uint gsl_stats_uint_max (const(uint)* data, const size_t stride, const size_t n);
346 uint gsl_stats_uint_min (const(uint)* data, const size_t stride, const size_t n);
347 void gsl_stats_uint_minmax (uint* min, uint* max, const(uint)* data, const size_t stride, const size_t n);
348 size_t gsl_stats_uint_max_index (const(uint)* data, const size_t stride, const size_t n);
349 size_t gsl_stats_uint_min_index (const(uint)* data, const size_t stride, const size_t n);
350 void gsl_stats_uint_minmax_index (size_t* min_index, size_t* max_index, const(uint)* data, const size_t stride, const size_t n);
351 double gsl_stats_uint_median_from_sorted_data (const(uint)* sorted_data, const size_t stride, const size_t n);
352 double gsl_stats_uint_quantile_from_sorted_data (const(uint)* sorted_data, const size_t stride, const size_t n, const double f);
353 
354 
355 //gsl_stats_ulong
356 double gsl_stats_ulong_mean (const(c_ulong)* data, const size_t stride, const size_t n);
357 double gsl_stats_ulong_variance (const(c_ulong)* data, const size_t stride, const size_t n);
358 double gsl_stats_ulong_sd (const(c_ulong)* data, const size_t stride, const size_t n);
359 double gsl_stats_ulong_variance_with_fixed_mean (const(c_ulong)* data, const size_t stride, const size_t n, const double mean);
360 double gsl_stats_ulong_sd_with_fixed_mean (const(c_ulong)* data, const size_t stride, const size_t n, const double mean);
361 double gsl_stats_ulong_tss (const(c_ulong)* data, const size_t stride, const size_t n);
362 double gsl_stats_ulong_tss_m (const(c_ulong)* data, const size_t stride, const size_t n, const double mean);
363 double gsl_stats_ulong_absdev (const(c_ulong)* data, const size_t stride, const size_t n);
364 double gsl_stats_ulong_skew (const(c_ulong)* data, const size_t stride, const size_t n);
365 double gsl_stats_ulong_kurtosis (const(c_ulong)* data, const size_t stride, const size_t n);
366 double gsl_stats_ulong_lag1_autocorrelation (const(c_ulong)* data, const size_t stride, const size_t n);
367 double gsl_stats_ulong_covariance (const(c_ulong)* data1, const size_t stride1, const(c_ulong)* data2, const size_t stride2, const size_t n);
368 double gsl_stats_ulong_correlation (const(c_ulong)* data1, const size_t stride1, const(c_ulong)* data2, const size_t stride2, const size_t n);
369 double gsl_stats_ulong_spearman (const(c_ulong)* data1, const size_t stride1, const(c_ulong)* data2, const size_t stride2, const size_t n, double* work);
370 double gsl_stats_ulong_variance_m (const(c_ulong)* data, const size_t stride, const size_t n, const double mean);
371 double gsl_stats_ulong_sd_m (const(c_ulong)* data, const size_t stride, const size_t n, const double mean);
372 double gsl_stats_ulong_absdev_m (const(c_ulong)* data, const size_t stride, const size_t n, const double mean);
373 double gsl_stats_ulong_skew_m_sd (const(c_ulong)* data, const size_t stride, const size_t n, const double mean, const double sd);
374 double gsl_stats_ulong_kurtosis_m_sd (const(c_ulong)* data, const size_t stride, const size_t n, const double mean, const double sd);
375 double gsl_stats_ulong_lag1_autocorrelation_m (const(c_ulong)* data, const size_t stride, const size_t n, const double mean);
376 double gsl_stats_ulong_covariance_m (const(c_ulong)* data1, const size_t stride1, const(c_ulong)* data2, const size_t stride2, const size_t n, const double mean1, const double mean2);
377 double gsl_stats_ulong_pvariance (const(c_ulong)* data1, const size_t stride1, const size_t n1, const(c_ulong)* data2, const size_t stride2, const size_t n2);
378 double gsl_stats_ulong_ttest (const(c_ulong)* data1, const size_t stride1, const size_t n1, const(c_ulong)* data2, const size_t stride2, const size_t n2);
379 c_ulong gsl_stats_ulong_max (const(c_ulong)* data, const size_t stride, const size_t n);
380 c_ulong gsl_stats_ulong_min (const(c_ulong)* data, const size_t stride, const size_t n);
381 void gsl_stats_ulong_minmax (c_ulong* min, c_ulong* max, const(c_ulong)* data, const size_t stride, const size_t n);
382 size_t gsl_stats_ulong_max_index (const(c_ulong)* data, const size_t stride, const size_t n);
383 size_t gsl_stats_ulong_min_index (const(c_ulong)* data, const size_t stride, const size_t n);
384 void gsl_stats_ulong_minmax_index (size_t* min_index, size_t* max_index, const(c_ulong)* data, const size_t stride, const size_t n);
385 double gsl_stats_ulong_median_from_sorted_data (const(c_ulong)* sorted_data, const size_t stride, const size_t n);
386 double gsl_stats_ulong_quantile_from_sorted_data (const(c_ulong)* sorted_data, const size_t stride, const size_t n, const double f);
387 
388 
389 //gsl_stats_ushort
390 double gsl_stats_ushort_mean (const(ushort)* data, const size_t stride, const size_t n);
391 double gsl_stats_ushort_variance (const(ushort)* data, const size_t stride, const size_t n);
392 double gsl_stats_ushort_sd (const(ushort)* data, const size_t stride, const size_t n);
393 double gsl_stats_ushort_variance_with_fixed_mean (const(ushort)* data, const size_t stride, const size_t n, const double mean);
394 double gsl_stats_ushort_sd_with_fixed_mean (const(ushort)* data, const size_t stride, const size_t n, const double mean);
395 double gsl_stats_ushort_tss (const(ushort)* data, const size_t stride, const size_t n);
396 double gsl_stats_ushort_tss_m (const(ushort)* data, const size_t stride, const size_t n, const double mean);
397 double gsl_stats_ushort_absdev (const(ushort)* data, const size_t stride, const size_t n);
398 double gsl_stats_ushort_skew (const(ushort)* data, const size_t stride, const size_t n);
399 double gsl_stats_ushort_kurtosis (const(ushort)* data, const size_t stride, const size_t n);
400 double gsl_stats_ushort_lag1_autocorrelation (const(ushort)* data, const size_t stride, const size_t n);
401 double gsl_stats_ushort_covariance (const(ushort)* data1, const size_t stride1, const(ushort)* data2, const size_t stride2, const size_t n);
402 double gsl_stats_ushort_correlation (const(ushort)* data1, const size_t stride1, const(ushort)* data2, const size_t stride2, const size_t n);
403 double gsl_stats_ushort_spearman (const(ushort)* data1, const size_t stride1, const(ushort)* data2, const size_t stride2, const size_t n, double* work);
404 double gsl_stats_ushort_variance_m (const(ushort)* data, const size_t stride, const size_t n, const double mean);
405 double gsl_stats_ushort_sd_m (const(ushort)* data, const size_t stride, const size_t n, const double mean);
406 double gsl_stats_ushort_absdev_m (const(ushort)* data, const size_t stride, const size_t n, const double mean);
407 double gsl_stats_ushort_skew_m_sd (const(ushort)* data, const size_t stride, const size_t n, const double mean, const double sd);
408 double gsl_stats_ushort_kurtosis_m_sd (const(ushort)* data, const size_t stride, const size_t n, const double mean, const double sd);
409 double gsl_stats_ushort_lag1_autocorrelation_m (const(ushort)* data, const size_t stride, const size_t n, const double mean);
410 double gsl_stats_ushort_covariance_m (const(ushort)* data1, const size_t stride1, const(ushort)* data2, const size_t stride2, const size_t n, const double mean1, const double mean2);
411 double gsl_stats_ushort_pvariance (const(ushort)* data1, const size_t stride1, const size_t n1, const(ushort)* data2, const size_t stride2, const size_t n2);
412 double gsl_stats_ushort_ttest (const(ushort)* data1, const size_t stride1, const size_t n1, const(ushort)* data2, const size_t stride2, const size_t n2);
413 ushort gsl_stats_ushort_max (const(ushort)* data, const size_t stride, const size_t n);
414 ushort gsl_stats_ushort_min (const(ushort)* data, const size_t stride, const size_t n);
415 void gsl_stats_ushort_minmax (ushort* min, ushort* max, const(ushort)* data, const size_t stride, const size_t n);
416 size_t gsl_stats_ushort_max_index (const(ushort)* data, const size_t stride, const size_t n);
417 size_t gsl_stats_ushort_min_index (const(ushort)* data, const size_t stride, const size_t n);
418 void gsl_stats_ushort_minmax_index (size_t* min_index, size_t* max_index, const(ushort)* data, const size_t stride, const size_t n);
419 double gsl_stats_ushort_median_from_sorted_data (const(ushort)* sorted_data, const size_t stride, const size_t n);
420 double gsl_stats_ushort_quantile_from_sorted_data (const(ushort)* sorted_data, const size_t stride, const size_t n, const double f);