2
0
mirror of https://github.com/boostorg/math.git synced 2026-02-01 08:32:15 +00:00
Commit Graph

5503 Commits

Author SHA1 Message Date
Matt Borland
980bfe71a5 Fixes for multiprecision types [CI SKIP]
Primes up to sqrt upper_bound are now captured as found
2020-10-04 10:28:08 -05:00
Matt Borland
6c26b53c51 First draft of eratosthenes w/ wheel [CI SKIP] 2020-10-03 23:07:30 -05:00
Matt Borland
b5a28b5b05 Add linear sieve direct from stepanov [CI SKIP] 2020-10-03 21:44:32 -05:00
Matt Borland
29eef8879a Correct benchmark memory allocation [CI SKIP] 2020-10-02 21:20:36 -05:00
Matt Borland
e7cdb32483 Updated benchmarks [CI SKIP] 2020-10-01 20:49:33 -05:00
Matt Borland
2d1461fdd1 Resolves issue #439 [CI SKIP]
Sets default L1D value but offers interface for user to change
2020-10-01 18:04:42 -05:00
Matt Borland
a77278211f Threaded method completed and validated [CI SKIP] 2020-09-30 19:20:36 -05:00
Matt Borland
90be100966 Add threaded method. Currently INOP [CI SKIP] 2020-09-30 16:13:00 -05:00
Matt Borland
4dc3eb204c Add sequential composite sieve with OI [CI SKIP] 2020-09-29 22:17:25 -05:00
Matt Borland
830ccc4563 Merge branch 'prime_iterator' into prime_functions 2020-09-27 11:42:30 -05:00
Matt Borland
cb5d978c3c Interval sieve with OI passes unit tests [CI SKIP] 2020-09-27 11:38:01 -05:00
Matt Borland
e8196f303a Merge remote-tracking branch 'origin/develop' into prime_iterator 2020-09-26 22:55:13 -05:00
Matt Borland
eaea5f92fb Added interval sieve for output iterators
Currently untested
2020-09-26 22:54:36 -05:00
Matt Borland
de1f331ebc prime approximation function for a range 2020-09-26 22:18:54 -05:00
Matt Borland
66c2642683 Added prime approximation function 2020-09-26 22:14:35 -05:00
Matt Borland
c361cdea65 Linear output iterator and refactoring [CI SKIP] 2020-09-26 21:02:28 -05:00
Matt Borland
0d9d31b374 Merge branch 'prime_functions' into mborland/prime_functions 2020-09-26 20:55:53 -05:00
Matt Borland
1d2f03c108 Linear sieve with output iterator and refactoring [CI SKIP][WIP] 2020-09-26 20:51:20 -05:00
Matt Borland
f2277e3c52 Merge branch 'prime_iterator' into mborland/prime_iterator 2020-09-26 20:46:24 -05:00
Matt Borland
f5d789adbc Improved Linear Algo and testing 2020-09-26 20:36:44 -05:00
Suyash Patil
c2843663dc fixed CSS property in doc/math.css (#437) 2020-09-26 17:38:15 -04:00
Matt Borland
eee2c8627b Added container method 2020-09-26 12:46:15 -05:00
Suyash Patil
2dec5f6af5 fix typo in README.md (#436) 2020-09-17 08:52:54 -04:00
Matt Borland
0dbe69cb72 Sanitize linear prime sieve and add wheel
[WIP][CI SKIP]
2020-09-09 18:30:13 -05:00
Matt Borland
5dc35236d0 Implemented linear sieve with iterators
[WIP][CI SKIP]
2020-09-09 17:59:47 -05:00
Matt Borland
84a69f0304 diffs from @jzmaddock [CI SKIP] 2020-09-08 18:02:10 -05:00
Matt Borland
9792a23b4e Minor change to policy handling [CI SKIP] 2020-09-06 18:33:55 -05:00
Matt Borland
302fb5fcdb Merge branch 'develop' into prime_functions 2020-09-05 14:33:46 -05:00
Evan Miller
18ed616376 Kolmogorov-Smirnov distribution (#422)
* 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.
2020-09-04 08:48:51 -04:00
jzmaddock
eb668a01bd Merge pull request #432 from boostorg/improve_float_next
Update float_next/float_prior to handle types with exponents larger t…
2020-09-04 11:49:16 +01:00
jzmaddock
e39eca4f54 Update float_next/float_prior to handle types with exponents larger than type int. 2020-09-03 18:35:14 +01:00
Märt Laak
a9f096815d Make interpolators C++14 compatible (#429) 2020-09-02 18:55:37 -04:00
Matt Borland
3d9b77c784 Minor changes and doc updates 2020-09-02 16:41:41 -05:00
Matt Borland
7c0cbbfe29 Merge branch 'develop' into prime_functions 2020-08-31 23:32:26 -05:00
Matt Borland
8e240f7eb7 Better prime_range implementation [WIP][CI SKIP] 2020-08-30 23:51:19 -05:00
Matt Borland
5ba0a1d1f8 Replace magic number w variable template [CI SKIP] 2020-08-30 23:15:46 -05:00
Matt Borland
0b8f1d51ed Documentation edits [CI SKIP] 2020-08-30 18:02:17 -05:00
pabristow
39d0c1c4a1 Added missing #include <vector>. 2020-08-28 17:49:32 +01:00
jzmaddock
526fc6eef4 Update test_jacobi_theta compiler requirements in Jamfile.v2. 2020-08-27 18:36:18 +01:00
Matt Borland
81e4a6ca60 mpz_int passes unit tests [CI SKIP] 2020-08-26 22:29:27 -05:00
Matt Borland
6d6b19fb9e cpp_int now passes all tests [CI SKIP] 2020-08-26 19:23:54 -05:00
Matt Borland
91836f62f3 Fixes for multiprecision and policies [CI SKIP] 2020-08-25 18:44:07 -05:00
Matt Borland
c4a89c86ff Seq policy actually sequential [CI SKIP] 2020-08-24 23:12:01 -05:00
Matt Borland
fa04133513 Significant refactoring [WIP][CI SKIP] 2020-08-24 22:00:05 -05:00
Matt Borland
97244be0a0 Performance improvements and bug fixes [CI SKIP] 2020-08-23 22:57:46 -05:00
Matt Borland
1b40403801 Implemented interval sieve [CI SKIP] 2020-08-23 18:50:07 -05:00
Matt Borland
6759ede1b3 Added unit tests [WIP][CI SKIP] 2020-08-23 17:06:51 -05:00
Matt Borland
2e46b81a33 Added interval sieve to performance test [CI SKIP] 2020-08-23 13:59:24 -05:00
Matt Borland
fbc38c8bf6 New segmented sieve algorithm [WIP][CI SKIP] 2020-08-23 11:42:20 -05:00
Matt Borland
b7d42564f5 Added fixed mod 210 wheel [WIP][CI SKIP] 2020-08-23 10:59:18 -05:00