diff --git a/_sources/benchmarks.rst b/_sources/benchmarks.rst index 6f9541056..74bc9d777 100644 --- a/_sources/benchmarks.rst +++ b/_sources/benchmarks.rst @@ -220,7 +220,7 @@ heyoka uses the `MPFR library `__ for multiprecision floa computations under the hood. DifferentialEquations.jl can also use MPFR (via the `BigFloat `__ type) or, alternatively the `Arb `__ library (via the -`ArbNumerics.jl `__ package). +`ArbNumerics.jl `__ package). Here are the results of a numerical integration of the simple pendulum with a 256-bit significand and a tolerance of :math:`10^{-77}`: diff --git a/_sources/changelog.rst b/_sources/changelog.rst index 198c2c2b0..74b2d7672 100644 --- a/_sources/changelog.rst +++ b/_sources/changelog.rst @@ -7,8 +7,35 @@ Changelog New ~~~ +- Add mutable ranges getters for the state and pars data of the adaptive + integrators (`#409 `__). - Support LLVM 18 (`#408 `__). +Changes +~~~~~~~ + +- Remove the (undocumented) ``taylor_add_jet()`` function and rework + the unit test code to use ``taylor_adaptive`` instead + (`#409 `__). + +Fix +~~~ + +- Fix test failures on OSX arm64 + (`#409 `__). + +4.0.3 (2024-04-04) +------------------ + +Fix +~~~ + +- Workaround compilation failures in the unit tests + when using GCC 13 + (`#409 `__). +- Fix compilation on FreeBSD + (`#407 `__). + 4.0.2 (2024-03-03) ------------------ diff --git a/_sources/known_issues.rst b/_sources/known_issues.rst index 3f0e7a988..7e02c6b30 100644 --- a/_sources/known_issues.rst +++ b/_sources/known_issues.rst @@ -1,9 +1,42 @@ Known issues ============ +Unsolved +======== + +* Under very specific circumstances, C++ code executed right after + code that was JIT-compiled by heyoka might produce nonsensical results. + This happens only if **all** the following conditions are met: + + * you are on an Intel x86 platform where ``long double`` corresponds + to the extended-precision 80-bit x86 floating-point type, + * heyoka was compiled with support for quadruple-precision computations + via :cpp:class:`mppp::real128`, + * JIT-compiled code using **both** 80-bit and quadruple-precision datatypes + was executed, + * the "fast math" flag was enabled during JIT compilation. + + The root cause is most likely a code-generation/optimisation problem in LLVM. + This issue is currently under investigation. + +Solved +====== + +* In several LLVM versions, attempting to use :ref:`batch mode ` + with the extended precision ``long double`` type on x86 processors will lead + to incorrect results. This is due to code generation issues in LLVM with + ``long double`` vector types. This problem seems to have been rectified in + LLVM 18. Note that, in practice, there is no reason to attempt to use batch + mode with ``long double`` as currently there are no CPUs implementing SIMD operations + on extended-precision datatypes. * Due to an upstream bug, if you compile heyoka linking statically against LLVM 17 while enabling the ``HEYOKA_HIDE_LLVM_SYMBOLS`` option (see the :ref:`installation instructions `), you may experience runtime errors due to missing symbols. This problem should be fixed in LLVM 18. A patch fixing the issue in LLVM 17 is available `here `__. +* Due to an `upstream bug `__, + multiprecision :ref:`ensemble propagations ` + crash on OSX arm64 when using heyoka's conda-forge package. This is due to the conda-forge + package for the MPFR library not being compiled in thread-safe mode. The solution is to update + to the latest version of the MPFR package, which includes a fix for this issue. diff --git a/_sources/tut_cfunc.rst b/_sources/tut_cfunc.rst index 00d398001..55b3cac8c 100644 --- a/_sources/tut_cfunc.rst +++ b/_sources/tut_cfunc.rst @@ -3,6 +3,8 @@ Compiled functions ================== +.. versionadded:: 4.0.0 + .. cpp:namespace-push:: heyoka heyoka can compile just-in-time (JIT) multivariate vector functions defined diff --git a/_static/documentation_options.js b/_static/documentation_options.js index 8da7af906..835204ede 100644 --- a/_static/documentation_options.js +++ b/_static/documentation_options.js @@ -1,5 +1,5 @@ const DOCUMENTATION_OPTIONS = { - VERSION: '4.0.2', + VERSION: '4.1.0', LANGUAGE: 'en', COLLAPSE_INDEX: false, BUILDER: 'html', diff --git a/acknowledgement.html b/acknowledgement.html index b70b96359..79796e588 100644 --- a/acknowledgement.html +++ b/acknowledgement.html @@ -8,7 +8,7 @@ - Acknowledgement — heyoka 4.0.2 documentation + Acknowledgement — heyoka 4.1.0 documentation @@ -36,7 +36,7 @@ - + @@ -133,8 +133,8 @@ - heyoka 4.0.2 documentation - Home - + heyoka 4.1.0 documentation - Home + @@ -198,6 +198,8 @@
  • Changelog
  • Breaking changes
  • Known issues
  • + +
  • Acknowledgement
  • Bibliography
  • diff --git a/ad_notes.html b/ad_notes.html index d6a7965e0..92638eb0c 100644 --- a/ad_notes.html +++ b/ad_notes.html @@ -8,7 +8,7 @@ - Notes on automatic differentiation — heyoka 4.0.2 documentation + Notes on automatic differentiation — heyoka 4.1.0 documentation @@ -36,7 +36,7 @@ - + @@ -134,8 +134,8 @@ - heyoka 4.0.2 documentation - Home - + heyoka 4.1.0 documentation - Home + @@ -199,6 +199,8 @@
  • Changelog
  • Breaking changes
  • Known issues
  • + +
  • Acknowledgement
  • Bibliography
  • diff --git a/advanced_tutorials.html b/advanced_tutorials.html index bbaece32a..a39f4f15a 100644 --- a/advanced_tutorials.html +++ b/advanced_tutorials.html @@ -8,7 +8,7 @@ - Advanced tutorials — heyoka 4.0.2 documentation + Advanced tutorials — heyoka 4.1.0 documentation @@ -36,7 +36,7 @@ - + @@ -133,8 +133,8 @@ - heyoka 4.0.2 documentation - Home - + heyoka 4.1.0 documentation - Home + @@ -198,6 +198,8 @@
  • Changelog
  • Breaking changes
  • Known issues
  • + +
  • Acknowledgement
  • Bibliography
  • diff --git a/api_reference.html b/api_reference.html index 82dec65bb..43db247e4 100644 --- a/api_reference.html +++ b/api_reference.html @@ -8,7 +8,7 @@ - API Reference — heyoka 4.0.2 documentation + API Reference — heyoka 4.1.0 documentation @@ -36,7 +36,7 @@ - + @@ -133,8 +133,8 @@ - heyoka 4.0.2 documentation - Home - + heyoka 4.1.0 documentation - Home + @@ -198,6 +198,8 @@
  • Changelog
  • Breaking changes
  • Known issues
  • + +
  • Acknowledgement
  • Bibliography
  • diff --git a/basic_tutorials.html b/basic_tutorials.html index 3197030e7..a286607ef 100644 --- a/basic_tutorials.html +++ b/basic_tutorials.html @@ -8,7 +8,7 @@ - Basic tutorials — heyoka 4.0.2 documentation + Basic tutorials — heyoka 4.1.0 documentation @@ -36,7 +36,7 @@ - + @@ -133,8 +133,8 @@ - heyoka 4.0.2 documentation - Home - + heyoka 4.1.0 documentation - Home + @@ -198,6 +198,8 @@
  • Changelog
  • Breaking changes
  • Known issues
  • + +
  • Acknowledgement
  • Bibliography
  • diff --git a/benchmarks.html b/benchmarks.html index 22cd37291..b8c074653 100644 --- a/benchmarks.html +++ b/benchmarks.html @@ -8,7 +8,7 @@ - Benchmarks — heyoka 4.0.2 documentation + Benchmarks — heyoka 4.1.0 documentation @@ -36,7 +36,7 @@ - + @@ -134,8 +134,8 @@ - heyoka 4.0.2 documentation - Home - + heyoka 4.1.0 documentation - Home + @@ -199,6 +199,8 @@
  • Changelog
  • Breaking changes
  • Known issues
  • + +
  • Acknowledgement
  • Bibliography
  • @@ -573,7 +575,7 @@

    Extended and arbitrary precisionBigFloat type) or, alternatively the Arb library (via the -ArbNumerics.jl package).

    +ArbNumerics.jl package).

    Here are the results of a numerical integration of the simple pendulum with a 256-bit significand and a tolerance of \(10^{-77}\):

    Arbitrary-precision pendulum diff --git a/bibliography.html b/bibliography.html index 12aa1927c..6549995fd 100644 --- a/bibliography.html +++ b/bibliography.html @@ -8,7 +8,7 @@ - Bibliography — heyoka 4.0.2 documentation + Bibliography — heyoka 4.1.0 documentation @@ -36,7 +36,7 @@ - + @@ -132,8 +132,8 @@ - heyoka 4.0.2 documentation - Home - + heyoka 4.1.0 documentation - Home + @@ -197,6 +197,8 @@
  • Changelog
  • Breaking changes
  • Known issues
  • + +
  • Acknowledgement
  • Bibliography
  • diff --git a/breaking_changes.html b/breaking_changes.html index 7699acdbf..1ac9abc55 100644 --- a/breaking_changes.html +++ b/breaking_changes.html @@ -8,7 +8,7 @@ - Breaking changes — heyoka 4.0.2 documentation + Breaking changes — heyoka 4.1.0 documentation @@ -36,7 +36,7 @@ - + @@ -133,8 +133,8 @@ - heyoka 4.0.2 documentation - Home - + heyoka 4.1.0 documentation - Home + @@ -198,6 +198,8 @@
  • Changelog
  • Breaking changes
  • Known issues
  • + +
  • Acknowledgement
  • Bibliography
  • diff --git a/cfunc.html b/cfunc.html index d6ef897e7..603ae1204 100644 --- a/cfunc.html +++ b/cfunc.html @@ -8,7 +8,7 @@ - Compiled functions — heyoka 4.0.2 documentation + Compiled functions — heyoka 4.1.0 documentation @@ -36,7 +36,7 @@ - + @@ -133,8 +133,8 @@ - heyoka 4.0.2 documentation - Home - + heyoka 4.1.0 documentation - Home + @@ -198,6 +198,8 @@
  • Changelog
  • Breaking changes
  • Known issues
  • + +
  • Acknowledgement
  • Bibliography
  • diff --git a/changelog.html b/changelog.html index be40295a2..88e425efe 100644 --- a/changelog.html +++ b/changelog.html @@ -8,7 +8,7 @@ - Changelog — heyoka 4.0.2 documentation + Changelog — heyoka 4.1.0 documentation @@ -36,7 +36,7 @@ - + @@ -134,8 +134,8 @@ - heyoka 4.0.2 documentation - Home - + heyoka 4.1.0 documentation - Home + @@ -199,6 +199,8 @@
  • Changelog
  • Breaking changes
  • Known issues
  • + +
  • Acknowledgement
  • Bibliography
  • @@ -398,172 +400,178 @@

    Contents