{"id":13420340,"url":"https://github.com/libtom/libtommath","last_synced_at":"2025-05-16T11:06:19.114Z","repository":{"id":1109408,"uuid":"724503","full_name":"libtom/libtommath","owner":"libtom","description":"LibTomMath is a free open source portable number theoretic multiple-precision integer library written entirely in C.","archived":false,"fork":false,"pushed_at":"2024-07-01T22:40:41.000Z","size":21785,"stargazers_count":643,"open_issues_count":18,"forks_count":195,"subscribers_count":47,"default_branch":"develop","last_synced_at":"2024-09-13T10:57:21.776Z","etag":null,"topics":["c","libtommath","math","mpi","multi-precision"],"latest_commit_sha":null,"homepage":"https://www.libtom.net","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/libtom.png","metadata":{"files":{"readme":"README.md","changelog":"changes.txt","contributing":null,"funding":null,"license":"LICENSE","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":"2010-06-16T18:46:26.000Z","updated_at":"2024-09-12T14:00:53.000Z","dependencies_parsed_at":"2023-01-16T18:30:45.397Z","dependency_job_id":"ec2e7294-711b-4575-98a9-816ec83fb4f1","html_url":"https://github.com/libtom/libtommath","commit_stats":{"total_commits":1215,"total_committers":54,"mean_commits":22.5,"dds":0.6518518518518519,"last_synced_commit":"5809141a3a6ec1bf3443c927c02b955e19224016"},"previous_names":[],"tags_count":65,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libtom%2Flibtommath","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libtom%2Flibtommath/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libtom%2Flibtommath/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libtom%2Flibtommath/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/libtom","download_url":"https://codeload.github.com/libtom/libtommath/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254518383,"owners_count":22084374,"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","libtommath","math","mpi","multi-precision"],"created_at":"2024-07-30T22:01:31.624Z","updated_at":"2025-05-16T11:06:14.104Z","avatar_url":"https://github.com/libtom.png","language":"C","funding_links":[],"categories":["TODO scan for Android support in followings","Math","C","进程间通信"],"sub_categories":["数学"],"readme":"# libtommath\n\nThis is the git repository for [LibTomMath](http://www.libtom.net/LibTomMath/), a free open source portable number theoretic multiple-precision integer (MPI) library written entirely in C.\n\n## Build Status\n\n### Travis CI\n\nmaster: [![Build Status](https://github.com/libtom/libtommath/actions/workflows/main.yml/badge.svg?branch=master)](https://github.com/libtom/libtommath/actions/workflows/main.yml?query=branch%3Amaster+++)\n\ndevelop: [![Build Status](https://github.com/libtom/libtommath/actions/workflows/main.yml/badge.svg?branch=develop)](https://github.com/libtom/libtommath/actions/workflows/main.yml?query=branch%3Adevelop+++)\n\n### AppVeyor\n\nmaster: [![Build status](https://ci.appveyor.com/api/projects/status/b80lpolw3i8m6hsh/branch/master?svg=true)](https://ci.appveyor.com/project/libtom/libtommath/branch/master)\n\ndevelop: [![Build status](https://ci.appveyor.com/api/projects/status/b80lpolw3i8m6hsh/branch/develop?svg=true)](https://ci.appveyor.com/project/libtom/libtommath/branch/develop)\n\n### ABI Laboratory\n\nAPI/ABI changes: [check here](https://abi-laboratory.pro/tracker/timeline/libtommath/)\n\n### Pre-built packages\n\nWe sometimes upload `deb` packages of the latest state from the develop branch to [packagecloud.io](https://packagecloud.io/libtom/packages).\n\nUse those packages with caution and at your own discretion.\n\n## Summary\n\nThe `develop` branch contains the in-development version. Stable releases are tagged.\n\nDocumentation is built from the LaTeX file `doc/bn.tex` and available as PDF for each release.\nThis PDF is also created as build artifact on each CI run.\n\nThere is also limited documentation in `tommath.h`.\n\nOriginally the library contained a document, `tommath.pdf`, which describes the goals of the project and many of the algorithms used at the time.\nThis document has been removed since it can't be built anymore and nobody spent the time to fix and update it.\nThe latest valid update to that document was done in version [`0.39`](https://github.com/libtom/libtommath/releases/tag/0.39) of the library and it is contained within that tarball.\n\nThe project can be build by using `make`. Along with the usual `make`, `make clean` and `make install`,\nthere are several other build targets, see the makefile for details.\nThere are also makefiles for certain specific platforms.\n\n## Testing\n\nTests are located in `demo/` and can be built in two flavors.\n* `make test` creates a stand-alone test binary that executes several test routines.\n* `make mtest_opponent` creates a test binary that is intended to be run against `mtest`.\n  `mtest` can be built with `make mtest` and test execution is done like `./mtest/mtest | ./mtest_opponent`.\n  `mtest` is creating test vectors using an alternative MPI library and `test` is consuming these vectors to verify correct behavior of ltm\n\n## Building and Installing\n\nBuilding is straightforward for GNU Linux only, the section \"Building LibTomMath\" in the documentation in `doc/bn.pdf` has the details.\n\n### CMake support\n\nThe project provides support for the CMake build system.\n\n```\ngit clone https://github.com/libtom/libtommath.git\nmkdir -p libtommath/build\ncd libtommath/build\ncmake ..\nmake -j$(nproc)\n```\n\nA shared library build can be done by setting `-DBUILD_SHARED_LIBS=On` when invoking the `cmake` command.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flibtom%2Flibtommath","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flibtom%2Flibtommath","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flibtom%2Flibtommath/lists"}