Mppp Versions Save

Multiprecision for modern C++

v1.0.2

4 months ago

A very quick release that fixes the CMakeLists.txt file having the wrong version number.

v1.0.1

4 months ago

This is a small release that fixes a couple of issues with the support for the fmt library.

As usual, the full changelog is available here:

https://bluescarni.github.io/mppp/changelog.html

v1.0.0

4 months ago

NOTE: with release 1.0.0, mp++ transitions to a semantic versioning numbering scheme.

This is a maintenance release that features a few bugfixes and introduces ABI versioning. There are no API changes with respect to the previous release (0.27).

As usual, the full changelog is available here:

https://bluescarni.github.io/mppp/changelog.html

v0.27

1 year ago

This new mp++ release contains several new features for the real class, performance improvements for signed multiprecision integers, and a couple of build fixes.

Additionally, mp++ now has optional support for formatting via the fmt library:

https://github.com/fmtlib/fmt

The full changelog, as usual, is available here:

https://bluescarni.github.io/mppp/changelog.html

v0.26

2 years ago

This is a quick release that fixes support for quadruple-precision floating-point types on PPC64. There are no other changes with respect to mp++ 0.25.

The full changelog, as usual, is available here:

https://bluescarni.github.io/mppp/changelog.html

v0.25

2 years ago

This is an incremental bugfix release that fixes a build issue on some platforms (e.g., FreeBSD) originating from calling GMP/MPFR/MPC macros with a leading ::. A small feature addition for the real class and a new interactive notebook are included as well.

As usual, the full changelog is available here:

https://bluescarni.github.io/mppp/changelog.html

v0.24

2 years ago

The main addition in this new mp++ release is support for output stream format flags for all the floating-point classes (both real-valued and complex-valued):

#include <iomanip>
#include <ios>

std::cout << std::scientific << std::setprecision(6) << real{1 / 3.} << '\n'; // "3.333333e-01"
std::cout << std::hexfloat << std::uppercase << complex{1.1, 1.3} << '\n';    // "(0X1.199999999999AP+0,0X1.4CCCCCCCCCCCDP+0)"
std::cout << std::fixed << std::showpoint << std::showpos << 42_rq << '\n';   // "+42.000000"

Additionally, the Lambert functions and the polylogarithms are now available for the real class.

Another important addition is that mp++'s conda packages are now available for the ARM64 and PPC64 architectures.

The full changelog, as usual, is available here:

https://bluescarni.github.io/mppp/changelog.html

v0.23

3 years ago

This is a minor release that features an important API change: several generic constructors of the multiprecision classes are not marked explicit any more. This change improves the library's ergonomics and interoperability with other generic C++ libraries.

Another small addition is a new fabs() overload for real128, equivalent to the existing abs() functions for the computation of the absolute value.

The full changelog, as usual, is available here:

https://bluescarni.github.io/mppp/changelog.html

v0.22

3 years ago

This new version of mp++ adds a binary serialization API for the real class, and enables (optional) Boost.serialization support for all multiprecision classes. The new release also features various build system enhancements/fixes and a new theme for the online documentation.

The full changelog, as usual, is available here:

https://bluescarni.github.io/mppp/changelog.html

v0.21

3 years ago

This new release of mp++ greatly enhances the capabilities of the real128 and real classes. In particular, all functions from the quadmath library are now exposed in the real128 API, and most MPFR functions are now exposed in the real API.

This release also contains new features for the complex and integer classes, and a bugfix in a couple of real functions which were returning incorrect values at the poles.

The benchmark code has been overhauled, and the documentation has been updated with new benchmark results.

The full changelog, as usual, is available here:

https://bluescarni.github.io/mppp/changelog.html