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.
* 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>
* Implement rank vector
[ci skip]
* Add documentation. Admittedly terrible.
* Add unit tests.
* Cleanup method of detecting if execution policies are valid or not
[ci skip]
* Implement and test chatterjee correlation
[ci skip]
* Add spot checks and special handling for constant Y
[ci skip]
* Add performance file
[ci skip]
* Add execution policy support to rank
[ci skip]
* Remove duplicates from v when generating the order vector
[ci skip]
* Fix macro error for use of <execution>
[ci skip]
* Use explicit types instead of auto to avoid warnings
[ci skip]
* Add execution policy testing to rank
[ci skip]
* Add threaded implementation
[ci skip]
* Added threaded testing
* Fix formatting and ASCII issues in test
* Fix more ASCII issues
* refactoring
* Fix threaded impl
* Remove non-ASCII apostrophe
[ci skip]
* Doc fixes and add test comparing generally to paper values
* Significantly tighten tolerance around expected values from paper
* Change tolerance for sin comparison
Co-authored-by: Nick Thompson <nathompson7@protonmail.com>
* Add Feigenbaum constant.
* Add isnan to real_concept. Convert test_constants.cpp to math_unit_test.cpp.
* Reduce ULP tolerance to 2, which is the minimum that passes on my machine.
* Improvements to Feigenbaum.
* Ok this is pretty complicated . . . [CI SKIP]
* Take jzmaddock's suggestion to remove additions to real_concept.
* Remove test the demonstrates throw.
* Use BOOST_STATIC_ASSERT_MSG to retain C++03 compatibility.
* More precise conversion from binary to decimal.
* Plastic constant.
* Fix typos.
* New tests [CI SKIP]
* bugfix in test [CI SKIP]
* Update docs for new constants [CI SKIP]
* Fix outdated instructions [CI SKIP]
* Do C++11 check for new constants.
* Update constants.qbk [CI SKIP]
* Hopefully green up build
* Constants still *work* in C++03, but now they must be tested in C++11 mode.
* Remove boost::math::isnan.
* Test file requires C++17.
* CHECK_LE for math_unit_test.hpp
* CHECK_CONDITIONED_ERROR
* Always accept 1ULP accurate evaluation
* Use new features of math_unit_test to test wavelet_transform.