2
0
mirror of https://github.com/boostorg/math.git synced 2026-01-27 19:12:08 +00:00
Commit Graph

2765 Commits

Author SHA1 Message Date
Matheus Castanho
c80aa8169e Fix build on platforms with "double-double" long double type
Since commit 01f3b7d772 most tests started to fail on platforms that use a
"double-double" for long double, like powerpc64le:

../../../boost/math/tools/precision.hpp:148:137: error: expected primary-expression before ‘long’
  148 | inline constexpr long double epsilon<long double>(const std::true_type&
  BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE(long double)) noexcept(long double)

../../../boost/math/tools/precision.hpp:148:137: error: expected ‘)’ before ‘long’
  148 | inline constexpr long double epsilon<long double>(const std::true_type&
  BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE(long double)) noexcept(long double)

../../../boost/math/tools/precision.hpp:148:137: error: expected initializer before ‘long’
  148 | inline constexpr long double epsilon<long double>(const std::true_type&
  BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE(long double)) noexcept(long double)

Fix this by replacing the noexcept expression with the contents of
BOOST_MATH_NOEXCEPT, which was the intention of commit 01f3b7d772.
2021-07-07 16:33:11 -03:00
Jan Blumschein
e149c34008 nonfinite_num_get facet fix: honour "legacy" flag to enable "nanq" and "nans" (#640)
Fix 16c57be3 "Fixes for compile tests" (make compiler happy, but lose
flag semantics) as well as the original implementation from e3e838da
(obvious intention, but wrong operator).
2021-07-05 17:20:58 -04:00
Matt Borland
90a867cf72 Add standalone testing to bezier polynomials (#658) 2021-07-04 13:39:35 -07:00
Nick
051a1bfae9 github appears to have lost this commit. (#655)
* github appears to have lost this commit.

* Change #error to #warning so that CI is happy.
2021-07-04 13:34:06 -04:00
Nick
af14cdaf47 Bezier polynomials. (#650)
* Bezier polynomials.

* Bezier polynomials.

* Performance test.

* Implement de Casteljau's algorithm.

* Documentation and cleanup.

* Use thread_local storage to increase performance of interpolation.

* Inspect tool doesn't like asserts or anonymous namespaces.

* Test convex hull property of Bezier polynomial and add float128 tests.

* Allow editing of control points.

* Add .prime member function. Fix bug when scratch space size is larger than control point size. Document alternative implementations found in Bezier and B-spline techniques.

* Submit failing unit test so I don't forget to fix it later

* Add indefinite integral and tests.

* Do not test on gcc < 9 on MingW.
2021-07-01 19:31:51 -04:00
jzmaddock
d4de174bbb Prep for 1.77:
Rework hypergeometric distro equations.
Fix up Fibonacci docs.
Fix Fibonacci constexpr and noexcept usage and add to testing.
Regenerate docs.
2021-06-27 19:38:05 +01:00
Matt Borland
f7e7a7b6ee Add CMake Testing for Bilinear Uniform Interpolator (#646)
* Add CMake Testing for Bilinear Uniform Interpolator

* cycle CI
2021-06-27 00:39:09 -04:00
jzmaddock
ffcd220d6d Merge pull request #648 from mborland/is_standalone_warn
Fix BOOST_MATH_STANDALONE redefinition
2021-06-26 12:33:23 +01:00
Paul A. Bristow
d35f821eef Merge pull request #642 from boostorg/hypergeomkurtosis
Hypergeomkurtosis
2021-06-26 12:24:22 +01:00
Matt Borland
fa33d8dcd5 Fix BOOST_MATH_STANDALONE redefinition 2021-06-25 21:18:39 +03:00
Nick
769f4f690d Interpolate a uniform grid with a bilinear function. (#643)
* Interpolate a uniform grid with a bilinear function.

* Typo removal.

* Invalid syntax in Jamfile.

* Do domain verification before computation.

* Fix OOB access on print.

* pimpl the class so it can be shared between threads.

* Add google/benchmark file to measure the performance of the bilinear interpolation.

* Fix up docs.

* Remove non-ASCII characters from print statements. Add a float128 test.

* Improve the documentation of the bilinear uniform class.

* Remove float128 as it doesn't support to_string.

* Don't use decltype(fieldData.size()) as the indexer; that makes MSVC 14.2 choke. Use RandomAccessContainer::size_type.

* Use ADL for to_string for compatibility with multiprecision.

* Improve error message which rows*cols != fieldData.size().
2021-06-22 10:38:00 -04:00
pabristow
4382d2a7c6 More changes to hypergeometric distribution documentation. 2021-06-16 11:42:37 +01:00
pabristow
fdbb3ed7ce Corrected formula for kurtosis to match Mathematica. New Test passes. 2021-06-14 17:46:18 +01:00
Nick
fca4f08d5b Closed Catmull-Rom curves have the same start and endpoint. (#636) 2021-05-27 13:32:56 -04:00
jzmaddock
a1b1368d66 Merge branch 'develop' into bernoulli_threading_2
Fixed Conflicts:
	include/boost/math/special_functions/lanczos.hpp
2021-05-23 20:05:51 +01:00
jzmaddock
3685f6d2d2 Update lanczos_generator.cpp:
To test over a wider range of values, otherwise precision tails off for middling values of z - 100 < z < 300.  Also prints out conditioning on the near-1 or 2 approximations.
Update lanczos.hpp with the new approximations, removed 80-100 digit approximation because it basically doesn't work well.
Modified lanczos.hpp and lgamma_small.hpp to have separate lanczos g values for the near 1 or 2 approximations.
This addresses issues discussed in https://github.com/boostorg/multiprecision/pull/327.
2021-05-23 19:49:34 +01:00
jzmaddock
a9e5b10120 Correct enable_if's in bernoulli_details.hpp cache selection. 2021-05-21 19:02:16 +01:00
jzmaddock
755b81992e Merge pull request #624 from mborland/cmake_fixes
Fixes for compile tests
2021-05-21 08:47:42 +01:00
Matt Borland
7ade71ce22 Merge remote-tracking branch 'origin/develop' into cmake_fixes 2021-05-20 19:14:38 +03:00
jzmaddock
07b9e6e0b7 Remove lanczos22.
It was only used for 34 and 35 digit counts and had terrible accuracy at fixed precision.
See https://github.com/boostorg/multiprecision/pull/326#issuecomment-844997628.
Fortunately the "MP" suffixed traits appear fine, though further testing inside Multiprecision will follow.
2021-05-20 12:50:29 +01:00
jzmaddock
6ddc9b332d Only make Bernoulli cache thread_local if the number type looks like it might be variable precision. 2021-05-18 19:54:52 +01:00
Matt Borland
c7bc03be0e bivariate stats thread guards 2021-05-12 21:16:57 +03:00
Matt Borland
5f1cb284ef Univariate stats thread guard 2021-05-12 21:08:42 +03:00
Matt Borland
2a5bbf37a4 Revert rsqrt [ci skip] 2021-05-11 22:42:48 +03:00
Matt Borland
aca3f61c31 Quadrature threads (#628)
* Thread guard for exp_sinh

* Thread guard for ooura_fourier_integrals

* Thread guard for sinh sinh

* Thread guard for tanh sinh quadrature
2021-05-11 08:10:05 -04:00
Matt Borland
d8b197080b Add thread guard to polygamma 2021-05-09 18:59:37 +03:00
Matt Borland
5f972ff7a3 Remove undef
[ci skip]
2021-05-09 14:08:59 +03:00
Matt Borland
cdbb24625c Put back single threaded bernoulli code path 2021-05-08 21:38:09 +03:00
Matt Borland
3b98a87388 Add extra macros and change logic 2021-05-07 17:51:13 +03:00
Matt Borland
16c57be345 Fixes for compile tests 2021-05-06 19:10:19 +03:00
Matt Borland
551322cb53 Missing else branch 2021-05-04 21:24:18 +03:00
Matt Borland
264323a8aa Add standalone BOOST_HAS_THREADS 2021-05-04 20:31:09 +03:00
Matt Borland
990e491fe1 Fix for ambiguous abs(__float128) with old gcc (#615) 2021-04-26 16:11:51 -04:00
jzmaddock
58dbb7dbdc Merge pull request #612 from mborland/is_standalone
Default to Standalone
2021-04-25 16:00:43 +01:00
Matt Borland
433f1be83d Fixes for gnu dialect quadrature failures (#613) 2021-04-25 10:23:54 -04:00
Matt Borland
c66cac74e1 Add automatic definition of BOOST_MATH_STANDALONE 2021-04-24 10:33:32 +03:00
jzmaddock
4083f0a398 Merge pull request #610 from mborland/special_fun_warn
Fixes for special_fun suite warnings
2021-04-23 18:17:07 +01:00
Matt Borland
12b3c8a7e7 Standalone tests (#606)
* Add missing distribution compile tests

* Add cstdfloat compile tests

* Rename and finish differentiation

* Add interpolators compile tests and fixes

* Reorganize/add quadrature compile tests

* Add missing sf tests and fixes for failures

* Add tools incl tests and fixes

* Add compile tests to jamfile plus collected fixes

* Collected fixes for CI failures

* Fix fftw config

* Remove lexical cast from arcsine dist [ci skip]

* Improve cstdfloat tests [ci skip]

* Improve differentiation tests [ci skip]

* Improve distribution testing [ci skip]

* Updates to interpolator tests [ci skip]

* Improve quadrature tests [ci skip]

* Improve sf tests [ci skip]

* Improve tools tests

* Collected CI fixes

* Fix for MSVC 14.2 array allocation error
[windows]

* MSVC 14.2 workarounds
[windows]

* Fix float128 and interpolators tests

* Add standalone testing on clang
[standalone]

* Fixes for type mismatches on MSVC
[windows]

* Fix for MSVC 14.0 fail from missing header
[windows]

* Change barycentric rational namespace
[ci skip]

* Fix standalone clang warnings

* Change namespace in barycentric examples
2021-04-22 14:44:21 -04:00
Matt Borland
302ad2097a Fixes for special_fun suite warnings 2021-04-21 21:33:29 +03:00
jzmaddock
36fce65692 Update bernoulli_numbers_cache to be thread safe....
When multiple threads are operating at different precisions on the same type.
2021-04-17 16:48:51 +01:00
jzmaddock
858e8a66e9 Merge pull request #586 from mborland/gini
Fix for issue #585
2021-04-06 18:16:23 +01:00
jzmaddock
eb1686cb0b Merge pull request #600 from mborland/tsan_monte_carlo
Fix TSAN failures in naive monte carlo
2021-04-05 17:06:40 +01:00
jzmaddock
adcf95b784 Merge pull request #597 from mborland/standalone
Complete Standalone Mode
2021-04-04 17:35:10 +01:00
Matt Borland
a1d08284a8 Fix for issue #598 2021-04-04 14:06:09 +03:00
Matt Borland
0a9d7a152c Fix for TBB failure and add license [standalone] 2021-04-04 09:54:19 +03:00
Matt Borland
16a91de3b4 Disable standalone tests of cstdfloat concept
[standalone]
2021-04-03 16:46:00 +03:00
jzmaddock
b2538faaf9 Merge pull request #592 from boostorg/circle_ci
Add first CircleCI run: includes sample ASAN run.
2021-04-02 19:11:24 +01:00
Matt Borland
f8c0c13050 autodiff ADL fix and remove concept tests 2021-04-02 13:45:09 +03:00
Matt Borland
ea63e9c3fe Remove uses of static_assert(false) 2021-04-02 13:31:30 +03:00
Matt Borland
fe9e0c7efa Compile tests pass in standalone mode 2021-04-01 22:13:15 +03:00