{"id":13729923,"url":"https://github.com/bluescarni/mppp","last_synced_at":"2025-04-08T14:10:02.980Z","repository":{"id":10652292,"uuid":"66504757","full_name":"bluescarni/mppp","owner":"bluescarni","description":"Multiprecision for modern C++","archived":false,"fork":false,"pushed_at":"2024-10-10T07:16:11.000Z","size":49660,"stargazers_count":298,"open_issues_count":10,"forks_count":25,"subscribers_count":20,"default_branch":"master","last_synced_at":"2024-10-10T23:49:54.215Z","etag":null,"topics":["c-plus-plus","c-plus-plus-11","c-plus-plus-14","c-plus-plus-17","c-plus-plus-20","computer-algebra","gmp","math","math-bignum","mpfr","multiprecision"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bluescarni.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-08-24T22:37:05.000Z","updated_at":"2024-10-10T07:10:10.000Z","dependencies_parsed_at":"2024-10-25T17:07:32.129Z","dependency_job_id":"3d8b10b5-91ae-45b0-ab5a-e20926fbc9e6","html_url":"https://github.com/bluescarni/mppp","commit_stats":{"total_commits":2937,"total_committers":5,"mean_commits":587.4,"dds":0.007831120190670782,"last_synced_commit":"58bc098ed902ef7076d0063c17d42eb1cb51b4a4"},"previous_names":[],"tags_count":32,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bluescarni%2Fmppp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bluescarni%2Fmppp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bluescarni%2Fmppp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bluescarni%2Fmppp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bluescarni","download_url":"https://codeload.github.com/bluescarni/mppp/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247856541,"owners_count":21007620,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c-plus-plus","c-plus-plus-11","c-plus-plus-14","c-plus-plus-17","c-plus-plus-20","computer-algebra","gmp","math","math-bignum","mpfr","multiprecision"],"created_at":"2024-08-03T02:01:07.572Z","updated_at":"2025-04-08T14:10:02.952Z","avatar_url":"https://github.com/bluescarni.png","language":"C++","readme":"# mp++\n[![Build Status](https://img.shields.io/circleci/project/github/bluescarni/mppp/master.svg?style=for-the-badge)](https://circleci.com/gh/bluescarni/mppp)\n[![Build Status](https://img.shields.io/github/actions/workflow/status/bluescarni/mppp/gh_actions_ci.yml?branch=master\u0026style=for-the-badge)](https://github.com/bluescarni/mppp/actions?query=workflow%3A%22GitHub+CI%22)\n![language](https://img.shields.io/badge/language-C%2B%2B11-red.svg?style=for-the-badge)\n![language](https://img.shields.io/badge/language-C%2B%2B17-red.svg?style=for-the-badge)\n![language](https://img.shields.io/badge/language-C%2B%2B20-red.svg?style=for-the-badge)\n[![Code Coverage](https://img.shields.io/codecov/c/github/bluescarni/mppp.svg?style=for-the-badge)](https://codecov.io/github/bluescarni/mppp?branch=master)\n[![Join the chat at https://gitter.im/bluescarni/mppp](https://img.shields.io/badge/gitter-join--chat-green.svg?logo=gitter-white\u0026style=for-the-badge)](https://gitter.im/bluescarni/mppp?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge)\n[![Anaconda-Server Badge](https://img.shields.io/conda/vn/conda-forge/mppp.svg?style=for-the-badge)](https://anaconda.org/conda-forge/mppp)\n\u003c!-- [![DOI](https://zenodo.org/badge/66504757.svg)](https://doi.org/10.5281/zenodo.1043579) --\u003e\n\n\u003c!-- PROJECT LOGO --\u003e\n\u003cbr /\u003e\n\u003cp align=\"center\"\u003e\n  \u003cp align=\"center\"\u003e\n    Multiprecision for C++\n    \u003cbr /\u003e\n    \u003ca href=\"https://bluescarni.github.io/mppp/index.html\"\u003e\u003cstrong\u003eExplore the docs »\u003c/strong\u003e\u003c/a\u003e\n    \u003cbr /\u003e\n    \u003cbr /\u003e\n    \u003ca href=\"https://github.com/bluescarni/mppp/issues/new/choose\"\u003eReport bug\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/bluescarni/mppp/issues/new/choose\"\u003eRequest feature\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/bluescarni/mppp/discussions\"\u003eDiscuss\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/p\u003e\n\nmp++ is a C++11/14/17/20 library for multiprecision arithmetic,\nfeaturing:\n\n* arbitrary-precision integers,\n* arbitrary-precision rationals,\n* quadruple-precision floats,\n* quadruple-precision complex numbers,\n* arbitrary-precision floats,\n* arbitrary-precision complex numbers.\n\nDesign goals include:\n\n* excellent performance for small integer and rational\n  operands,\n* easy embeddability in computer algebra systems and\n  generic C++ libraries,\n* a large collection of arbitrary-precision special functions,\n* an ergonomic API based on modern C++ idioms.\n\nDesign non-goals include:\n\n* support for fixed-size wide integrals (i.e., no ``uint512_t``,\n  try [Boost Multiprecision](https://www.boost.org/doc/libs/1_72_0/libs/multiprecision/doc/html/index.html)\n  instead).\n\nBuilt on top of the GNU multiprecision stack ([GMP](https://gmplib.org/),\n[MPFR](https://www.mpfr.org), [MPC](http://www.multiprecision.org/mpc/)),\nmp++ was initially conceived as a GMP wrapper with special focus on performance with\nsmall operands. In particular, a small buffer optimisation and custom implementations of basic mathematical primitives are\ninstrumental in achieving a performance increase, with respect to GMP and other integer multiprecision libraries, which can be\nsubstantial (see the [benchmarks](https://bluescarni.github.io/mppp/benchmarks.html) section of the documentation).\n\nOver time, mp++ has accrued many additional features, including\nmultiprecision real and complex number types, and an expanding\nlibrary of special functions (built in part on top of the excellent\n[Arb](https://arblib.org/) library).\n\nmp++ is a spinoff of the [Piranha](https://github.com/bluescarni/piranha) library, released under the\n[MPL2](https://www.mozilla.org/en-US/MPL/2.0/FAQ/) license.\nIf you are using mp++ as part of your research, teaching, or other activities, we would be grateful if you could star\nthe repository and/or cite our work. The DOI of the latest version and other citation resources are available\nat [this link](https://doi.org/10.5281/zenodo.1043579).\n\nThe documentation is available [here](https://bluescarni.github.io/mppp/).\n\n","funding_links":[],"categories":["C++"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbluescarni%2Fmppp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbluescarni%2Fmppp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbluescarni%2Fmppp/lists"}