20#ifndef CCGSL_STATISTICS_LONG_DOUBLE_HPP
21#define CCGSL_STATISTICS_LONG_DOUBLE_HPP
22#include<gsl/gsl_statistics_long_double.h>
34 inline double long_double_mean(
long double const data[],
size_t const stride,
size_t const n ){
35 return gsl_stats_long_double_mean( data, stride,
n ); }
44 return gsl_stats_long_double_variance( data, stride,
n ); }
52 inline double long_double_sd(
long double const data[],
size_t const stride,
size_t const n ){
53 return gsl_stats_long_double_sd( data, stride,
n ); }
63 size_t const n,
double const mean ){
64 return gsl_stats_long_double_variance_with_fixed_mean( data, stride,
n,
mean ); }
74 size_t const n,
double const mean ){
75 return gsl_stats_long_double_sd_with_fixed_mean( data, stride,
n,
mean ); }
83 inline double long_double_tss(
long double const data[],
size_t const stride,
size_t const n ){
84 return gsl_stats_long_double_tss( data, stride,
n ); }
94 size_t const n,
double const mean ){
95 return gsl_stats_long_double_tss_m( data, stride,
n,
mean ); }
103 inline double long_double_absdev(
long double const data[],
size_t const stride,
size_t const n ){
104 return gsl_stats_long_double_absdev( data, stride,
n ); }
112 inline double long_double_skew(
long double const data[],
size_t const stride,
size_t const n ){
113 return gsl_stats_long_double_skew( data, stride,
n ); }
122 return gsl_stats_long_double_kurtosis( data, stride,
n ); }
131 return gsl_stats_long_double_lag1_autocorrelation( data, stride,
n ); }
142 long double const data2[],
size_t const stride2,
144 return gsl_stats_long_double_covariance( data1, stride1, data2, stride2,
n ); }
154 inline double long_double_correlation(
long double const data1[],
size_t const stride1,
long double const data2[],
155 size_t const stride2,
size_t const n ){
156 return gsl_stats_long_double_correlation( data1, stride1, data2, stride2,
n ); }
167 return gsl_stats_long_double_variance_m( data, stride,
n,
mean ); }
176 inline double long_double_sd_m(
long double const data[],
size_t const stride,
size_t const n,
178 return gsl_stats_long_double_sd_m( data, stride,
n,
mean ); }
189 return gsl_stats_long_double_absdev_m( data, stride,
n,
mean ); }
200 double const mean,
double const sd ){
201 return gsl_stats_long_double_skew_m_sd( data, stride,
n,
mean,
sd ); }
212 double const mean,
double const sd ){
213 return gsl_stats_long_double_kurtosis_m_sd( data, stride,
n,
mean,
sd ); }
223 size_t const n,
double const mean ){
224 return gsl_stats_long_double_lag1_autocorrelation_m( data, stride,
n,
mean ); }
237 long double const data2[],
size_t const stride2,
238 size_t const n,
double const mean1,
double const mean2 ){
239 return gsl_stats_long_double_covariance_m( data1, stride1, data2, stride2,
n, mean1, mean2 ); }
250 inline double long_double_pvariance(
long double const data1[],
size_t const stride1,
size_t const n1,
251 long double const data2[],
size_t const stride2,
size_t const n2 ){
252 return gsl_stats_long_double_pvariance( data1, stride1, n1, data2, stride2, n2 ); }
264 inline double long_double_ttest(
long double const data1[],
size_t const stride1,
size_t const n1,
265 long double const data2[],
size_t const stride2,
size_t const n2 ){
266 return gsl_stats_long_double_ttest( data1, stride1, n1, data2, stride2, n2 ); }
274 inline double long_double_max(
long double const data[],
size_t const stride,
size_t const n ){
275 return gsl_stats_long_double_max( data, stride,
n ); }
283 inline double long_double_min(
long double const data[],
size_t const stride,
size_t const n ){
284 return gsl_stats_long_double_min( data, stride,
n ); }
295 gsl_stats_long_double_minmax(
min,
max, data, stride,
n ); }
304 return gsl_stats_long_double_max_index( data, stride,
n ); }
313 return gsl_stats_long_double_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_long_double_median_from_sorted_data( sorted_data, stride,
n ); }
344 size_t const n,
double const f ){
345 return gsl_stats_long_double_quantile_from_sorted_data( sorted_data, stride,
n, f ); }
356 return gsl_stats_long_double_mean( data, 1,
n ); }
364 return gsl_stats_long_double_variance( data, 1,
n ); }
371 inline double long_double_sd(
long double const data[],
size_t const n ){
372 return gsl_stats_long_double_sd( data, 1,
n ); }
381 size_t const n,
double const mean ){
382 return gsl_stats_long_double_variance_with_fixed_mean( data, 1,
n,
mean ); }
391 size_t const n,
double const mean ){
392 return gsl_stats_long_double_sd_with_fixed_mean( data, 1,
n,
mean ); }
400 return gsl_stats_long_double_tss( data, 1,
n ); }
409 size_t const n,
double const mean ){
410 return gsl_stats_long_double_tss_m( data, 1,
n,
mean ); }
418 return gsl_stats_long_double_absdev( data, 1,
n ); }
426 return gsl_stats_long_double_skew( data, 1,
n ); }
434 return gsl_stats_long_double_kurtosis( data, 1,
n ); }
442 return gsl_stats_long_double_lag1_autocorrelation( data, 1,
n ); }
451 return gsl_stats_long_double_covariance( data1, 1, data2, 1,
n ); }
460 return gsl_stats_long_double_correlation( data1, 1, data2, 1,
n ); }
469 return gsl_stats_long_double_variance_m( data, 1,
n,
mean ); }
478 return gsl_stats_long_double_sd_m( data, 1,
n,
mean ); }
487 return gsl_stats_long_double_absdev_m( data, 1,
n,
mean ); }
497 double const mean,
double const sd ){
498 return gsl_stats_long_double_skew_m_sd( data, 1,
n,
mean,
sd ); }
508 double const mean,
double const sd ){
509 return gsl_stats_long_double_kurtosis_m_sd( data, 1,
n,
mean,
sd ); }
518 size_t const n,
double const mean ){
519 return gsl_stats_long_double_lag1_autocorrelation_m( data, 1,
n,
mean ); }
530 size_t const n,
double const mean1,
double const mean2 ){
531 return gsl_stats_long_double_covariance_m( data1, 1, data2, 1,
n, mean1, mean2 ); }
541 inline long double long_double_wmean(
long double const w[],
size_t const wstride,
long double const data[],
542 size_t const stride,
size_t const n ){
543 return gsl_stats_long_double_wmean( w, wstride, data, stride,
n ); }
553 inline long double long_double_wvariance(
long double const w[],
size_t const wstride,
long double const data[],
554 size_t const stride,
size_t const n ){
555 return gsl_stats_long_double_wvariance( w, wstride, data, stride,
n ); }
565 inline long double long_double_wsd(
long double const w[],
size_t const wstride,
long double const data[],
566 size_t const stride,
size_t const n ){
567 return gsl_stats_long_double_wsd( w, wstride, data, stride,
n ); }
579 long double const data[],
size_t const stride,
580 size_t const n,
double const mean ){
581 return gsl_stats_long_double_wvariance_with_fixed_mean( w, wstride, data, stride,
n,
mean ); }
593 size_t const stride,
size_t const n,
double const mean ){
594 return gsl_stats_long_double_wsd_with_fixed_mean( w, wstride, data, stride,
n,
mean ); }
604 inline long double long_double_wtss(
long double const w[],
size_t const wstride,
long double const data[],
605 size_t const stride,
size_t const n ){
606 return gsl_stats_long_double_wtss( w, wstride, data, stride,
n ); }
617 inline long double long_double_wtss_m(
long double const w[],
size_t const wstride,
long double const data[],
618 size_t const stride,
size_t const n,
double const wmean ){
619 return gsl_stats_long_double_wtss_m( w, wstride, data, stride,
n,
wmean ); }
629 inline long double long_double_wabsdev(
long double const w[],
size_t const wstride,
long double const data[],
630 size_t const stride,
size_t const n ){
631 return gsl_stats_long_double_wabsdev( w, wstride, data, stride,
n ); }
641 inline long double long_double_wskew(
long double const w[],
size_t const wstride,
long double const data[],
642 size_t const stride,
size_t const n ){
643 return gsl_stats_long_double_wskew( w, wstride, data, stride,
n ); }
653 inline long double long_double_wkurtosis(
long double const w[],
size_t const wstride,
long double const data[],
654 size_t const stride,
size_t const n ){
655 return gsl_stats_long_double_wkurtosis( w, wstride, data, stride,
n ); }
666 inline long double long_double_wvariance_m(
long double const w[],
size_t const wstride,
long double const data[],
667 size_t const stride,
size_t const n,
double const wmean ){
668 return gsl_stats_long_double_wvariance_m( w, wstride, data, stride,
n,
wmean ); }
679 inline long double long_double_wsd_m(
long double const w[],
size_t const wstride,
long double const data[],
680 size_t const stride,
size_t const n,
double const wmean ){
681 return gsl_stats_long_double_wsd_m( w, wstride, data, stride,
n,
wmean ); }
692 inline long double long_double_wabsdev_m(
long double const w[],
size_t const wstride,
long double const data[],
693 size_t const stride,
size_t const n,
double const wmean ){
694 return gsl_stats_long_double_wabsdev_m( w, wstride, data, stride,
n,
wmean ); }
706 inline long double long_double_wskew_m_sd(
long double const w[],
size_t const wstride,
long double const data[],
707 size_t const stride,
size_t const n,
double const wmean,
709 return gsl_stats_long_double_wskew_m_sd( w, wstride, data, stride,
n,
wmean,
wsd ); }
722 size_t const stride,
size_t const n,
double const wmean,
724 return gsl_stats_long_double_wkurtosis_m_sd( w, wstride, data, stride,
n,
wmean,
wsd ); }
734 inline long double long_double_wmean(
long double const w[],
long double const data[],
736 return gsl_stats_long_double_wmean( w, 1, data, 1,
n ); }
746 return gsl_stats_long_double_wvariance( w, 1, data, 1,
n ); }
754 inline long double long_double_wsd(
long double const w[],
long double const data[],
756 return gsl_stats_long_double_wsd( w, 1, data, 1,
n ); }
766 long double const data[],
767 size_t const n,
double const mean ){
768 return gsl_stats_long_double_wvariance_with_fixed_mean( w, 1, data, 1,
n,
mean ); }
778 size_t const n,
double const mean ){
779 return gsl_stats_long_double_wsd_with_fixed_mean( w, 1, data, 1,
n,
mean ); }
787 inline long double long_double_wtss(
long double const w[],
long double const data[],
789 return gsl_stats_long_double_wtss( w, 1, data, 1,
n ); }
798 inline long double long_double_wtss_m(
long double const w[],
long double const data[],
799 size_t const n,
double const wmean ){
800 return gsl_stats_long_double_wtss_m( w, 1, data, 1,
n,
wmean ); }
810 return gsl_stats_long_double_wabsdev( w, 1, data, 1,
n ); }
818 inline long double long_double_wskew(
long double const w[],
long double const data[],
820 return gsl_stats_long_double_wskew( w, 1, data, 1,
n ); }
830 return gsl_stats_long_double_wkurtosis( w, 1, data, 1,
n ); }
840 size_t const n,
double const wmean ){
841 return gsl_stats_long_double_wvariance_m( w, 1, data, 1,
n,
wmean ); }
850 inline long double long_double_wsd_m(
long double const w[],
long double const data[],
851 size_t const n,
double const wmean ){
852 return gsl_stats_long_double_wsd_m( w, 1, data, 1,
n,
wmean ); }
862 size_t const n,
double const wmean ){
863 return gsl_stats_long_double_wabsdev_m( w, 1, data, 1,
n,
wmean ); }
874 size_t const n,
double const wmean,
876 return gsl_stats_long_double_wskew_m_sd( w, 1, data, 1,
n,
wmean,
wsd ); }
887 size_t const n,
double const wmean,
889 return gsl_stats_long_double_wkurtosis_m_sd( w, 1, data, 1,
n,
wmean,
wsd ); }
899 long double const data2[],
size_t const n2 ){
900 return gsl_stats_long_double_pvariance( data1, 1, n1, data2, 1, n2 ); }
911 long double const data2[],
size_t const n2 ){
912 return gsl_stats_long_double_ttest( data1, 1, n1, data2, 1, n2 ); }
920 return gsl_stats_long_double_max( data, 1,
n ); }
928 return gsl_stats_long_double_min( data, 1,
n ); }
938 gsl_stats_long_double_minmax(
min,
max, data, 1,
n ); }
946 return gsl_stats_long_double_max_index( data, 1,
n ); }
954 return gsl_stats_long_double_min_index( data, 1,
n ); }
973 return gsl_stats_long_double_median_from_sorted_data( sorted_data, 1,
n ); }
982 size_t const n,
double const f ){
983 return gsl_stats_long_double_quantile_from_sorted_data( sorted_data, 1,
n, f ); }
996 return gsl_stats_long_double_mean( data.data(), stride, data.size() / stride ); }
1003 template<
typename T>
1005 return gsl_stats_long_double_variance( data.data(), stride, data.size() / stride ); }
1012 template<
typename T>
1014 return gsl_stats_long_double_sd( data.data(), stride, data.size() / stride ); }
1022 template<
typename T>
1024 double const mean ){
1025 return gsl_stats_long_double_variance_with_fixed_mean( data.data(), stride, data.size() / stride,
mean ); }
1032 template<
typename T>
1034 return gsl_stats_long_double_variance_with_fixed_mean( data.data(), 1, data.size(),
mean ); }
1042 template<
typename T>
1044 double const mean ){
1045 return gsl_stats_long_double_sd_with_fixed_mean( data.data(), stride, data.size() / stride,
mean ); }
1052 template<
typename T>
1054 return gsl_stats_long_double_sd_with_fixed_mean( data.data(), 1, data.size(),
mean ); }
1061 template<
typename T>
1063 return gsl_stats_long_double_tss( data.data(), stride, data.size() / stride ); }
1071 template<
typename T>
1073 return gsl_stats_long_double_tss_m( data.data(), stride, data.size() / stride,
mean ); }
1080 template<
typename T>
1082 return gsl_stats_long_double_tss_m( data.data(), 1, data.size(),
mean ); }
1089 template<
typename T>
1091 return gsl_stats_long_double_absdev( data.data(), stride, data.size() / stride ); }
1098 template<
typename T>
1100 return gsl_stats_long_double_skew( data.data(), stride, data.size() / stride ); }
1107 template<
typename T>
1109 return gsl_stats_long_double_kurtosis( data.data(), stride, data.size() / stride ); }
1116 template<
typename T>
1118 return gsl_stats_long_double_lag1_autocorrelation( data.data(), stride, data.size() / stride ); }
1127 template<
typename T,
typename U>
1129 U
const& data2,
size_t const stride2 ){
1130 return gsl_stats_long_double_covariance( data1.data(), stride1, data2.data(), stride2, data1.size() / stride1 ); }
1137 template<
typename T,
typename U>
1139 return gsl_stats_long_double_covariance( data1.data(), 1, data2.data(), 1, data1.size() ); }
1149 template<
typename U,
typename T>
1151 size_t const stride ){
1152 return gsl_stats_long_double_wmean( w.data(), wstride, data.data(), stride, data.size() / stride ); }
1161 template<
typename U,
typename T>
1163 size_t const stride ){
1164 return gsl_stats_long_double_wvariance( w.data(), wstride, data.data(), stride, data.size() / stride ); }
1173 template<
typename U,
typename T>
1175 size_t const stride ){
1176 return gsl_stats_long_double_wsd( w.data(), wstride, data.data(), stride, data.size() / stride ); }
1186 template<
typename U,
typename T>
1188 T
const& data,
size_t const stride,
1189 double const mean ){
1190 return gsl_stats_long_double_wvariance_with_fixed_mean( w.data(), wstride, data.data(), stride,
1191 data.size() / stride,
mean ); }
1201 template<
typename U,
typename T>
1203 size_t const stride,
double const mean ){
1204 return gsl_stats_long_double_wsd_with_fixed_mean( w.data(), wstride, data.data(), stride,
1205 data.size() / stride,
mean ); }
1214 template<
typename U,
typename T>
1216 size_t const stride ){
1217 return gsl_stats_long_double_wtss( w.data(), wstride, data.data(), stride, data.size() / stride ); }
1227 template<
typename U,
typename T>
1229 size_t const stride,
double const wmean ){
1230 return gsl_stats_long_double_wtss_m( w.data(), wstride, data.data(), stride, data.size() / stride,
wmean ); }
1239 template<
typename U,
typename T>
1241 size_t const stride ){
1242 return gsl_stats_long_double_wabsdev( w.data(), wstride, data.data(), stride, data.size() / stride ); }
1251 template<
typename U,
typename T>
1253 size_t const stride ){
1254 return gsl_stats_long_double_wskew( w.data(), wstride, data.data(), stride, data.size() / stride ); }
1263 template<
typename U,
typename T>
1265 size_t const stride ){
1266 return gsl_stats_long_double_wkurtosis( w.data(), wstride, data.data(), stride, data.size() / stride ); }
1276 template<
typename U,
typename T>
1278 size_t const stride,
double const wmean ){
1279 return gsl_stats_long_double_wvariance_m( w.data(), wstride, data.data(), stride, data.size() / stride,
wmean ); }
1289 template<
typename U,
typename T>
1291 size_t const stride,
double const wmean ){
1292 return gsl_stats_long_double_wsd_m( w.data(), wstride, data.data(), stride, data.size() / stride,
wmean ); }
1302 template<
typename U,
typename T>
1304 size_t const stride,
double const wmean ){
1305 return gsl_stats_long_double_wabsdev_m( w.data(), wstride, data.data(), stride, data.size() / stride,
wmean ); }
1316 template<
typename U,
typename T>
1318 size_t const stride,
double const wmean,
1320 return gsl_stats_long_double_wskew_m_sd( w.data(), wstride, data.data(), stride,
1321 data.size() / stride,
wmean,
wsd ); }
1332 template<
typename U,
typename T>
1334 size_t const stride,
double const wmean,
1336 return gsl_stats_long_double_wkurtosis_m_sd( w.data(), wstride, data.data(), stride,
1337 data.size() / stride,
wmean,
wsd ); }
1345 template<
typename U,
typename T>
1347 return gsl_stats_long_double_wmean( w.data(), 1, data.data(), 1, data.size() ); }
1354 template<
typename U,
typename T>
1356 return gsl_stats_long_double_wvariance( w.data(), 1, data.data(), 1, data.size() ); }
1363 template<
typename U,
typename T>
1365 return gsl_stats_long_double_wsd( w.data(), 1, data.data(), 1, data.size() ); }
1373 template<
typename U,
typename T>
1375 return gsl_stats_long_double_wvariance_with_fixed_mean( w.data(), 1, data.data(), 1,
1376 data.size(),
mean ); }
1384 template<
typename U,
typename T>
1386 return gsl_stats_long_double_wsd_with_fixed_mean( w.data(), 1, data.data(), 1,
1387 data.size(),
mean ); }
1394 template<
typename U,
typename T>
1396 return gsl_stats_long_double_wtss( w.data(), 1, data.data(), 1, data.size() ); }
1404 template<
typename U,
typename T>
1406 return gsl_stats_long_double_wtss_m( w.data(), 1, data.data(), 1, data.size(),
wmean ); }
1413 template<
typename U,
typename T>
1415 return gsl_stats_long_double_wabsdev( w.data(), 1, data.data(), 1, data.size() ); }
1422 template<
typename U,
typename T>
1424 return gsl_stats_long_double_wskew( w.data(), 1, data.data(), 1, data.size() ); }
1431 template<
typename U,
typename T>
1433 return gsl_stats_long_double_wkurtosis( w.data(), 1, data.data(), 1, data.size() ); }
1441 template<
typename U,
typename T>
1443 return gsl_stats_long_double_wvariance_m( w.data(), 1, data.data(), 1, data.size(),
wmean ); }
1451 template<
typename U,
typename T>
1453 return gsl_stats_long_double_wsd_m( w.data(), 1, data.data(), 1, data.size(),
wmean ); }
1461 template<
typename U,
typename T>
1463 return gsl_stats_long_double_wabsdev_m( w.data(), 1, data.data(), 1, data.size(),
wmean ); }
1472 template<
typename U,
typename T>
1474 return gsl_stats_long_double_wskew_m_sd( w.data(), 1, data.data(), 1, data.size(),
wmean,
wsd ); }
1483 template<
typename U,
typename T>
1485 return gsl_stats_long_double_wkurtosis_m_sd( w.data(), 1, data.data(), 1, data.size(),
wmean,
wsd ); }
1496 template<
typename T,
typename U>
1498 size_t const stride2 ){
1499 return gsl_stats_long_double_correlation( data1.data(), stride1, data2.data(), stride2, data1.size() / stride1 ); }
1506 template<
typename T,
typename U>
1508 return gsl_stats_long_double_correlation( data1.data(), 1, data2.data(), 1, data1.size() ); }
1516 template<
typename T>
1518 return gsl_stats_long_double_variance_m( data.data(), stride, data.size() / stride,
mean ); }
1525 template<
typename T>
1527 return gsl_stats_long_double_variance_m( data.data(), 1, data.size(),
mean ); }
1535 template<
typename T>
1537 return gsl_stats_long_double_sd_m( data.data(), stride, data.size() / stride,
mean ); }
1544 template<
typename T>
1546 return gsl_stats_long_double_sd_m( data.data(), 1, data.size(),
mean ); }
1554 template<
typename T>
1556 return gsl_stats_long_double_absdev_m( data.data(), stride, data.size() / stride,
mean ); }
1563 template<
typename T>
1565 return gsl_stats_long_double_absdev_m( data.data(), 1, data.size(),
mean ); }
1574 template<
typename T>
1576 double const mean,
double const sd ){
1577 return gsl_stats_long_double_skew_m_sd( data.data(), stride, data.size() / stride,
mean,
sd ); }
1585 template<
typename T>
1587 return gsl_stats_long_double_skew_m_sd( data.data(), 1, data.size(),
mean,
sd ); }
1596 template<
typename T>
1598 double const mean,
double const sd ){
1599 return gsl_stats_long_double_kurtosis_m_sd( data.data(), stride, data.size() / stride,
mean,
sd ); }
1607 template<
typename T>
1609 return gsl_stats_long_double_kurtosis_m_sd( data.data(), 1, data.size(),
mean,
sd ); }
1617 template<
typename T>
1619 double const mean ){
1620 return gsl_stats_long_double_lag1_autocorrelation_m( data.data(), stride, data.size() / stride,
mean ); }
1627 template<
typename T>
1629 return gsl_stats_long_double_lag1_autocorrelation_m( data.data(), 1, data.size(),
mean ); }
1640 template<
typename T,
typename U>
1642 U
const& data2,
size_t const stride2,
1643 double const mean1,
double const mean2 ){
1644 return gsl_stats_long_double_covariance_m( data1.data(), stride1, data2.data(), stride2, data1.size() / stride1,
1654 template<
typename T>
1656 double const mean1,
double const mean2 ){
1657 return gsl_stats_long_double_covariance_m( data1.data(), 1, data2.data(), 1, data1.size(),
1667 template<
typename T,
typename U>
1669 U
const& data2,
size_t const stride2 ){
1670 return gsl_stats_long_double_pvariance( data1.data(), stride1, data1.size() / stride1, data2.data(),
1671 stride2, data2.size() / stride2 ); }
1681 template<
typename T,
typename U>
1683 U
const& data2,
size_t const stride2 ){
1684 return gsl_stats_long_double_ttest( data1.data(), stride1, data1.size() / stride1,
1685 data2.data(), stride2, data2.size() / stride2 ); }
1692 template<
typename T>
1694 return gsl_stats_long_double_max( data.data(), stride, data.size() / stride ); }
1701 template<
typename T>
1703 return gsl_stats_long_double_min( data.data(), stride, data.size() / stride ); }
1711 template<
typename T>
1713 gsl_stats_long_double_minmax( &
min, &
max, data.data(), stride, data.size() / stride ); }
1720 template<
typename T>
1722 return gsl_stats_long_double_max_index( data.data(), stride, data.size() / stride ); }
1729 template<
typename T>
1731 return gsl_stats_long_double_min_index( data.data(), stride, data.size() / stride ); }
1739 template<
typename T>
1741 size_t const stride = 1 ){
1742 gsl_stats_long_double_minmax_index( &
min_index, &
max_index, data.data(), stride, data.size() / stride ); }
1749 template<
typename T>
1751 return gsl_stats_long_double_median_from_sorted_data( sorted_data.data(), stride, sorted_data.size() / stride ); }
1759 template<
typename T>
1762 return gsl_stats_long_double_quantile_from_sorted_data( sorted_data.data(), stride,
1763 sorted_data.size() / stride, f ); }
1771 template<
typename T,
typename U>
1773 return gsl_stats_long_double_pvariance( data1.data(), 1, data1.size(), data2.data(), 1, data1.size() ); }
1781 template<
typename T,
typename U>
1783 return gsl_stats_long_double_ttest( data1.data(), 1, data1.size(), data2.data(), 1, data1.size() ); }
1790 template<
typename T>
1792 return gsl_stats_long_double_quantile_from_sorted_data( sorted_data.data(), 1, sorted_data.size(), f ); }
1807 long double const data2[],
size_t const stride2,
1808 size_t const n,
double work[] ){
1810 return gsl_stats_long_double_spearman( data1, stride1, data2, stride2,
n, work );
1812 double* workspace =
new double[2 *
n];
1813 double result = gsl_stats_long_double_spearman( data1, stride1, data2, stride2,
n, workspace );
1828 size_t const n,
double work[] ){
1830 return gsl_stats_long_double_spearman( data1, 1, data2, 1,
n, work );
1832 double* workspace =
new double[2 *
n];
1833 double result = gsl_stats_long_double_spearman( data1, 1, data2, 1,
n, workspace );
1849 template<typename T, typename U>
1851 U
const& data2,
size_t const stride2,
1854 return gsl_stats_long_double_spearman( data1.data(), stride1, data2.data(), stride2,
1855 data1.size() / stride1, work );
1857 double* workspace =
new double[2 * data1.size() / stride1];
1858 double result = gsl_stats_long_double_spearman( data1.data(), stride1, data2.data(), stride2,
1859 data1.size() / stride1, workspace );
1872 template<
typename T,
typename U>
1875 return gsl_stats_long_double_spearman( data1, 1, data2, 1, data1.size(), work );
1877 double* workspace =
new double[2 * data1.size()];
1878 double result = gsl_stats_long_double_spearman( data1, 1, data2, 1, data1.size(), workspace );
1889 template<
typename T>
1891 return gsl_stats_long_double_median( data.data(), stride, data.size() ); }
1899 template<
typename T>
1901 size_t const stride=1 ){
1902 return gsl_stats_long_double_trmean_from_sorted_data( trim, sorted_data.data(), stride,
1903 sorted_data.size() ); }
1910 template<
typename T>
1912 return gsl_stats_long_double_gastwirth_from_sorted_data( sorted_data.data(), stride,
1913 sorted_data.size() ); }
1921 template<
typename T,
typename U>
1923 size_t const n = data.size();
1924 if( work.size() !=
n ){
1925 gsl::exception e(
"work and data must have same length", __FILE__, __LINE__,
1929 return gsl_stats_long_double_mad0( data.data(), stride,
n, work.data() ); }
1937 template<
typename T,
typename U>
1939 size_t const n = data.size();
1940 if( work.size() !=
n ){
1941 gsl::exception e(
"work and data must have same length", __FILE__, __LINE__,
1945 return gsl_stats_long_double_mad( data.data(), stride,
n, work.data() );
1954 template<
typename T,
typename U>
1956 size_t const n = sorted_data.size();
1957 if( work.size() !=
n ){
1958 gsl::exception e(
"work and data must have same length", __FILE__, __LINE__,
1962 return gsl_stats_long_double_Sn0_from_sorted_data( sorted_data.data(), stride,
n, work.data() ); }
1970 template<
typename T,
typename U>
1972 size_t const n = sorted_data.size();
1973 if( work.size() !=
n ){
1974 gsl::exception e(
"work and data must have same length", __FILE__, __LINE__,
1978 return gsl_stats_long_double_Sn_from_sorted_data( sorted_data.data(), stride,
n, work.data() ); }
1987 template<
typename T,
typename U,
typename V>
1989 U& work, V& work_int ){
1990 size_t const n = sorted_data.size();
1991 if( work.size() != 3*
n ){
1992 gsl::exception e(
"work must be 3 × length of data", __FILE__, __LINE__,
1996 if( work_int.size() != 5*
n ){
1997 gsl::exception e(
"work_int must be 5 × length of data", __FILE__, __LINE__,
2001 return gsl_stats_long_double_Qn0_from_sorted_data( sorted_data.data(), stride,
n, work.data(),
2002 work_int.data() ); }
2011 template<
typename T,
typename U,
typename V>
2013 U& work, V& work_int ){
2014 size_t const n = sorted_data.size();
2015 if( work.size() != 3*
n ){
2016 gsl::exception e(
"work must be 3 × length of data", __FILE__, __LINE__,
2020 if( work_int.size() != 5*
n ){
2021 gsl::exception e(
"work_int must be 5 × length of data", __FILE__, __LINE__,
2025 return gsl_stats_long_double_Qn_from_sorted_data( sorted_data.data(), stride,
n, work.data(),
2026 work_int.data() ); }
2034 template<
typename T,
typename U>
2036 size_t const n = data.size();
2037 if( work.size() !=
n ){
2038 gsl::exception e(
"work and data must have same length", __FILE__, __LINE__,
2042 return gsl_stats_long_double_mad0( data.data(), 1,
n, work.data() ); }
2049 template<
typename T,
typename U>
2051 size_t const n = data.size();
2052 if( work.size() !=
n ){
2053 gsl::exception e(
"work and data must have same length", __FILE__, __LINE__,
2057 return gsl_stats_long_double_mad( data.data(), 1,
n, work.data() );
2065 template<
typename T,
typename U>
2067 size_t const n = sorted_data.size();
2068 if( work.size() !=
n ){
2069 gsl::exception e(
"work and data must have same length", __FILE__, __LINE__,
2073 return gsl_stats_long_double_Sn0_from_sorted_data( sorted_data.data(), 1,
n, work.data() ); }
2080 template<
typename T,
typename U>
2082 size_t const n = sorted_data.size();
2083 if( work.size() !=
n ){
2084 gsl::exception e(
"work and data must have same length", __FILE__, __LINE__,
2088 return gsl_stats_long_double_Sn_from_sorted_data( sorted_data.data(), 1,
n, work.data() ); }
2096 template<
typename T,
typename U,
typename V>
2098 size_t const n = sorted_data.size();
2099 if( work.size() != 3*
n ){
2100 gsl::exception e(
"work must be 3 × length of data", __FILE__, __LINE__,
2104 if( work_int.size() != 5*
n ){
2105 gsl::exception e(
"work_int must be 5 × length of data", __FILE__, __LINE__,
2109 return gsl_stats_long_double_Qn0_from_sorted_data( sorted_data.data(), 1,
n, work.data(),
2110 work_int.data() ); }
2118 template<
typename T,
typename U,
typename V>
2120 size_t const n = sorted_data.size();
2121 if( work.size() != 3*
n ){
2122 gsl::exception e(
"work must be 3 × length of data", __FILE__, __LINE__,
2126 if( work_int.size() != 5*
n ){
2127 gsl::exception e(
"work_int must be 5 × length of data", __FILE__, __LINE__,
2131 return gsl_stats_long_double_Qn_from_sorted_data( sorted_data.data(), 1,
n, work.data(),
2132 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 long_double_trmean_from_sorted_data(double const trim, T const &sorted_data, size_t const stride=1)
C++ version of gsl_stats_double_long_double_trmean_from_sorted_data().
double min(T const &data, size_t const stride=1)
C++ version of gsl_stats_min().
double long_double_wsd(U const &w, size_t const wstride, T const &data, size_t const stride)
C++ version of gsl_stats_long_double_wsd().
double max(T const &data, size_t const stride=1)
C++ version of gsl_stats_max().
double wmean(U const &w, size_t const wstride, T const &data, size_t const stride)
C++ version of gsl_stats_wmean().
double long_double_sd(T const &data, size_t const stride=1)
C++ version of gsl_stats_long_double_sd().
double long_double_lag1_autocorrelation(T const &data, size_t const stride=1)
C++ version of gsl_stats_long_double_lag1_autocorrelation().
double long_double_wskew_m_sd(U const &w, size_t const wstride, T const &data, size_t const stride, double const wmean, double const wsd)
C++ version of gsl_stats_long_double_wskew_m_sd().
double long_double_kurtosis_m_sd(T const &data, size_t const stride, double const mean, double const sd)
C++ version of gsl_stats_long_double_kurtosis_m_sd().
double long_double_wsd_with_fixed_mean(U const &w, size_t const wstride, T const &data, size_t const stride, double const mean)
C++ version of gsl_stats_long_double_wsd_with_fixed_mean().
double long_double_absdev_m(T const &data, size_t const stride, double const mean)
C++ version of gsl_stats_long_double_absdev_m().
void long_double_minmax_index(size_t &min_index, size_t &max_index, T const &data, size_t const stride=1)
C++ version of gsl_stats_long_double_minmax_index().
double long_double_mad(T const &data, size_t const stride, U &work)
C++ version of gsl_stats_long_double_mad().
double wsd(U const &w, size_t const wstride, T const &data, size_t const stride)
C++ version of gsl_stats_wsd().
double long_double_wskew(U const &w, size_t const wstride, T const &data, size_t const stride)
C++ version of gsl_stats_long_double_wskew().
double long_double_tss_m(T const &data, size_t const stride, double const mean)
C++ version of gsl_stats_long_double_tss_m().
double long_double_wvariance(U const &w, size_t const wstride, T const &data, size_t const stride)
C++ version of gsl_stats_long_double_wvariance().
double long_double_wvariance_m(U const &w, size_t const wstride, T const &data, size_t const stride, double const wmean)
C++ version of gsl_stats_long_double_wvariance_m().
double long_double_wtss(U const &w, size_t const wstride, T const &data, size_t const stride)
C++ version of gsl_stats_long_double_wtss().
size_t long_double_max_index(T const &data, size_t const stride=1)
C++ version of gsl_stats_long_double_max_index().
double long_double_lag1_autocorrelation_m(T const &data, size_t const stride, double const mean)
C++ version of gsl_stats_long_double_lag1_autocorrelation_m().
double long_double_wkurtosis_m_sd(U const &w, size_t const wstride, T const &data, size_t const stride, double const wmean, double const wsd)
C++ version of gsl_stats_long_double_wkurtosis_m_sd().
double long_double_wabsdev_m(U const &w, size_t const wstride, T const &data, size_t const stride, double const wmean)
C++ version of gsl_stats_long_double_wabsdev_m().
double long_double_gastwirth_from_sorted_data(T const &sorted_data, size_t const stride=1)
C++ version of gsl_stats_long_double_gastwirth_from_sorted_data().
double long_double_correlation(T const &data1, size_t const stride1, U const &data2, size_t const stride2)
C++ version of gsl_stats_long_double_correlation().
double long_double_sd_m(T const &data, size_t const stride, double const mean)
C++ version of gsl_stats_long_double_sd_m().
double long_double_skew_m_sd(T const &data, size_t const stride, double const mean, double const sd)
C++ version of gsl_stats_long_double_skew_m_sd().
double long_double_ttest(T const &data1, size_t const stride1, U const &data2, size_t const stride2)
C++ version of gsl_stats_long_double_ttest().
double long_double_max(T const &data, size_t const stride=1)
C++ version of gsl_stats_long_double_max().
double long_double_sd_with_fixed_mean(T const &data, size_t const stride, double const mean)
C++ version of gsl_stats_long_double_sd_with_fixed_mean().
double long_double_wkurtosis(U const &w, size_t const wstride, T const &data, size_t const stride)
C++ version of gsl_stats_long_double_wkurtosis().
double long_double_kurtosis(T const &data, size_t const stride=1)
C++ version of gsl_stats_long_double_kurtosis().
double long_double_wtss_m(U const &w, size_t const wstride, T const &data, size_t const stride, double const wmean)
C++ version of gsl_stats_long_double_wtss_m().
double long_double_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_long_double_covariance_m().
double long_double_Qn0_from_sorted_data(T const &sorted_data, size_t const stride, U &work, V &work_int)
C++ version of gsl_stats_long_double_Qn0_from_sorted_data().
double long_double_skew(T const &data, size_t const stride=1)
C++ version of gsl_stats_long_double_skew().
double long_double_Sn0_from_sorted_data(T const &sorted_data, size_t const stride, U &work)
C++ version of gsl_stats_long_double_Sn0_from_sorted_data().
double long_double_wvariance_with_fixed_mean(U const &w, size_t const wstride, T const &data, size_t const stride, double const mean)
C++ version of gsl_stats_long_double_wvariance_with_fixed_mean().
double long_double_variance_m(T const &data, size_t const stride, double const mean)
C++ version of gsl_stats_long_double_variance_m().
size_t long_double_min_index(T const &data, size_t const stride=1)
C++ version of gsl_stats_long_double_min_index().
double long_double_variance_with_fixed_mean(T const &data, size_t const stride, double const mean)
C++ version of gsl_stats_long_double_variance_with_fixed_mean().
double long_double_absdev(T const &data, size_t const stride=1)
C++ version of gsl_stats_long_double_absdev().
double long_double_wabsdev(U const &w, size_t const wstride, T const &data, size_t const stride)
C++ version of gsl_stats_long_double_wabsdev().
double long_double_tss(T const &data, size_t const stride=1)
C++ version of gsl_stats_long_double_tss().
double mean(T const &data, size_t const stride=1)
C++ version of gsl_stats_mean().
void long_double_minmax(long double &min, long double &max, T const &data, size_t const stride=1)
C++ version of gsl_stats_long_double_minmax().
double long_double_covariance(T const &data1, size_t const stride1, U const &data2, size_t const stride2)
C++ version of gsl_stats_long_double_covariance().
double long_double_median(T &data, size_t const stride=1)
C++ version of gsl_stats_double_long_double_median().
double long_double_Qn_from_sorted_data(T const &sorted_data, size_t const stride, U &work, V &work_int)
C++ version of gsl_stats_long_double_Qn_from_sorted_data().
double long_double_spearman(T const &data1, size_t const stride1, U const &data2, size_t const stride2, double work[])
C++ version of gsl_stats_long_double_spearman().
double long_double_min(T const &data, size_t const stride=1)
C++ version of gsl_stats_long_double_min().
double long_double_mad0(T const &data, size_t const stride, U &work)
C++ version of gsl_stats_long_double_mad0().
double long_double_mean(T const &data, size_t const stride=1)
C++ version of gsl_stats_long_double_mean().
double long_double_wsd_m(U const &w, size_t const wstride, T const &data, size_t const stride, double const wmean)
C++ version of gsl_stats_long_double_wsd_m().
double long_double_Sn_from_sorted_data(T const &sorted_data, size_t const stride, U &work)
C++ version of gsl_stats_long_double_Sn_from_sorted_data().
double sd(T const &data, size_t const stride=1)
C++ version of gsl_stats_sd().
double long_double_median_from_sorted_data(T const &sorted_data, size_t const stride=1)
C++ version of gsl_stats_long_double_median_from_sorted_data().
double long_double_pvariance(T const &data1, size_t const stride1, U const &data2, size_t const stride2)
C++ version of gsl_stats_long_double_pvariance().
size_t min_index(T const &data, size_t const stride=1)
C++ version of gsl_stats_min_index().
size_t max_index(T const &data, size_t const stride=1)
C++ version of gsl_stats_max_index().
double long_double_quantile_from_sorted_data(T const &sorted_data, size_t const stride, double const f)
C++ version of gsl_stats_long_double_quantile_from_sorted_data().
double long_double_variance(T const &data, size_t const stride=1)
C++ version of gsl_stats_long_double_variance().
double long_double_wmean(U const &w, size_t const wstride, T const &data, size_t const stride)
C++ version of gsl_stats_long_double_wmean().
The gsl package creates an interface to the GNU Scientific Library for C++.