{"id":33941449,"url":"https://github.com/stencillogic/num-bigfloat","last_synced_at":"2026-04-07T04:31:44.143Z","repository":{"id":37237144,"uuid":"497637176","full_name":"stencillogic/num-bigfloat","owner":"stencillogic","description":"Increased precision floating point numbers implemented purely in Rust.","archived":false,"fork":false,"pushed_at":"2025-04-21T17:15:10.000Z","size":1849,"stargazers_count":22,"open_issues_count":1,"forks_count":6,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-14T04:37:09.745Z","etag":null,"topics":["bigfloat","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stencillogic.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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,"zenodo":null},"funding":{"github":null,"patreon":"stencillogic","open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":null}},"created_at":"2022-05-29T15:55:08.000Z","updated_at":"2025-11-23T17:07:52.000Z","dependencies_parsed_at":"2025-04-13T15:19:32.051Z","dependency_job_id":"f59fe1e9-150c-46e5-9aeb-3c94769d36bb","html_url":"https://github.com/stencillogic/num-bigfloat","commit_stats":{"total_commits":110,"total_committers":2,"mean_commits":55.0,"dds":"0.018181818181818188","last_synced_commit":"ece9b1f970ea5e1367e3794d85a1709e5f70cc7b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/stencillogic/num-bigfloat","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stencillogic%2Fnum-bigfloat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stencillogic%2Fnum-bigfloat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stencillogic%2Fnum-bigfloat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stencillogic%2Fnum-bigfloat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stencillogic","download_url":"https://codeload.github.com/stencillogic/num-bigfloat/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stencillogic%2Fnum-bigfloat/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31500397,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T03:10:19.677Z","status":"ssl_error","status_checked_at":"2026-04-07T03:10:13.982Z","response_time":105,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["bigfloat","rust"],"created_at":"2025-12-12T16:23:12.143Z","updated_at":"2026-04-07T04:31:44.136Z","avatar_url":"https://github.com/stencillogic.png","language":"Rust","funding_links":["https://patreon.com/stencillogic"],"categories":[],"sub_categories":[],"readme":"![Tests](https://github.com/stencillogic/num-bigfloat/workflows/Rust/badge.svg)\n![Minimum rustc version](https://img.shields.io/badge/rustc-1.62.1+-blue.svg)\n\n\nIncreased precision floating point numbers implemented purely in Rust. \n\n## Arbitrary precision numbers\n\n**A fork of the library is available that implements floating-point numbers of arbitrary precision: [astro-float](https://github.com/stencillogic/astro-float).\nThe new library uses more elaborate algorithms, has higher accuracy and better test coverage.**\n\n## Rationale\n\nThere are several notable implementations of numbers with increased precision for Rust. Among the libraries, one can recall [num-bigint](https://crates.io/crates/num-bigint), [rust_decimal](https://crates.io/crates/rust_decimal).\n\nWhile these libraries are great in many ways, they don't allow you to perform operations on numbers while still providing fairly high precision.\n\nThere are also wrapper libraries, like [rug](https://crates.io/crates/rug), that depend on MPFR for implementing arbitrary precision floating point numbers.\n\nThis library is written in pure Rust, provides more precision than f32, f64, and some other data types with increased precision.\n\n## Number characteristics\n\nNumber has fixed-size mantissa and exponent.\n\n| Name                          | Value  |\n|:------------------------------|-------:|\n| Base                          |     10 |\n| Decimal positions in mantissa |     40 |\n| Exponent minimum value        |   -128 |\n| Exponent maximum value        |    127 |\n\n\n## no_std\n\nLibrary can be used without the standard Rust library. This can be achieved by turning off `std` feature.\n\n\n## Performance\n\nBenchmark for `num-bigfloat`, `rug`(`MPFR`), and `astro-float` can be found here: [bigfloat-bench](https://github.com/stencillogic/bigfloat-bench).\n\n## Other features\n\nThe library depends on [rand](https://crates.io/crates/rand) which is used by `BigFloat::random_normal`. This dependecy can be excluded by turning off the `rand` feature. `rand` feature requires `std` feature.\n\nThe library depends on [serde](https://crates.io/crates/serde) which is also optional and can be eliminated by turning off the `serde` feature.\n\nIn addition, the library implements [num-traits](https://crates.io/crates/num_traits). Dependency on `num-traits` can be excluded by turning off `num-traits` feature.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstencillogic%2Fnum-bigfloat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstencillogic%2Fnum-bigfloat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstencillogic%2Fnum-bigfloat/lists"}