2
0
mirror of https://github.com/boostorg/math.git synced 2026-01-28 07:22:12 +00:00
Commit Graph

2838 Commits

Author SHA1 Message Date
jzmaddock
7108ccc1a3 Merge pull request #716 from boostorg/cubic_roots_tlc
Remove unicode from comments and loosen up error tolerance.
2021-11-03 19:55:05 +00:00
jzmaddock
535fcc237a Merge pull request #714 from boostorg/tanh_sinh_performance
Improve tanh_sinh.
2021-11-03 19:54:44 +00:00
Nick Thompson
15c680c93a Remove unicode from comments and loosen up error tolerance. 2021-11-02 22:31:03 -07:00
jzmaddock
afaa03a090 Merge pull request #713 from boostorg/issue710
Update limits used in erf/erfc approximations.
2021-11-02 19:04:41 +00:00
jzmaddock
075ff0dc6c Better estimate error due to truncation at endpoints. 2021-10-28 12:05:12 +01:00
Nick
923ed19a07 Cubic roots (#703) 2021-10-26 20:54:29 -07:00
jzmaddock
035188f974 tanh_sinh: detect and allow non-finite values at end points. 2021-10-26 16:29:15 +01:00
jzmaddock
11134978df tanh_sinh: improve thrash detection.
Significantly reduces the number of iterations in many cases.
2021-10-25 18:29:14 +01:00
jzmaddock
18cb92bcde Update limits used in erf/erfc approximations.
Fixes https://github.com/boostorg/math/issues/710.
2021-10-24 19:10:36 +01:00
jzmaddock
67f451f0b3 Merge pull request #687 from boostorg/s390x
Fix low hanging fruit test failures on s390x.
2021-10-24 13:03:22 +01:00
jzmaddock
67b85a4a87 TanhSinh: Correct m_inital_row_length in double precision case.
Remove dead header.
2021-10-23 12:23:30 +01:00
Nick
b0d1e4f760 Disallow integral return types in quadrature. (#704) 2021-10-11 08:18:15 -07:00
Matt Borland
7339acd01a constexpr copysign (#701)
* constexpr copysign

* Fix for mingw test failure
2021-10-10 10:38:26 -07:00
Matt Borland
8e8f6ec4be constexpr remainder (#700) 2021-10-06 10:42:02 -07:00
Matt Borland
6d5aeb08ea constexpr fmod (#699)
* constexpr fmod

* Fix for old clang versions
2021-10-02 08:07:14 -07:00
Matt Borland
392a1c016d constexpr round (#697) 2021-09-27 09:01:47 -07:00
Matt Borland
3e89a0dabd constexpr modf (#696) 2021-09-24 11:09:25 -07:00
Matt Borland
5d6236fb08 Implement, test, and document trunc (#695) 2021-09-21 09:20:43 -07:00
Matt Borland
991fcff33d constexpr floor and ceil (#694) 2021-09-20 09:51:59 -07:00
Matt Borland
4ad861217d constexpr scalbn and scalbln (#693) 2021-09-18 10:12:47 -07:00
Matt Borland
c0383edcea Constexpr logb and ilogb 2021-09-17 21:05:07 +03:00
Matt Borland
3b75b350a4 constexpr div (#691) 2021-09-15 11:51:06 -07:00
jzmaddock
e592fae531 Merge pull request #690 from mborland/constexpr_abs_overloads
Add abs specializations to ccmath
2021-09-12 16:40:52 +01:00
Matt Borland
5f48b50848 Add abs specializations to ccmath 2021-09-11 21:44:18 +03:00
Matt Borland
5190e5934e Simplify implementation 2021-09-11 20:59:17 +03:00
Matt Borland
a8cdcd85b1 Remove unneeded includes 2021-09-06 21:40:04 +03:00
Matt Borland
000aaae2d1 Add testing 2021-09-06 21:39:51 +03:00
Matt Borland
0a69c93a31 Initial commit 2021-09-06 21:39:35 +03:00
Matt Borland
0bbea8d8f9 constexpr frexp (#686) 2021-09-06 11:27:27 -07:00
jzmaddock
13cb3bdacd Fix low hanging fruit test failures on s390x.
This adds some extra instrumentation to bessel_j0.hpp, everything else are fixes for the test programs.
The advantage of testing on this platform is that it has a true 128-bit long double which is a good test of our assumptions in code.
2021-09-04 10:46:26 +01:00
jzmaddock
7d482f6ebc Make no atomics a soft failure in bernoulli_details.hpp.
Include an "escape macro" so thread safety can be disabled if certain bernoulli features are to be used in a no-atomics environment.
Fixes https://github.com/boostorg/math/issues/673.
2021-09-01 20:31:53 +01:00
jzmaddock
32bd619735 Allow definition of BOOST_MATH_NO_ATOMIC_INT on the command line.
Allows us to test/emulate platforms with no atomic integers.
2021-09-01 18:54:54 +01:00
Christopher Kormanyos
be0c78bb4c Add a few more cstdfloat 128-bit tests 2021-08-30 19:04:44 +02:00
Christopher Kormanyos
670b5c4ee9 More edge ranges and optimize expq patch 2021-08-30 13:47:57 +02:00
Christopher Kormanyos
36fce1488d Merge branch 'develop' into i506_cstdfloat_complex_std 2021-08-28 16:05:56 +02:00
Matt Borland
d8fe127b82 constexpr fpclassify (#679)
* Implement fpclassify and tests
2021-08-25 13:43:43 -07:00
Stephan T. Lavavej
88c4b8d661 Fix standalone endianness macros. (#678)
* Fix comment typos: "endinaness" to "endianness"
* Change the C++20 checks (for both `__cplusplus` and `_MSVC_LANG`)
  to be strict: `> 202000L` to `>= 202002L`
* Add an `#error` when C++20 `<bit>` is missing, just in case.
* Fix the `_WIN32` definitions. All Windows platforms are little-endian
  (regardless of x86/x64/ARM/ARM64), `<boost/predef/other/endian.h>`
  correctly reports little-endian, and MSVC's STL simply hardcodes
  `enum class endian { little = 0, big = 1, native = little };`, see
  f75c7f596c/stl/inc/bit (L271) .
* Add a `static_assert` to verify that exactly one of
  `BOOST_MATH_ENDIAN_BIG_BYTE` or `BOOST_MATH_ENDIAN_LITTLE_BYTE` is
  true. This avoids the need for "Endian type could not be identified"
  consistency checks below.
* Fix boostorg/math#677 by not testing `BOOST_MATH_ENDIAN_BIG_BYTE` and
  `BOOST_MATH_ENDIAN_LITTLE_BYTE` with the preprocessor, as
  `std::endian::native` isn't a preprocessor constant. Now, this simply
  expects `BOOST_MATH_ENDIAN_BIG_BYTE` to be usable in a constant
  expression, and assumes (due to the consistency check above)
  that if we aren't big-endian, we must be little-endian.
2021-08-24 07:36:43 -07:00
Matt Borland
a4d5ae7177 Constexpr isfinite and isnormal (#674) 2021-08-23 21:47:41 -07:00
Matt Borland
720536a08e Fix for issue 675 (#676) 2021-08-23 07:48:28 -07:00
Matt Borland
564967785f Constexpr abs/fabs (#672)
* Initial commit

* Move error handling to impl

* Validate tests for float

* Test other types

* Add tests for types that are convertible to int

* Add include test

* Update docs

* Add fabs overloads

* Add fabs to docs

* Add missing header to tests

* Fix for old versions of clang and cleanup naming conventions

* Update jamfile

* Add glibcxx constexpr cmath tests and fix docs

* Use equality in testing instead of tolerance
2021-08-16 22:08:12 -07:00
jzmaddock
19c2759f2b Merge pull request #667 from mborland/constexpr_sqrt
Constexpr sqrt
2021-08-11 19:17:31 +01:00
jzmaddock
4bf517ddee Merge pull request #645 from vindex10/feature/noncentral_chi2_starting_point
improve mode of the non central chi squared algorithm
2021-08-03 17:43:51 +01:00
jzmaddock
e2cb654c99 Fix duplicate typedef in mp.hpp 2021-08-02 18:33:03 +01:00
Matt Borland
70d494d76a Disable some float128 tests and add C++17isms 2021-07-31 15:48:34 +03:00
Matt Borland
a52c415314 Fixes for MSVC 14.2 failure 2021-07-30 21:27:58 +03:00
Victor Ananyev
8534c06315 fix ternary type inconsistency 2021-07-30 11:01:05 +02:00
Victor Ananyev
97cc1ba7f6 improve mode of the non central chi squared algorithm 2021-07-30 11:01:05 +02:00
Daniel Scharrer
1ec5c98d80 Fix #include inside boost namespace
The existing code fails to build if <utility> was not already included.
2021-07-28 19:56:31 +02:00
kojiynet
67d25f4a40 Type cast (to suppress warnings) (#669) 2021-07-25 11:29:58 -07:00
Matt Borland
6b46545882 Fixes and add testing of float128 support 2021-07-25 21:19:08 +03:00