2
0
mirror of https://github.com/boostorg/math.git synced 2026-01-19 04:22:09 +00:00
Commit Graph

582 Commits

Author SHA1 Message Date
René Ferdinand Rivera Morell
41f07b0794 Add support for modular build structure. (#1160)
* Make the library modular usable.

* Fix -Wundef warnings

* Switch to library requirements instead of source. As source puts extra source in install targets.

* Add missing NO_LIB usage requirements.

* Remove boost-root relative include path.

* Add missing import-search for cconfig/predef checks.

* Add requires-b2 check to top-level build file.

* Sync upstream.

* Fix typo in test framework reference.

* Bump B2 require to 5.2

* Update copyright dates.

* Move inter-lib dependencies to a project variable and into the build targets.

* Switch to /boost/test//included target for header only mode of Boost.Test.

* Adjust doc build to avoid boost-root references.

* Update build deps.

* Fix project props not applying to the no_eh.obj compile.

* Update build deps.

* Add missing import-search.

* Fix float128_type checks to actually disable tests. Problem was that build is a non-free feature. Which can't be acquired through a usage requirement.

* GPU Batch 7

Fix igamma_large support on device

Add GPU support to toms748

Add GPU support to igamma_inv

Add GPU markers to gamma_inva

Add GPU Markers to lgamma_small

Remove STL usage from gamma

Remove NVRTC workaround

Fix fraction use of STL headers

Mark gamma functions in fwd

Disable declval on all GPU platforms

Disable more unneeded code on device

Add forward decl for NVRTC tgamma

Disable unneeded items for all GPU

Change workaround for missing overloads

Rearrange definition location

Add include path to cuda now that workaround is removed

Fix NVRTC incompatibility with recursion and forward decls

Add tgamma_ratio CUDA and NVRTC testing

Fix NVRTC handling of gamma_p_derivative

Add gamma_p_derivative CUDA and NVRTC testing

Remove recursion from gamma_incomplete_imp

Add SYCL testing of igamma, igamma_inv, and igamma_inva

Ignore literal-range warnings

Remove use of static const char* for function name

Fix missing CUDA header

Remove calls under NVRTC to fwd decl

Add more nvrtc workarounds

Use builtin erfc instead of header cycle

Add CUDA and NVRTC testing of gamma_p_inv

Adjust tolerances

Add GPU support to chi squared dist

Fix static local variable

Add chi squared dist SYCL testing

Add chi squared dist CUDA testing

Add chi squared dist NVRTC testing

Add GPU support to weibull dist

Add weibull dist SYCL testing

Add weibull dist CUDA testing

Add weibull dist NVRTC testing

* Fix policy macro definition for MSVC platforms

* Don't add quadmath lib for has_128bit_floatmax_t check. It was accidentally copy+pasted.

* Fix incorrect name for float128 type check that caused it to not apear.

---------

Co-authored-by: Matt Borland <matt@mattborland.com>
2024-09-06 08:45:23 -04:00
jzmaddock
7b0caf58c9 Hook up testing of mapairy/holtsmark/saspoint5 distributions. 2024-07-25 13:21:52 +01:00
jzmaddock
07d97df50c Landau Integration testing (#1159)
* 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>
2024-07-21 11:54:58 +01:00
jzmaddock
70cdb37759 Merge pull request #1141 from boostorg/nc_t_improvements
Prevent passing denormals in calculation.
2024-06-02 15:25:36 +01:00
jzmaddock
7d56997a99 tentative CI failure fixes. 2024-06-01 10:32:11 +01:00
Matt Borland
bcf0dbc7f8 Add test set from issue 2024-05-30 08:50:26 +02:00
Matt Borland
7d85d73c83 Add test set 2024-05-22 08:59:04 +02:00
John Maddock
c61c4af823 Merge branch 'develop' into issue1120 2024-05-03 11:27:07 +01:00
jzmaddock
6cddd02b3e Disable one clang warning. 2024-04-26 09:18:19 +01:00
jzmaddock
db90dfd709 Change skew normal quantile to use bracket_and_solve_root.
Rather than Newton iterations.
Add test case.
Fixes https://github.com/boostorg/math/issues/1120
2024-04-21 17:19:16 +01:00
Matt Borland
08a2fe6368 Add dual-standalone test case 2024-02-23 10:03:40 +01:00
Christopher Kormanyos
17f14ba3bf Reduce scope of changes 2024-02-16 06:10:17 +01:00
Christopher Kormanyos
3afc1bc5c2 Run and cover compile-test instantiation 2024-02-13 12:59:21 +01:00
Nick Thompson
8d47ee0f4b Include tests for optimization 2024-02-12 16:55:44 -08:00
Christopher Kormanyos
8f6ac0dc3d Restore original octonion test 2024-02-12 14:48:22 +01:00
Christopher Kormanyos
6c440afb15 Test more of octernion 2024-02-12 14:22:16 +01:00
Christopher Kormanyos
90779e715f Add several tgamma() edge cases 2024-02-11 14:21:24 +01:00
jzmaddock
48b249115f Add better bessel_iterator tests. 2024-02-10 10:33:36 +00:00
jzmaddock
319a521430 Merge branch 'develop' into improve_coverage
Fixed Conflicts:
	test/Jamfile.v2
	test/condition_number_test.cpp
2024-02-10 09:54:04 +00:00
Nick Thompson
3bf7d9791c Use math_unit_test.hpp to fix build failure
We often see the condition number test failing with

```
C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/as.exe: ..\..\..\bin.v2\libs\math\test\condition_number_test.test\a7486d3baaf381a6d13710dc26b7b123\condition_number_test.o: too many sections (32989)
C:\Users\RUNNER~1\AppData\Local\Temp\ccuI2rpi.s: Assembler messages:
C:\Users\RUNNER~1\AppData\Local\Temp\ccuI2rpi.s: Fatal error: can't write 155 bytes to section .text of ..\..\..\bin.v2\libs\math\test\condition_number_test.test\a7486d3baaf381a6d13710dc26b7b123\condition_number_test.o: 'File too big'
```

Use math_unit_test.hpp to fix this.
2024-02-09 15:32:35 -08:00
Nick Thompson
222d266048 CMA-ES 2024-02-09 12:09:53 -08:00
John Maddock
26e21c9720 Merge branch 'develop' into improve_coverage 2024-02-09 16:24:26 +00:00
jzmaddock
e285ef3501 Correct test cases. 2024-02-09 16:23:33 +00:00
jzmaddock
cbf6b96a09 Merge pull request #1079 from boostorg/issue1075
Update pre-computed constexpr Gauss and Gauss-Kronrod constants
2024-02-09 12:28:23 +00:00
John Maddock
e1033c9558 Merge branch 'develop' into improve_coverage 2024-02-06 15:01:40 +00:00
jzmaddock
a57fb0a894 Reinstate root finding protection against huge jumps.
Apply error handling more rigorously to any root finding client.
Mark evaluation_error's as not reachable for code coverage.
Fixes https://github.com/boostorg/math/issues/184.
2024-02-05 19:16:33 +00:00
jzmaddock
c35f12c1f5 Update pre-computed constexpr Gauss and Gauss-Kronrod constants
to always store literal types.
Fixes: https://github.com/boostorg/math/issues/1077.
2024-02-01 18:43:41 +00:00
Nick
fccad84bf5 Random search (#1071) 2024-01-24 17:26:24 -08:00
jzmaddock
045a87e792 Refactor test coverage to put concept checks in their own group.
And don't try and run concept checks with test coverage collection.
2024-01-24 16:43:56 +00:00
Nick
a1f7a305ee Algorithm jSO (#1065)
Follows: Brest, Janez, Mirjam Sepesy Maucec, and Borko Boskovic. "Single objective real-parameter optimization: Algorithm jSO." 2017 IEEE congress on evolutionary computation (CEC). IEEE, 2017.
2024-01-22 14:06:52 -08:00
Nick
4ee83916c5 Differential evolution (#1062)
* Differential evolution

---------

Co-authored-by: Matt Borland <matt@mattborland.com>
2024-01-01 17:09:16 -08:00
Matt Borland
23d54b385b Fix for msvc defining _Complex_I in complex.h 2023-12-21 07:20:24 -05:00
Matt Borland
de64f02ad3 Add test case 2023-11-16 09:38:01 +01:00
jzmaddock
c6f4a88809 Incorporate cast simplifications from https://github.com/boostorg/math/pull/880
Add tests and make sure everything is covered, and fix resulting errors.
2023-10-17 17:09:44 +01:00
jzmaddock
8ff6bc114e Avoid spurious overflow and divide by zero in ibeta.
Add tests extracted from SciPy bug report.
Fixes https://github.com/boostorg/math/issues/1006.
See also https://github.com/boostorg/math/pull/1009.
2023-09-01 15:48:43 +01:00
ryanelandt
3d8e1d5362 test fix for multiprecision 562 (#1015) 2023-08-23 09:17:45 -04:00
Matt Borland
8bb0d164f2 Merge pull request #978 from boostorg/cpp23-float
C++23 Floats
2023-06-28 08:02:25 +02:00
Nick
7887d43f83 Numerical evaluation of Fourier transform of Daubechies scaling funct… (#921)
* Numerical evaluation of Fourier transform of Daubechies scaling functions.

* Update example/calculate_fourier_transform_daubechies_constants.cpp

Co-authored-by: Matt Borland <matt@mattborland.com>

* Update example/fourier_transform_daubechies_ulp_plot.cpp

Co-authored-by: Matt Borland <matt@mattborland.com>

* Update include/boost/math/special_functions/fourier_transform_daubechies_scaling.hpp

Co-authored-by: Matt Borland <matt@mattborland.com>

* Update include/boost/math/special_functions/fourier_transform_daubechies_scaling.hpp

Co-authored-by: Matt Borland <matt@mattborland.com>

* Rename include file to reflect it implements both the scaling and wavelet.

* Add performance to docs.

* Update test/math_unit_test.hpp

Co-authored-by: Matt Borland <matt@mattborland.com>

* Add boost-no-inspect to files with non-ASCII characters.

---------

Co-authored-by: Matt Borland <matt@mattborland.com>
2023-06-13 08:05:00 -07:00
Matt Borland
29fbc5b059 Add tests for issue 18511 2023-05-23 12:38:39 +02:00
Matt Borland
61043631b6 Add float128 testing 2023-05-16 15:02:09 +02:00
jzmaddock
58264c02e1 Add test case for promote_args. 2023-05-14 18:40:01 +01:00
Matt Borland
bc79263bd0 Add compile tests for F32 and F64 2023-05-02 13:11:49 +02:00
Matt Borland
298a243ccd Fix for scipy issue 18302 (#977) 2023-04-21 12:31:23 +02:00
Matt Borland
8dfc73533d Fix __float128 test macros 2023-04-03 13:54:06 +02:00
Matt Borland
b8fb413405 Compensate for signedness 2023-03-16 21:23:52 -07:00
Matt Borland
73b8ffc13c Fix llround for non-representable numbers 2023-03-16 19:26:23 -07:00
Matt Borland
e06292f69f Conditionally disable MP testing and move to proper test suite 2023-03-06 10:44:48 -08:00
jzmaddock
bf3bc2e6c2 Fix ibeta_inv for very small p. (#962)
* Fix ibeta_inv for very small p.
Change assert's in temme_method_1_ibeta_inverse to corrections when guess goes out of range.
Change handling of non-convergence in second_order_root_finder to use bracketing when the end points are many orders of magnitude apart.
Fixes: https://github.com/boostorg/math/issues/961.

* Add missing copyright.
[CI SKIP]
2023-03-05 13:18:27 +00:00
Matt Borland
91e98b89e3 Replace int with long long in nct pdf and cdf 2023-02-21 08:16:31 -08:00
jzmaddock
99819c5812 Turn debug symbols off for msvc-14.0.
We seem to be hitting some random CI limit on one test otherwise.
2023-02-14 12:16:43 +00:00