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.
| Repository | aarch64 | amd64 | armv6 | armv7 | i386 |
|---|---|---|---|---|---|
| FreeBSD:14:latest | 2.0.0_2 | 2.0.0_2 | - | 1.0.3_5 | 2.0.0_2 |
| FreeBSD:14:quarterly | 2.0.0_2 | 2.0.0_2 | n/a | 1.0.3_4 | 2.0.0_2 |
| FreeBSD:15:latest | 2.0.0_2 | 2.0.0_2 | n/a | 1.0.3_5 | 1.0.3_5 |
| FreeBSD:15:quarterly | 2.0.0_2 | 2.0.0_2 | n/a | n/a | n/a |
| FreeBSD:16:latest | 2.0.0_2 | 2.0.0_2 | n/a | n/a | n/a |
| FreeBSD:16:quarterly | n/a | n/a | n/a | n/a | n/a |
Dependencies
As this port's Makefile names them.
Library 1
libgmp.so: math/gmp
The full lists below include those, and their dependencies in turn.
All build dependencies 23
- archivers/liblz4
- archivers/zstd
- devel/boost-libs
- devel/cmake-core
- devel/gettext-runtime
- devel/icu
- devel/jsoncpp
- devel/libffi
- devel/libfmt
- devel/libunistring
- devel/libuv
- devel/ninja
- devel/readline
- dns/libidn2
- lang/python312
- math/gmp
- math/mpc
- math/mpdecimal
- math/mpfr
- ports-mgmt/pkg
- print/indexinfo
- security/rhash
- textproc/expat2
All run dependencies 9
Configuration
Options name: math_mppp
| Option | Default | Description |
|---|---|---|
| ARB | off | Enable features relying on Arb (requires math/flint >= 3) |
| FMT | on | Enable support for the fmt library |
| MPC | on | Enable features relying on MPC |
| MPFR | on | Enable features relying on MPFR |
| SERIALIZATION | on | Enable 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
| File | Size | SHA256 |
|---|---|---|
| bluescarni-mppp-v2.0.0_GH0.tar.gz | 1.90605e+06 | 699a882b8506b2e3c555a42300ad473302bfac3d35a931898816a401ed5fc5f3 |