Skip to content

Commit dc229a8

Browse files
committed
Add matt's 2025Q3 update
1 parent 7c9abeb commit dc229a8

1 file changed

Lines changed: 45 additions & 0 deletions

File tree

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
---
2+
layout: post
3+
nav-class: dark
4+
categories: matt
5+
title: Decimal Goes Back to Review
6+
author-id: matt
7+
author-name: Matt Borland
8+
---
9+
10+
We are excited to announce that the Decimal ([https://github.com/cppalliance/decimal](https://github.com/cppalliance/decimal)) library is going back to review for inclusion in Boost from 06 to 15 October.
11+
In preparation for this we have made quite a few changes since the indeterminate end of the first review about 9 months ago:
12+
13+
Breaking Changes:
14+
- Based on bitwise comparisons with other similar libraries and database software, we have changed the internal encoding of our IEEE 754-compliant types
15+
- We spent about 3 months optimizing just back end integer types that are now used throughout the library, and as the internals of decimal128_t
16+
- We have changed the type names to better match conventions:
17+
- `decimalXX` is now `decimalXX_t`
18+
- `decimalXX_fast` is now `decimal_fastXX_t`
19+
- The headers have been similarly renamed (e.g. decimal32.hpp -> decimal32_t.hpp), and can now be used independently instead of requiring the monolith based on feedback in Review
20+
- Constructors have been simplified to reduce confusion (no more double negative logic)
21+
- The default rounding mode has changed to align with IEEE 754, with rounding bugs being squashed across the modes as well
22+
23+
Other Changes:
24+
- The documenation content has been overhauled thanks to feedback from Peter Turcan and others during the first review
25+
- The docs are no longer a single long page of Asciidoc; we have moved to Antora. Thanks to Joaquín and Christian for making it trivial to copy from Unordered to make that happen.
26+
- https://develop.decimal.cpp.al/
27+
- We now support formatting with {fmt}
28+
- Benchmarks have been expanded to include GCC `_DecimalXX` types, and Intel's libbid. I think people should be pleased with the results now, since that was a huge point of contention at the end of the review
29+
- We have added support for CMake pkg config for ease of use
30+
- Every post-review issue John was kind enough to consolidate and open have been addressed: https://github.com/cppalliance/decimal/issues?q=is%3Aissue%20state%3Aclosed%20label%3A%22Boost%20Review%22
31+
32+
Continued Developments:
33+
34+
- I think the only unaddressed comment from the first review is support for hardware decimal floating point types.
35+
There are a few rarer architectures that have native decimal floating point units like POWER10.
36+
Is it possible to fully integrate these native types for use in the library?
37+
Armed with a compiler farm account I have begun developing a wrapper around the native types that seems to work.
38+
Stay tuned.
39+
40+
- One item that we have considered, but have not put any effort into yet would be getting the library running on CUDA platforms.
41+
If this is a feature that you are interested in, please let us know!
42+
43+
- As is always the case with Boost reviews, regardless of the outcome I am sure that we will receive lots of feedback on how to improve the library.
44+
45+
If you are interested, much of the contents of the first review can be found in the original thread on the boost mailing list archive: https://lists.boost.org/archives/list/boost@lists.boost.org/thread/AGFOQZMJ4HKKQ5C5XDDKNJ3VJL72YTWL/

0 commit comments

Comments
 (0)