* Initial Commit [WIP][CI SKIP]
Policies for mean implemented and forced vectorization
* First cut at integer variance [CI SKIP]
* Functional variance impl [WIP][CI SKIP]
* Work on variance [CI SKIP]
Details are now moved into detail files.
Recursively decomposes sufficient range size until max threads achieved.
Single failing test for integral, not implemented for Reals.
* Parallel integer variance complete [CI SKIP]
* All variance policies complete [CI SKIP]
* Update mean_and_sample_variance [CI SKIP]
* Median complete for all types [CI SKIP]
* Median absolute deviation complete for all types
[CI SKIP]
* Refactored sequential first four moments impls
[CI SKIP]
* Setup test cases for first four moments [WIP]
[CI SKIP]
* Sequential impl pass [CI SKIP]
* Parallel interface impl. Fails some tests
[CI SKIP]
* Interquartile range passes for all existing test
[CI SKIP]
* Gini coefficient generally implemented
Does not support long double or cpp_bin_float_50s
[CI SKIP]
* Sample gini coef implemented w/same constraints
[CI SKIP]
* Add benchmarks [CI SKIP]
* First four moments complete for most types
[CI SKIP]
* Skewness restructured. Currently INOP for non-seq
[CI SKIP]
* Fix floating point skewness [CI SKIP]
* Skewness complete [CI SKIP]
* Kurtosis complete [CI SKIP]
* Gini coefficient complete [CI SKIP]
Removes atomics which expands number of compatible types.
* Mode complete [CI SKIP]
Additionally mode now supports floating types by using an unordered_map to store frequency
* Garbage cleanup [CI SKIP]
* Doc updates [CI SKIP]
* Mean cleanup [CI SKIP]
* Cleanup variance [CI SKIP]
Remove duplicate impls that vary only be return type
* Variance Cleanup [CI SKIP]
Remove duplicate impls
* Skewness cleanup [CI SKIP]
* Update performance [CI SKIP]
* Add swap file to gitignore [CI SKIP]
* Add missing comma [CI SKIP]
* Improve par mode performance regression [CI SKIP]
[WIP] Parallel mode still ~2 orders of magnitude slower
* mode performance improvement [CI SKIP]
* Improved data handling - mode [CI SKIP]
* Additional overloads to match STL proposal
[CI SKIP]
* Updates to mode and documentation
* Remove dependency and fix todo [CI SKIP]
* Minor fixes [CI SKIP]
* Fix multiprecision issues [CI SKIP]
* Remove dependency. Minor change to thread counting
[CI SKIP]
* Standardize seq mean impl [CI SKIP]
* Fix doc brackets [CI SKIP]
* Remove duplicated sort on gini coef [CI SKIP]
* C++11 all that is required for sequential methods
[CI SKIP]
* Fixes for CI failure
* More CI fixes
* Fixes for MSVC issues
Fix gitignore merge conflict
Adjust test tol to match others
* Fix MSVC lang macro
* More small fixes for vinatge compilers
* Minor fix for MSVC 14.2 c++17 [CI SKIP]
* Cleanup docs, test file, and remove cruft
[CI SKIP]
* Delete par_unseq tests [CI SKIP]
* Change link to accumulators [CI SKIP]
* Add bigobj flag to failing build
* Remove redundant impl [WIP][CI SKIP]
* Initial cut at linear decomposition [WIP][CI SKIP]
* Passes tests [CI SKIP]
* Various CI fixes
* More CI fixes
* Delete extra impl and add linker flags
* Try CI without TBB
* Restrict compiler support
* Restrict c++ version
* Add integer support to t_test
* Add paired samples t test
* Add two sample t test
* Add welch's t test
* Update docs
* Cleanup
* Add CHECK_ULP_CLOSE tests to test battery. Fix svg
* Remove all instances of ex [CI SKIP]
* Remove std::distance and note in docs [CI SKIP]
* Re-write test battery
* Kolmogorov-Smirnov distribution #421
Add a new distribution, kolmogorov_smirnov_distribution, which takes a
parameter that represents the number of observations used in a
Kolmogorov-Smirnov test. (The K-S test is a popular test for comparing
two CDFs, but the test statistic is not implemented here.)
This implementation includes Kolmogorov's original 1st order Taylor
expansion. There is a literature on the distribution's other
mathematical properties (higher order terms and exact version); this
literature is summarized in the main header file for anyone who may
want to expand the implementation later.
The CDF is implemented using a Jacobi theta function, and the PDF is a
hand-rolled derivative of that function. Quantiles plug the CDF and PDF
into a Newton-Raphson iteration. The mean and variance have nice
closed-form expressions, and the mode uses a dumb run-time maximizer.
This commit includes graphs, a ULP plotter for the PDF, and the usual
compilation and numerical tests. The test file is on the small side, but
it integrates the distribution from zero to infinity, and covers the
quantiles pretty well. As of now the numerical tests only verify
self-consistency (e.g. distribution moments and CDF-quantile relations),
so there's room to add some external checks.
* Implement skewness for K-S distribution [CI SKIP]
The third moment integrates nicely with the help of Apery's constant
(zeta_three). Verify the result via quadrature.
* Implement kurtosis for the K-S distribution
Verify the result via quadrature.