|
Boost : |
Subject: [boost] [decimal] Proposed portable implementation of std::decimal
From: Josh Quigley (0zeroth_at_[hidden])
Date: 2012-04-16 18:26:25
Hi,
I believe that a portable implementation of the proposed std::decimal
(eg Decimal
Types for C++ <http://tiny.cc/63ovcw> for older draft) would be useful.
Since the standard specifies a class, a library should be able to achieve
close to full compliance. At the moment I believe only gcc supports this.
I'm currently working on this for my own purposes, and if there is
sufficient interest (and guidance!) might try to expand it into a draft
submission.
Roadmap:
1. Implement std::decimal (see gcc version, for example) using Intel FP
Decimal, DecNumber, native gcc, (maybe .NET Decimal depending on how close
it is to complying with interface)
2. Some preprocessor trickery to make it easy to compile all implementation
as separate classes (eg extension::decimal::Intel::decimal64), or a given
implementation as the 'one true' class (extension::decimal::decimal64).
This means unit tests and performance tests can be written using one
implementation against another, and for production code, a given
implementation can be used under the hood depending on the architecture.
3. Create performance and standards-compliance benchmarks for
implementations.
4. Choose default implementation for each supported architecture, based on
benchmarks.
The above is a personal roadmap, of which a subset may be of interest to
the boost community. Please let me know if you think this would be of
value, and in particular if you would like to be involved in creating /
testing / using this.
Regards,
Josh.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk