boostorg / boostorg/multiprecision

Feature request: quad-double precision.

Open
#184 96 comments 2 reactions 0 assignees View on GitHub
enhancement
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.