Add SYCL testing of normal dist
Add CUDA testing of normal dist
Add NVRTC testing of normal dist
NVRTC fixes
Move headers for NVRTC support
Add GPU support to inverse gaussian dist
Add NVRTC testing of inverse Gaussian dist
Add CUDA testing of inverse gaussian dist
Add SYCL testing of inverse gaussian dist
Add GPU support to lognormal dist
Add SYCL testing of lognormal dist
Add CUDA testing of lognormal dist
Add nvrtc testing of lognormal dist
Add GPU support to negative binomial dist
Avoid float_prior on GPU platform
Add NVRTC testing of negative binomial dist
Fix ambiguous use of nextafter
Add CUDA testing of negative binomial dist
Fix float_prior workaround
Add SYCL testing of negative binomial dist
Add GPU support to non_central_beta dist
Add SYCL testing of nc beta dist
Add CUDA testing of nc beta dist
Enable generic dist handling on GPU
Add GPU support to brent_find_minima
Add NVRTC testing of nc beta dist
Add utility header
Replace non-functional macro with new function
Add GPU support to non central chi squared dist
Add SYCL testing of non central chi squared dist
Add missing macro definition
Markup generic quantile finder
Add CUDA testing of non central chi squared dist
Add NVRTC testing of non central chi squared dist
Add GPU support to the non-central f dist
Add SYCL testing of ncf
Add CUDA testing of ncf dist
Add NVRTC testing of ncf dist
Add GPU support to students_t dist
Add SYCL testing of students_t dist
Add CUDA testing of students_t
Add NVRTC testing of students_t dist
Workaround for header cycle
Add GPU support to pareto dist
Add SYCL testing of pareto dist
Add CUDA testing of pareto dist
Add NVRTC testing of pareto dist
Add missing header
Add GPU support to poisson dist
Add SYCL testing of poisson dist
Add CUDA testing of poisson dist
Add NVRTC testing of poisson dist
Add forward decl for NVRTC platform
Add GPU support to rayleigh dist
Add CUDA testing of rayleigh dist
Add SYCL testing of rayleigh dist
Add NVRTC testing of rayleigh dist
Add GPU support to triangular dist
Add SYCL testing of triangular dist
Add NVRTC testing of triangular dist
Add CUDA testing of triangular dist
Add GPU support to the uniform dist
Add CUDA testing of uniform dist
Add SYCL testing of uniform dist
Add NVRTC testing of uniform dist
Fix missing header
Add markers to docs
* Add landau distribution
* Add landau limit test case
* Add landau document
* Landau integration testing.
Hook up tests to Jamfile.
Hook up docs by adding to dist_reference.qbk.
Add std::float64_t tests.
Hook up concept tests in instantiate.hpp.
Add to distributions.hpp
Update static_asserts with better error messages.
Add header inclusion test in dist_landau_incl_test.cpp (and fix resulting errors)
* Add missing #include.
* More Landau test fixes.
* Fix C++23 stdfloat test names.
* Final (doc) update to Landau.
---------
Co-authored-by: tk-yoshimura <yoshimura8192@gmail.com>
* 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.