Macros and definitions

Macros and definitions#

New in version 0.6.

#include <mp++/config.hpp>

MPPP_VERSION_STRING#

This definition expands to a string literal containing the full version of the mp++ library (e.g., for version 1.2.3 this macro expands to "1.2.3").

MPPP_VERSION_MAJOR#

This definition expands to an integral literal corresponding to the major mp++ version (e.g., for version 1.2.3, this macro expands to 1).

MPPP_VERSION_MINOR#

This definition expands to an integral literal corresponding to the minor mp++ version (e.g., for version 1.2.3, this macro expands to 2).

MPPP_VERSION_PATCH#

New in version 1.0.0.

This definition expands to an integral literal corresponding to the patch mp++ version (e.g., for version 1.2.3, this macro expands to 3).

MPPP_WITH_QUADMATH#

This name is defined if mp++ was configured with support for the quadmath library (see the installation instructions).

MPPP_QUADMATH_HAVE_EXP2Q#

New in version 0.27.

This name is defined if mp++ was configured with support for a quadmath library version providing the exp2q() function (see the installation instructions).

MPPP_QUADMATH_HAVE_LOGBQ#

New in version 0.27.

This name is defined if mp++ was configured with support for a quadmath library version providing the logbq() function (see the installation instructions).

MPPP_WITH_BOOST_S11N#

New in version 0.22.

This name is defined if mp++ was configured with support for the Boost.serialization library (see the installation instructions).

MPPP_WITH_FMT#

New in version 0.27.

This name is defined if mp++ was configured with support for the fmt library (see the installation instructions).

MPPP_FLOAT128_WITH_LONG_DOUBLE#

New in version 0.22.

This macro is defined if mp++ was configured with support for the quadmath library and the __float128 type can be used in mixed-mode operations with long double (see the installation instructions and the platform-specific notes).

MPPP_WITH_MPFR#

This name is defined if mp++ was configured with support for the MPFR library (see the installation instructions).

MPPP_WITH_MPC#

New in version 0.20.

This name is defined if mp++ was configured with support for the MPC library (see the installation instructions).

MPPP_WITH_ARB#

New in version 0.19.

This name is defined if mp++ was configured with support for the Arb library (see the installation instructions).

MPPP_HAVE_GCC_INT128#

This name is defined if mp++ detects the presence of the GCC-style 128-bit integers __int128_t and __uint128_t, available on some compiler/platform combinations.

MPPP_STATIC_BUILD#

New in version 0.15.

This name is defined if mp++ was built as a static library, instead of a dynamic library (see the installation instructions).

MPPP_HAVE_STRING_VIEW#

New in version 0.17.

This name is defined if mp++ detects the availability of the std::string_view class (available since C++17).