boostorg / boostorg/multiprecision
Feature request: quad-double precision.
- Dominant language
- C++
- Stars
- 265
- Forks
- 128
- Avg merge
- 4h 48m
- Merged PRs (30d)
- 2
Description
Hi,
as suggested in [math #303](https://github.com/boostorg/math/issues/303) I repost this here:
How feasible it is to integrate quad-double precision, It has 212 bits in significand and is faster than MPFR:
* [source code](https://www.davidhbailey.com/dhbsoftware/qd-2.3.22.tar.gz), it is on BSD license.
* [article/documentation](https://www.davidhbailey.com/dhbpapers/quad-double.pdf)
* [quad double precision homepage]( https://www.davidhbailey.com/dhbsoftware/)
I have just recently [integrated boost multiprecision](https://gitlab.com/yade-dev/trunk/merge_requests/362) with a fairly large numerical computation software [YADE](https://yade-dem.org/doc/).
Float128 isn't enough for my needs, yade would greatly benefit from quad-double (as it is much faster than MPFR). Also yade can serve as a really large testing ground. I have implemented [CGAL numerical traits](https://gitlab.com/yade-dev/trunk/blob/highPrecisionReal/lib/high-precision/CgalNumTraits.hpp) and [EIGEN numerical traits](https://gitlab.com/yade-dev/trunk/blob/highPrecisionReal/lib/high-precision/EigenNumTraits.hpp) to use multiprecision. And all of them are tested daily in our pipeline, see [an example run here](https://gitlab.com/yade-dev/trunk/pipelines/110095678). Or a more specific example for float128: [test (need to scroll up)](https://gitlab.com/yade-dev/trunk/-/jobs/406901045#L227) and [check](https://gitlab.com/yade-dev/trunk/-/jobs/406610946)
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reviewing the linked quad-double source code, article, and homepage, then compare them with Boost.Multiprecision and the linked YADE integration. The issue names no repository files or tests; done would require an agreed design and validated quad-double support, including compatibility with the cited numerical traits and testing setup.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100