FreeBSD Ports

math/mppp 2.0.0_2

Multiprecision for modern C++

Repository
FreeBSD ports
Maintainer
[email protected]
Last update
Commit
97a84ef467
License
MPL20
Categories
math
Package size
159.0 KiB, 1025.5 KiB installed

Description

mp++ is a C++11 library for multiprecision arithmetic, currently supporting arbitrary-precision integers, rationals and floats, and quadruple-precision floats.

Based on well-known libraries such as GMP, MPFR, and others, mp++ was initially conceived as a GMP wrapper with a special focus on performance with small operands. In particular, a small buffer optimisation and custom implementations of basic mathematical primitives are instrumental in achieving a performance increase, with respect to GMP and other integer multiprecision libraries, which can be substantial (see the benchmarks section of the documentation). The price to pay is a small overhead when operating on large integers.

Eventually, a multiprecision rational class and two multiprecision floating-point classes were added, and today a secondary objective of mp++ is to provide a modern, consistent and unified C++ interface to several lower-level multiprecision libraries.

Install

As a binary package — by origin, or by package name:

pkg install math/mppp
pkg install mppp

From the ports tree:

cd /usr/ports/math/mppp/ && make install clean

To depend on this port in another port's Makefile:

RUN_DEPENDS=	mppp>0:math/mppp
LIB_DEPENDS=	libmp++.so:math/mppp

Packages

The version each package repository carries. “-” means the repository builds no package of it, “n/a” that there is no such repository.

Repositoryaarch64amd64armv6armv7i386
FreeBSD:14:latest2.0.0_22.0.0_2-1.0.3_52.0.0_2
FreeBSD:14:quarterly2.0.0_22.0.0_2n/a1.0.3_42.0.0_2
FreeBSD:15:latest2.0.0_22.0.0_2n/a1.0.3_51.0.3_5
FreeBSD:15:quarterly2.0.0_22.0.0_2n/an/an/a
FreeBSD:16:latest2.0.0_22.0.0_2n/an/an/a
FreeBSD:16:quarterlyn/an/an/an/an/a

Dependencies

As this port's Makefile names them.

Library 1

The full lists below include those, and their dependencies in turn.

All build dependencies 23
All run dependencies 9

Configuration

Options name: math_mppp

OptionDefaultDescription
ARBoffEnable features relying on Arb (requires math/flint >= 3)
FMTonEnable support for the fmt library
MPConEnable features relying on MPC
MPFRonEnable features relying on MPFR
SERIALIZATIONonEnable features relying on the Boost.Serialization library
USES
cmake compiler:c++14-lang
Service scripts
none

Files

pkg-plist 35
  • include/mp++/complex.hpp
  • include/mp++/complex128.hpp
  • include/mp++/concepts.hpp
  • include/mp++/config.hpp
  • include/mp++/detail/fmt.hpp
  • include/mp++/detail/gmp.hpp
  • include/mp++/detail/integer_literals.hpp
  • include/mp++/detail/mpc.hpp
  • include/mp++/detail/mpfr.hpp
  • include/mp++/detail/parse_complex.hpp
  • include/mp++/detail/rational_literals.hpp
  • include/mp++/detail/real128_literal.hpp
  • include/mp++/detail/real_literals.hpp
  • include/mp++/detail/type_traits.hpp
  • include/mp++/detail/utils.hpp
  • include/mp++/detail/visibility.hpp
  • include/mp++/exceptions.hpp
  • include/mp++/extra/pybind11.hpp
  • include/mp++/fwd.hpp
  • include/mp++/integer.hpp
  • include/mp++/mp++.hpp
  • include/mp++/rational.hpp
  • include/mp++/real.hpp
  • include/mp++/real128.hpp
  • include/mp++/type_name.hpp
  • lib/cmake/mp++/Findmp++_GMP.cmake
  • lib/cmake/mp++/Findmp++_MPC.cmake
  • lib/cmake/mp++/Findmp++_MPFR.cmake
  • lib/cmake/mp++/mp++-config-version.cmake
  • lib/cmake/mp++/mp++-config.cmake
  • lib/cmake/mp++/mp++_export-.cmake
  • lib/cmake/mp++/mp++_export.cmake
  • lib/libmp++.so
  • lib/libmp++.so.16
  • lib/libmp++.so.16.0
distinfo 1
FileSizeSHA256
bluescarni-mppp-v2.0.0_GH0.tar.gz1.90605e+06699a882b8506b2e3c555a42300ad473302bfac3d35a931898816a401ed5fc5f3

Commit history 1

DateCommitCreditsLog message
97a84ef467 Dima Panov */*: update boost consumers after boost-1.92