{"id":21213394,"url":"https://github.com/ajtribick/twofloat","last_synced_at":"2025-04-09T15:07:51.924Z","repository":{"id":43259388,"uuid":"244136356","full_name":"ajtribick/twofloat","owner":"ajtribick","description":"A double-double arithmetic library for Rust","archived":false,"fork":false,"pushed_at":"2025-02-02T18:52:51.000Z","size":317,"stargazers_count":17,"open_issues_count":9,"forks_count":8,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-09T15:07:39.519Z","etag":null,"topics":["extended-precision","floating-point","numerics","rust-library"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ajtribick.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2020-03-01T11:25:56.000Z","updated_at":"2025-02-02T18:52:52.000Z","dependencies_parsed_at":"2024-12-13T23:19:39.035Z","dependency_job_id":"7bb933ea-f272-40e4-af8d-13bad1c2b4a0","html_url":"https://github.com/ajtribick/twofloat","commit_stats":{"total_commits":209,"total_committers":3,"mean_commits":69.66666666666667,"dds":0.02392344497607657,"last_synced_commit":"1b4a7788fb7491e2ec44895ea49c74c7eec58ee3"},"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ajtribick%2Ftwofloat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ajtribick%2Ftwofloat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ajtribick%2Ftwofloat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ajtribick%2Ftwofloat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ajtribick","download_url":"https://codeload.github.com/ajtribick/twofloat/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248055284,"owners_count":21040157,"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":["extended-precision","floating-point","numerics","rust-library"],"created_at":"2024-11-20T21:16:02.509Z","updated_at":"2025-04-09T15:07:51.902Z","avatar_url":"https://github.com/ajtribick.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# twofloat\n\n[![Crate](https://img.shields.io/crates/v/twofloat)](https://crates.io/crates/twofloat)\n\n**A double-double arithmetic library for Rust.**\n\nThis library provides an implementation of double-double arithmetic for the\nRust language. Note that this is not the same as the IEEE quadruple-precision\nfloating-point format. Instead, higher precision is obtained by representing\nthe value as the sum of two non-overlapping `f64` values.\n\nOperator traits are implemented both for reference and value types where\nappropriate. The code indicates the source of the algorithms used.\n\nMathematical constants are available in the `twofloat::consts` module, which\nprovides the same set of constants as `std::f64::consts`.\n\nPlease note that the implementation of the mathematical functions (`exp`,\n`powf`, etc.) is very preliminary. In particular, they are calculated using\noperations at the same precision as the result, so they will not return values\nwhich are correct to the full precision of the `TwoFloat` type. This may be\naddressed in future releases.\n\n## Optional features\n\n* `math_funcs` - include mathematical functions (enabled by default)\n* `serde` - enable serialization/deserialization with Serde.\n* `std` - use std mathematical functions instead of libm.\n\n## Known issues\n\n* The MinGW `fma` implementation appears to give incorrect results in some\n  cases, so the libm implementation is always used on this platform.\n\n## References\n\n* Mioara Joldeș, Jean-Michel Muller, Valentina Popescu. Tight and rigourous\n  error bounds for basic building blocks of double-word arithmetic. ACM\n  Transactions on Mathematical Software, Association for Computing Machinery,\n  2017, 44 (2), pp. 1-27. 10.1145/3121432. hal-01351529v3\n\n* Alan H. Karp, Peter Markstein. High Precision Division and Square Root. ACM\n  Transactions on Mathematical Software, Association for Computing Machinery,\n  1997, 23 (4), pp. 561-589. 10.1145/279232.279237.\n\n* S. Chevillard, M. Joldeș and C. Lauter. Sollya: an environment for the\n  development of numerical codes. Mathematical Software - ICMS 2010, pp.\n  28–31.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fajtribick%2Ftwofloat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fajtribick%2Ftwofloat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fajtribick%2Ftwofloat/lists"}