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

567 Commits

Author SHA1 Message Date
mzhelyez
1e71bef3e3 updated header guard and name spelling 2025-12-19 08:45:41 +01:00
mzhelyez
8bb3a24162 added graphs 2025-08-24 14:16:55 +02:00
mzhelyez
ccb6ad0ee7 cleaned up code base don mborland's suggestions [ci skip] 2025-08-18 20:44:25 +02:00
Maksym Zhelyeznyakov
c7f9f572a6 added licence files and removed py files 2025-08-16 16:16:11 +02:00
mzhelyez
0aa218a085 added examples to jamfile 2025-08-16 14:59:09 +02:00
mzhelyez
0f26461e59 fixed failining tests and added test support to jamfile 2025-08-16 14:51:00 +02:00
Maksym Zhelyeznyakov
cf93c693ad added linear regression example 2025-08-06 14:32:48 +02:00
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
Matt Borland
c9be742a98 Fix example 2024-02-22 10:01:55 +01:00
Nick Thompson
b7a62c4a29 TLC for optimization docs 2024-02-12 14:23:01 -08:00
Nick Thompson
222d266048 CMA-ES 2024-02-09 12:09:53 -08:00
Nick
fccad84bf5 Random search (#1071) 2024-01-24 17:26:24 -08: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
de9a1a0ee5 Fix race conditions in differential evolution (#1063)
Through a combination of silly mistakes, I missed a pile of race conditions in the OpenMP threading.

Switch to C++ threading. Note that this change requires serial generation of trial vectors.

Hopefully I can figure out to parallelize the generation of trial vectors to reduce the serial section a la Ahmdahl's law,
while simultaneously keeping thread sanitizer happy.
2024-01-17 10:20:41 -08:00
Matt Borland
79b4015d4d Add codecov run to CI (#1061)
Co-authored-by: Alexander Grund <Flamefire@users.noreply.github.com>
2024-01-05 09:00:24 +01:00
Nick
4ee83916c5 Differential evolution (#1062)
* Differential evolution

---------

Co-authored-by: Matt Borland <matt@mattborland.com>
2024-01-01 17:09:16 -08:00
ryanelandt
2c74b149b0 has_denorm_now (#1029)
* initial commit

* remove == std::denorm_present

* remove extra ) in ccmath/next
2023-10-30 09:37:29 +01: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
77c8e2aa14 Remove unneeded boost library includes 2023-03-09 08:26:46 -08:00
Nick
4aac532a88 Add Estrin's method for polynomial evaluation (#932)
* Add Estrin's method for polynomial evaluation

N.B.: This is a slightly modified version of the code provided by Thomas Dybdahl Ahle in a github issue.

[CI SKIP] [ci skip]

* Add comparisons to Horner with std::array.
[CI SKIP]

* Add Estrin's method for polynomial evaluation

N.B.: This is a slightly modified version of the code provided by Thomas Dybdahl Ahle in a github issue.

[CI SKIP] [ci skip]

* Fix hang in n=0 case.

* Fix out of bounds access in test.

* Fix endsect for estrin.qbk.

* Apply clang-format to make the 'inspect' stage happy.

* Add type_traits header to includes.

* Add ulp plot.

* Document decreased accuracy of Estrin's method.

* Add assertion for size of scratch pad

* Remove std::size since it is C++17

* Add C++14 testing

* estrin -> evaluate_polynomial_estrin.

---------

Co-authored-by: jzmaddock <john@johnmaddock.co.uk>
Co-authored-by: Matt Borland <matt@mattborland.com>
2023-02-04 10:32:06 -08:00
Rose
dbb1ae7667 Use cfloat instead of float.h
It would be more consistent to use the C++ headers instead of the C ones.
2022-12-09 11:07:42 -05:00
Rose
fe48a3bba7 Junk removal
Removal of junk headers, typos, or mistakenly duplicated keywords
2022-11-05 12:14:12 -04:00
jzmaddock
ddf0143a8c BREAKING CHANGE: Correct definition of user_rounding_error, (#836)
* BREAKING CHANGE: Correct definition of user_rounding_error,
To return correct type.
Likewise fix up a few other rounding error inconsistencies.
Fixes https://github.com/boostorg/math/issues/834.

* Remove redundant error handler.
2022-10-09 09:14:27 +01:00
Jonathan Wakely
b3cec0c732 Replace non-UTF-8 copyright character 2022-06-14 17:55:04 +01:00
Warren Weckesser
222b81e019 Fix repeated name in example/policy_eg_1.cpp 2022-04-13 15:42:51 -04:00
jzmaddock
5da27935f2 Added further color table example. 2022-03-10 19:33:51 +00:00
Matt Borland
3e950d9e3a Color Maps (#752)
* Color Maps

* Make color maps constexpr

[ci skip]

* Add newton fractal example

[ci skip]

* Remove some unused code.

* Make the color map base class generic in size

Fix naming convention
[ci skip]

* Begin documentation.

* Move helper functions from example into tools header

[ci skip]

* Update docs and remove non-ASCII characters from example

* Add image to docs

* Reduce size of virdis_newton_fractal from 1.31MB to 131KB

[ci skip]

* Add performance file

* Don't force linear complexity and fix CI failure for old clang versions

* Convert color_maps to free functions.

* Add missing header and remove constexpr test

* Convert tabs to spaces

[ci skip]

* Fix compile tests and make static constexpr uniform across data

* Add swatches to docs.

* Fix image links in docs

[ci skip]

Co-authored-by: Nick Thompson <nathompson7@protonmail.com>
2022-02-09 11:19:38 +01:00
jzmaddock
7850b8c2dd Correct some CI test failures.
Stop referencing boost::lexical_cast even in templates which aren't instantiated.
Fix missing macro definition in tr1.hpp.
Correct include order in some tests so we get consistent definitions for BOOST_HAS_FLOAT128.
2022-01-17 19:37:08 +00:00
Matt Borland
e1601f129a Complete CI test with standalone mode (#680) 2022-01-14 08:12:22 -08: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
Nick
0cd6039cb1 Minimax and distribution_explorer to examples. (#620)
* Minimax and distribution_explorer to examples.

* Move minimax to tools.
2021-05-03 09:12:58 -04: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
jzmaddock
adcf95b784 Merge pull request #597 from mborland/standalone
Complete Standalone Mode
2021-04-04 17:35:10 +01:00
jzmaddock
e074db139c Merge pull request #599 from pratik-a/develop
return added
2021-04-04 09:17:21 +01:00
PRATIK AWASTHI
19d86ffa89 return added 2021-04-04 02:43:06 +05:30
jzmaddock
544258569b Fixes for inspect failures in doc/ and example/ 2021-03-30 11:04:16 +01:00
Matt Borland
ea323e6e1b Remove boost.lexical_cast dependency 2021-03-29 19:59:29 +03:00
Matt Borland
18af162377 Change include directories 2021-03-27 18:09:38 +03:00
Matt Borland
c79965c46c Add CMake Link Flags and Reduce CI for testing 2021-03-27 17:51:40 +03:00
Matt Borland
2c4c1a04e8 Get examples working with CMake and Standalone
[ci skip]
2021-03-27 14:41:59 +03:00
Matt Borland
070c1ceb78 Remove BOOST_CONSTEXPR 2021-03-23 20:32:55 +03:00
Matt Borland
8ebac14382 Bulk replacement of BOOST_MSVC 2021-03-23 18:39:09 +03:00
Matt Borland
26711525ca Remove uses of boost/cstdint without header called 2021-03-21 16:13:10 +03:00
Matt Borland
8c4bac90e9 Cleanup examples 2021-03-21 09:14:15 +03:00
Matt Borland
d6a04ab194 Remove all BOOST_MATH_STATIC_ASSERT_MSG 2021-03-16 22:42:09 +03:00
Matt Borland
c1f7a55aa6 Merge remote-tracking branch 'origin/develop' into assert [ci skip] 2021-03-16 20:30:05 +03:00
Madhur Chauhan
68d6a75f7c Fibonacci numbers (#376)
* Fibonacci: Initial commit. Working.

* Fibonacci: Address Nick's comments. Added unchecked factorial.

* Fibonacci: Improved overflow testing

* Fibonacci: Added unit tests

* Fibonacci: Performance report

* Fibonacci: Nick's comments - Complexity

* Fibonacci: Add UT to Jamfile

* Make Fibonacci and UT C++03 friendly.

Add UT to Jamfile.

* Fibonacci: Remove GMP dependency

* 1. Added fibonacci generator with unit tests
2. Added example of reciprocal fibonacci constant

* [CI SKIP] Fibonacci: First cut at documentation

* Fibonacci: Finishing up changes [CI SKIP]

* Fibonacci: Removing unnecessary html files

* fibonacci: rename to unchecked_fibonacci

* fibonacci: remove documentation

Co-authored-by: Created by Ansible <madhur@dev-sng-build1.kdev>
2021-03-16 09:11:10 -04:00
Matt Borland
fbadd8d653 remove boost.static_assert 2021-03-14 12:49:38 +03:00
Matt Borland
d59c734c5e Remove boost.assert 2021-03-14 12:22:26 +03:00
jzmaddock
93467954a9 Fix up Jamfiles for C++11 s a requirement.
Fixes: https://github.com/boostorg/math/issues/531.
2021-02-13 19:40:50 +00:00