20#ifndef CCGSL_STATISTICS_CHAR_HPP
21#define CCGSL_STATISTICS_CHAR_HPP
22#include<gsl/gsl_statistics_char.h>
34 inline double char_mean(
char const data[],
size_t const stride,
size_t const n ){
35 return gsl_stats_char_mean( data, stride,
n ); }
43 inline double char_variance(
char const data[],
size_t const stride,
size_t const n ){
44 return gsl_stats_char_variance( data, stride,
n ); }
52 inline double char_sd(
char const data[],
size_t const stride,
size_t const n ){
53 return gsl_stats_char_sd( data, stride,
n ); }
63 size_t const n,
double const mean ){
64 return gsl_stats_char_variance_with_fixed_mean( data, stride,
n,
mean ); }
74 size_t const n,
double const mean ){
75 return gsl_stats_char_sd_with_fixed_mean( data, stride,
n,
mean ); }
83 inline double char_tss(
char const data[],
size_t const stride,
size_t const n ){
84 return gsl_stats_char_tss( data, stride,
n ); }
93 inline double char_tss_m(
char const data[],
size_t const stride,
94 size_t const n,
double const mean ){
95 return gsl_stats_char_tss_m( data, stride,
n,
mean ); }
103 inline double char_absdev(
char const data[],
size_t const stride,
size_t const n ){
104 return gsl_stats_char_absdev( data, stride,
n ); }
112 inline double char_skew(
char const data[],
size_t const stride,
size_t const n ){
113 return gsl_stats_char_skew( data, stride,
n ); }
121 inline double char_kurtosis(
char const data[],
size_t const stride,
size_t const n ){
122 return gsl_stats_char_kurtosis( data, stride,
n ); }
131 return gsl_stats_char_lag1_autocorrelation( data, stride,
n ); }
141 inline double char_covariance(
char const data1[],
size_t const stride1,
142 char const data2[],
size_t const stride2,
144 return gsl_stats_char_covariance( data1, stride1, data2, stride2,
n ); }
154 inline double char_correlation(
char const data1[],
size_t const stride1,
char const data2[],
155 size_t const stride2,
size_t const n ){
156 return gsl_stats_char_correlation( data1, stride1, data2, stride2,
n ); }
165 inline double char_variance_m(
char const data[],
size_t const stride,
size_t const n,
167 return gsl_stats_char_variance_m( data, stride,
n,
mean ); }
176 inline double char_sd_m(
char const data[],
size_t const stride,
size_t const n,
178 return gsl_stats_char_sd_m( data, stride,
n,
mean ); }
187 inline double char_absdev_m(
char const data[],
size_t const stride,
size_t const n,
189 return gsl_stats_char_absdev_m( data, stride,
n,
mean ); }
199 inline double char_skew_m_sd(
char const data[],
size_t const stride,
size_t const n,
200 double const mean,
double const sd ){
201 return gsl_stats_char_skew_m_sd( data, stride,
n,
mean,
sd ); }
212 double const mean,
double const sd ){
213 return gsl_stats_char_kurtosis_m_sd( data, stride,
n,
mean,
sd ); }
223 size_t const n,
double const mean ){
224 return gsl_stats_char_lag1_autocorrelation_m( data, stride,
n,
mean ); }
237 char const data2[],
size_t const stride2,
238 size_t const n,
double const mean1,
double const mean2 ){
239 return gsl_stats_char_covariance_m( data1, stride1, data2, stride2,
n, mean1, mean2 ); }
250 inline double char_pvariance(
char const data1[],
size_t const stride1,
size_t const n1,
251 char const data2[],
size_t const stride2,
size_t const n2 ){
252 return gsl_stats_char_pvariance( data1, stride1, n1, data2, stride2, n2 ); }
264 inline double char_ttest(
char const data1[],
size_t const stride1,
size_t const n1,
265 char const data2[],
size_t const stride2,
size_t const n2 ){
266 return gsl_stats_char_ttest( data1, stride1, n1, data2, stride2, n2 ); }
274 inline double char_max(
char const data[],
size_t const stride,
size_t const n ){
275 return gsl_stats_char_max( data, stride,
n ); }
283 inline double char_min(
char const data[],
size_t const stride,
size_t const n ){
284 return gsl_stats_char_min( data, stride,
n ); }
293 inline void char_minmax(
char*
min,
char*
max,
char const data[],
size_t const stride,
295 gsl_stats_char_minmax(
min,
max, data, stride,
n ); }
303 inline size_t char_max_index(
char const data[],
size_t const stride,
size_t const n ){
304 return gsl_stats_char_max_index( data, stride,
n ); }
312 inline size_t char_min_index(
char const data[],
size_t const stride,
size_t const n ){
313 return gsl_stats_char_min_index( data, stride,
n ); }
323 size_t const stride,
size_t const n ){
333 size_t const stride,
size_t const n ){
334 return gsl_stats_char_median_from_sorted_data( sorted_data, stride,
n ); }
344 size_t const n,
double const f ){
345 return gsl_stats_char_quantile_from_sorted_data( sorted_data, stride,
n, f ); }
355 inline double char_mean(
char const data[],
size_t const n ){
356 return gsl_stats_char_mean( data, 1,
n ); }
364 return gsl_stats_char_variance( data, 1,
n ); }
371 inline double char_sd(
char const data[],
size_t const n ){
372 return gsl_stats_char_sd( data, 1,
n ); }
381 size_t const n,
double const mean ){
382 return gsl_stats_char_variance_with_fixed_mean( data, 1,
n,
mean ); }
391 size_t const n,
double const mean ){
392 return gsl_stats_char_sd_with_fixed_mean( data, 1,
n,
mean ); }
399 inline double char_tss(
char const data[],
size_t const n ){
400 return gsl_stats_char_tss( data, 1,
n ); }
409 size_t const n,
double const mean ){
410 return gsl_stats_char_tss_m( data, 1,
n,
mean ); }
417 inline double char_absdev(
char const data[],
size_t const n ){
418 return gsl_stats_char_absdev( data, 1,
n ); }
425 inline double char_skew(
char const data[],
size_t const n ){
426 return gsl_stats_char_skew( data, 1,
n ); }
434 return gsl_stats_char_kurtosis( data, 1,
n ); }
442 return gsl_stats_char_lag1_autocorrelation( data, 1,
n ); }
450 inline double char_covariance(
char const data1[],
char const data2[],
size_t const n ){
451 return gsl_stats_char_covariance( data1, 1, data2, 1,
n ); }
459 inline double char_correlation(
char const data1[],
char const data2[],
size_t const n ){
460 return gsl_stats_char_correlation( data1, 1, data2, 1,
n ); }
469 return gsl_stats_char_variance_m( data, 1,
n,
mean ); }
477 inline double char_sd_m(
char const data[],
size_t const n,
double const mean ){
478 return gsl_stats_char_sd_m( data, 1,
n,
mean ); }
487 return gsl_stats_char_absdev_m( data, 1,
n,
mean ); }
497 double const mean,
double const sd ){
498 return gsl_stats_char_skew_m_sd( data, 1,
n,
mean,
sd ); }
508 double const mean,
double const sd ){
509 return gsl_stats_char_kurtosis_m_sd( data, 1,
n,
mean,
sd ); }
518 size_t const n,
double const mean ){
519 return gsl_stats_char_lag1_autocorrelation_m( data, 1,
n,
mean ); }
530 size_t const n,
double const mean1,
double const mean2 ){
531 return gsl_stats_char_covariance_m( data1, 1, data2, 1,
n, mean1, mean2 ); }
540 inline double char_pvariance(
char const data1[],
size_t const n1,
541 char const data2[],
size_t const n2 ){
542 return gsl_stats_char_pvariance( data1, 1, n1, data2, 1, n2 ); }
552 inline double char_ttest(
char const data1[],
size_t const n1,
553 char const data2[],
size_t const n2 ){
554 return gsl_stats_char_ttest( data1, 1, n1, data2, 1, n2 ); }
561 inline double char_max(
char const data[],
size_t const n ){
562 return gsl_stats_char_max( data, 1,
n ); }
569 inline double char_min(
char const data[],
size_t const n ){
570 return gsl_stats_char_min( data, 1,
n ); }
580 gsl_stats_char_minmax(
min,
max, data, 1,
n ); }
588 return gsl_stats_char_max_index( data, 1,
n ); }
596 return gsl_stats_char_min_index( data, 1,
n ); }
615 return gsl_stats_char_median_from_sorted_data( sorted_data, 1,
n ); }
624 size_t const n,
double const f ){
625 return gsl_stats_char_quantile_from_sorted_data( sorted_data, 1,
n, f ); }
637 inline double char_mean( T
const& data,
size_t const stride = 1 ){
638 return gsl_stats_char_mean( data.data(), stride, data.size() / stride ); }
647 return gsl_stats_char_variance( data.data(), stride, data.size() / stride ); }
655 inline double char_sd( T
const& data,
size_t const stride = 1 ){
656 return gsl_stats_char_sd( data.data(), stride, data.size() / stride ); }
667 return gsl_stats_char_variance_with_fixed_mean( data.data(), stride, data.size() / stride,
mean ); }
676 return gsl_stats_char_variance_with_fixed_mean( data.data(), 1, data.size(),
mean ); }
687 return gsl_stats_char_sd_with_fixed_mean( data.data(), stride, data.size() / stride,
mean ); }
696 return gsl_stats_char_sd_with_fixed_mean( data.data(), 1, data.size(),
mean ); }
704 inline double char_tss( T
const& data,
size_t const stride = 1 ){
705 return gsl_stats_char_tss( data.data(), stride, data.size() / stride ); }
714 inline double char_tss_m( T
const& data,
size_t const stride,
double const mean ){
715 return gsl_stats_char_tss_m( data.data(), stride, data.size() / stride,
mean ); }
724 return gsl_stats_char_tss_m( data.data(), 1, data.size(),
mean ); }
732 inline double char_absdev( T
const& data,
size_t const stride = 1 ){
733 return gsl_stats_char_absdev( data.data(), stride, data.size() / stride ); }
741 inline double char_skew( T
const& data,
size_t const stride = 1 ){
742 return gsl_stats_char_skew( data.data(), stride, data.size() / stride ); }
751 return gsl_stats_char_kurtosis( data.data(), stride, data.size() / stride ); }
760 return gsl_stats_char_lag1_autocorrelation( data.data(), stride, data.size() / stride ); }
769 template<
typename T,
typename U>
771 U
const& data2,
size_t const stride2 ){
772 return gsl_stats_char_covariance( data1.data(), stride1, data2.data(), stride2, data1.size() / stride1 ); }
779 template<
typename T,
typename U>
781 return gsl_stats_char_covariance( data1.data(), 1, data2.data(), 1, data1.size() ); }
790 template<
typename T,
typename U>
792 size_t const stride2 ){
793 return gsl_stats_char_correlation( data1.data(), stride1, data2.data(), stride2, data1.size() / stride1 ); }
800 template<
typename T,
typename U>
802 return gsl_stats_char_correlation( data1.data(), 1, data2.data(), 1, data1.size() ); }
812 return gsl_stats_char_variance_m( data.data(), stride, data.size() / stride,
mean ); }
821 return gsl_stats_char_variance_m( data.data(), 1, data.size(),
mean ); }
830 inline double char_sd_m( T
const& data,
size_t const stride,
double const mean ){
831 return gsl_stats_char_sd_m( data.data(), stride, data.size() / stride,
mean ); }
840 return gsl_stats_char_sd_m( data.data(), 1, data.size(),
mean ); }
850 return gsl_stats_char_absdev_m( data.data(), stride, data.size() / stride,
mean ); }
859 return gsl_stats_char_absdev_m( data.data(), 1, data.size(),
mean ); }
870 double const mean,
double const sd ){
871 return gsl_stats_char_skew_m_sd( data.data(), stride, data.size() / stride,
mean,
sd ); }
881 return gsl_stats_char_skew_m_sd( data.data(), 1, data.size(),
mean,
sd ); }
892 double const mean,
double const sd ){
893 return gsl_stats_char_kurtosis_m_sd( data.data(), stride, data.size() / stride,
mean,
sd ); }
903 return gsl_stats_char_kurtosis_m_sd( data.data(), 1, data.size(),
mean,
sd ); }
914 return gsl_stats_char_lag1_autocorrelation_m( data.data(), stride, data.size() / stride,
mean ); }
923 return gsl_stats_char_lag1_autocorrelation_m( data.data(), 1, data.size(),
mean ); }
934 template<
typename T,
typename U>
936 U
const& data2,
size_t const stride2,
937 double const mean1,
double const mean2 ){
938 return gsl_stats_char_covariance_m( data1.data(), stride1, data2.data(), stride2, data1.size() / stride1,
950 double const mean1,
double const mean2 ){
951 return gsl_stats_char_covariance_m( data1.data(), 1, data2.data(), 1, data1.size(),
961 template<
typename T,
typename U>
963 U
const& data2,
size_t const stride2 ){
964 return gsl_stats_char_pvariance( data1.data(), stride1, data1.size() / stride1, data2.data(),
965 stride2, data2.size() / stride2 ); }
975 template<
typename T,
typename U>
976 inline double char_ttest( T
const& data1,
size_t const stride1,
977 U
const& data2,
size_t const stride2 ){
978 return gsl_stats_char_ttest( data1.data(), stride1, data1.size() / stride1,
979 data2.data(), stride2, data2.size() / stride2 ); }
987 inline double char_max( T
const& data,
size_t const stride = 1 ){
988 return gsl_stats_char_max( data.data(), stride, data.size() / stride ); }
996 inline double char_min( T
const& data,
size_t const stride = 1 ){
997 return gsl_stats_char_min( data.data(), stride, data.size() / stride ); }
1005 template<
typename T>
1007 gsl_stats_char_minmax( &
min, &
max, data.data(), stride, data.size() / stride ); }
1014 template<
typename T>
1016 return gsl_stats_char_max_index( data.data(), stride, data.size() / stride ); }
1023 template<
typename T>
1025 return gsl_stats_char_min_index( data.data(), stride, data.size() / stride ); }
1033 template<
typename T>
1035 size_t const stride = 1 ){
1036 gsl_stats_char_minmax_index( &
min_index, &
max_index, data.data(), stride, data.size() / stride ); }
1043 template<
typename T>
1045 return gsl_stats_char_median_from_sorted_data( sorted_data.data(), stride, sorted_data.size() / stride ); }
1053 template<
typename T>
1056 size_t const n = sorted_data.size();
1057 return gsl_stats_char_quantile_from_sorted_data( sorted_data.data(), stride,
1066 template<
typename T,
typename U>
1068 return gsl_stats_char_pvariance( data1.data(), 1, data1.size(), data2.data(), 1, data1.size() ); }
1076 template<
typename T,
typename U>
1078 return gsl_stats_char_ttest( data1.data(), 1, data1.size(), data2.data(), 1, data1.size() ); }
1085 template<
typename T>
1088 return gsl_stats_char_quantile_from_sorted_data( sorted_data.data(), 1,
1089 sorted_data.size(), f ); }
1103 inline double char_spearman(
char const data1[],
size_t const stride1,
1104 char const data2[],
size_t const stride2,
1105 size_t const n,
double work[] ){
1107 return gsl_stats_char_spearman( data1, stride1, data2, stride2,
n, work );
1109 double* workspace =
new double[2 *
n];
1110 double result = gsl_stats_char_spearman( data1, stride1, data2, stride2,
n, workspace );
1124 inline double char_spearman(
char const data1[],
char const data2[],
1125 size_t const n,
double work[] ){
1127 return gsl_stats_char_spearman( data1, 1, data2, 1,
n, work );
1129 double* workspace =
new double[2 *
n];
1130 double result = gsl_stats_char_spearman( data1, 1, data2, 1,
n, workspace );
1146 template<typename T, typename U>
1148 U
const& data2,
size_t const stride2,
1151 return gsl_stats_char_spearman( data1.data(), stride1, data2.data(), stride2,
1152 data1.size() / stride1, work );
1154 double* workspace =
new double[2 * data1.size() / stride1];
1155 double result = gsl_stats_char_spearman( data1.data(), stride1, data2.data(), stride2,
1156 data1.size() / stride1, workspace );
1169 template<
typename T,
typename U>
1172 return gsl_stats_char_spearman( data1, 1, data2, 1, data1.size(), work );
1174 double* workspace =
new double[2 * data1.size()];
1175 double result = gsl_stats_char_spearman( data1, 1, data2, 1, data1.size(), workspace );
1186 template<
typename T>
1188 size_t const n = data.size();
1189 return gsl_stats_char_median( data.data(), stride,
n ); }
1197 template<
typename T>
1199 size_t const stride=1 ){
1200 size_t const n = sorted_data.size();
1201 return gsl_stats_char_trmean_from_sorted_data( trim, sorted_data.data(), stride,
n ); }
1208 template<
typename T>
1210 size_t const n = sorted_data.size();
1211 return gsl_stats_char_gastwirth_from_sorted_data( sorted_data.data(), stride,
n ); }
1219 template<
typename T,
typename U>
1220 double char_mad0( T
const& data,
size_t const stride, U& work ){
1221 size_t const n = data.size();
1222 if( work.size() !=
n ){
1223 gsl::exception e(
"work and data must have same length", __FILE__, __LINE__,
1227 return gsl_stats_char_mad0( data.data(), stride,
n, work.data() ); }
1235 template<
typename T,
typename U>
1236 double char_mad( T
const& data,
size_t const stride, U& work ){
1237 size_t const n = data.size();
1238 if( work.size() !=
n ){
1239 gsl::exception e(
"work and data must have same length", __FILE__, __LINE__,
1243 return gsl_stats_char_mad( data.data(), stride,
n, work.data() );
1252 template<
typename T,
typename U>
1254 size_t const n = sorted_data.size();
1255 if( work.size() !=
n ){
1256 gsl::exception e(
"work and data must have same length", __FILE__, __LINE__,
1260 return gsl_stats_char_Sn0_from_sorted_data( sorted_data.data(), stride,
n, work.data() ); }
1268 template<
typename T,
typename U>
1270 size_t const n = sorted_data.size();
1271 if( work.size() !=
n ){
1272 gsl::exception e(
"work and data must have same length", __FILE__, __LINE__,
1276 return gsl_stats_char_Sn_from_sorted_data( sorted_data.data(), stride,
n, work.data() ); }
1285 template<
typename T,
typename U,
typename V>
1287 U& work, V& work_int ){
1288 size_t const n = sorted_data.size();
1289 if( work.size() != 3*
n ){
1290 gsl::exception e(
"work must be 3 × length of data", __FILE__, __LINE__,
1294 if( work_int.size() != 5*
n ){
1295 gsl::exception e(
"work_int must be 5 × length of data", __FILE__, __LINE__,
1299 return gsl_stats_char_Qn0_from_sorted_data( sorted_data.data(), stride,
n, work.data(),
1300 work_int.data() ); }
1309 template<
typename T,
typename U,
typename V>
1311 U& work, V& work_int ){
1312 size_t const n = sorted_data.size();
1313 if( work.size() != 3*
n ){
1314 gsl::exception e(
"work must be 3 × length of data", __FILE__, __LINE__,
1318 if( work_int.size() != 5*
n ){
1319 gsl::exception e(
"work_int must be 5 × length of data", __FILE__, __LINE__,
1323 return gsl_stats_char_Qn_from_sorted_data( sorted_data.data(), stride,
n, work.data(),
1324 work_int.data() ); }
1332 template<
typename T,
typename U>
1334 size_t const n = data.size();
1335 if( work.size() !=
n ){
1336 gsl::exception e(
"work and data must have same length", __FILE__, __LINE__,
1340 return gsl_stats_char_mad0( data.data(), 1,
n, work.data() ); }
1347 template<
typename T,
typename U>
1349 size_t const n = data.size();
1350 if( work.size() !=
n ){
1351 gsl::exception e(
"work and data must have same length", __FILE__, __LINE__,
1355 return gsl_stats_char_mad( data.data(), 1,
n, work.data() );
1363 template<
typename T,
typename U>
1365 size_t const n = sorted_data.size();
1366 if( work.size() !=
n ){
1367 gsl::exception e(
"work and data must have same length", __FILE__, __LINE__,
1371 return gsl_stats_char_Sn0_from_sorted_data( sorted_data.data(), 1,
n, work.data() ); }
1378 template<
typename T,
typename U>
1380 size_t const n = sorted_data.size();
1381 if( work.size() !=
n ){
1382 gsl::exception e(
"work and data must have same length", __FILE__, __LINE__,
1386 return gsl_stats_char_Sn_from_sorted_data( sorted_data.data(), 1,
n, work.data() ); }
1394 template<
typename T,
typename U,
typename V>
1396 size_t const n = sorted_data.size();
1397 if( work.size() != 3*
n ){
1398 gsl::exception e(
"work must be 3 × length of data", __FILE__, __LINE__,
1402 if( work_int.size() != 5*
n ){
1403 gsl::exception e(
"work_int must be 5 × length of data", __FILE__, __LINE__,
1407 return gsl_stats_char_Qn0_from_sorted_data( sorted_data.data(), 1,
n, work.data(),
1408 work_int.data() ); }
1416 template<
typename T,
typename U,
typename V>
1418 size_t const n = sorted_data.size();
1419 if( work.size() != 3*
n ){
1420 gsl::exception e(
"work must be 3 × length of data", __FILE__, __LINE__,
1424 if( work_int.size() != 5*
n ){
1425 gsl::exception e(
"work_int must be 5 × length of data", __FILE__, __LINE__,
1429 return gsl_stats_char_Qn_from_sorted_data( sorted_data.data(), 1,
n, work.data(),
1430 work_int.data() ); }
This class is used to handle gsl exceptions so that gsl can use these rather than the GSL error handl...
@ GSL_EBADLEN
matrix, vector lengths are not conformant
size_t n(workspace const &w)
C++ version of gsl_rstat_n().
gsl_sf_result result
Typedef for gsl_sf_result.
double min(T const &data, size_t const stride=1)
C++ version of gsl_stats_min().
double char_variance(T const &data, size_t const stride=1)
C++ version of gsl_stats_char_variance().
double max(T const &data, size_t const stride=1)
C++ version of gsl_stats_max().
double char_median_from_sorted_data(T const &sorted_data, size_t const stride=1)
C++ version of gsl_stats_char_median_from_sorted_data().
double char_quantile_from_sorted_data(T const &sorted_data, size_t const stride, double const f)
C++ version of gsl_stats_char_quantile_from_sorted_data().
double char_absdev_m(T const &data, size_t const stride, double const mean)
C++ version of gsl_stats_char_absdev_m().
double char_covariance_m(T const &data1, size_t const stride1, U const &data2, size_t const stride2, double const mean1, double const mean2)
C++ version of gsl_stats_char_covariance_m().
double char_skew(T const &data, size_t const stride=1)
C++ version of gsl_stats_char_skew().
void char_minmax(char &min, char &max, T const &data, size_t const stride=1)
C++ version of gsl_stats_char_minmax().
void char_minmax_index(size_t &min_index, size_t &max_index, T const &data, size_t const stride=1)
C++ version of gsl_stats_char_minmax_index().
double char_gastwirth_from_sorted_data(T const &sorted_data, size_t const stride=1)
C++ version of gsl_stats_char_gastwirth_from_sorted_data().
size_t char_min_index(T const &data, size_t const stride=1)
C++ version of gsl_stats_char_min_index().
double char_correlation(T const &data1, size_t const stride1, U const &data2, size_t const stride2)
C++ version of gsl_stats_char_correlation().
double char_Sn0_from_sorted_data(T const &sorted_data, size_t const stride, U &work)
C++ version of gsl_stats_char_Sn0_from_sorted_data().
double char_skew_m_sd(T const &data, size_t const stride, double const mean, double const sd)
C++ version of gsl_stats_char_skew_m_sd().
double char_kurtosis_m_sd(T const &data, size_t const stride, double const mean, double const sd)
C++ version of gsl_stats_char_kurtosis_m_sd().
char char_Qn_from_sorted_data(T const &sorted_data, size_t const stride, U &work, V &work_int)
C++ version of gsl_stats_char_Qn_from_sorted_data().
double char_mad(T const &data, size_t const stride, U &work)
C++ version of gsl_stats_char_mad().
double char_mean(T const &data, size_t const stride=1)
C++ version of gsl_stats_char_mean().
double char_absdev(T const &data, size_t const stride=1)
C++ version of gsl_stats_char_absdev().
double char_lag1_autocorrelation_m(T const &data, size_t const stride, double const mean)
C++ version of gsl_stats_char_lag1_autocorrelation_m().
double char_tss_m(T const &data, size_t const stride, double const mean)
C++ version of gsl_stats_char_tss_m().
double char_median(T &data, size_t const stride=1)
C++ version of gsl_stats_char_median().
double char_sd(T const &data, size_t const stride=1)
C++ version of gsl_stats_char_sd().
double char_pvariance(T const &data1, size_t const stride1, U const &data2, size_t const stride2)
C++ version of gsl_stats_char_pvariance().
double char_min(T const &data, size_t const stride=1)
C++ version of gsl_stats_char_min().
double char_variance_with_fixed_mean(T const &data, size_t const stride, double const mean)
C++ version of gsl_stats_char_variance_with_fixed_mean().
double char_lag1_autocorrelation(T const &data, size_t const stride=1)
C++ version of gsl_stats_char_lag1_autocorrelation().
double char_Sn_from_sorted_data(T const &sorted_data, size_t const stride, U &work)
C++ version of gsl_stats_char_Sn_from_sorted_data().
double mean(T const &data, size_t const stride=1)
C++ version of gsl_stats_mean().
double char_trmean_from_sorted_data(double const trim, T const &sorted_data, size_t const stride=1)
C++ version of gsl_stats_char_trmean_from_sorted_data().
double char_covariance(T const &data1, size_t const stride1, U const &data2, size_t const stride2)
C++ version of gsl_stats_char_covariance().
double char_ttest(T const &data1, size_t const stride1, U const &data2, size_t const stride2)
C++ version of gsl_stats_char_ttest().
double char_sd_with_fixed_mean(T const &data, size_t const stride, double const mean)
C++ version of gsl_stats_char_sd_with_fixed_mean().
size_t char_max_index(T const &data, size_t const stride=1)
C++ version of gsl_stats_char_max_index().
double char_max(T const &data, size_t const stride=1)
C++ version of gsl_stats_char_max().
double char_variance_m(T const &data, size_t const stride, double const mean)
C++ version of gsl_stats_char_variance_m().
double sd(T const &data, size_t const stride=1)
C++ version of gsl_stats_sd().
char char_Qn0_from_sorted_data(T const &sorted_data, size_t const stride, U &work, V &work_int)
C++ version of gsl_stats_char_Qn0_from_sorted_data().
double char_tss(T const &data, size_t const stride=1)
C++ version of gsl_stats_char_tss().
size_t min_index(T const &data, size_t const stride=1)
C++ version of gsl_stats_min_index().
double char_sd_m(T const &data, size_t const stride, double const mean)
C++ version of gsl_stats_char_sd_m().
size_t max_index(T const &data, size_t const stride=1)
C++ version of gsl_stats_max_index().
double char_spearman(T const &data1, size_t const stride1, U const &data2, size_t const stride2, double work[])
C++ version of gsl_stats_char_spearman().
double char_mad0(T const &data, size_t const stride, U &work)
C++ version of gsl_stats_char_mad0().
double char_kurtosis(T const &data, size_t const stride=1)
C++ version of gsl_stats_char_kurtosis().
The gsl package creates an interface to the GNU Scientific Library for C++.