Revision tags: llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2 |
|
#
5bd34e0a |
| 21-Sep-2023 |
michaelrj-google <71531609+michaelrj-google@users.noreply.github.com> |
[libc] Fix Off By One Errors In Printf Long Double (#66957)
Two major off-by-one errors are fixed in this patch. The first is in float_to_string.h with length_for_num, which wasn't accounting for th
[libc] Fix Off By One Errors In Printf Long Double (#66957)
Two major off-by-one errors are fixed in this patch. The first is in float_to_string.h with length_for_num, which wasn't accounting for the implicit leading bit when calculating the length of a number, causing a missing digit on 80 bit float max. The other off-by-one is the ryu_long_double_constants.h (a.k.a the Mega Table) not having any entries for the last POW10_OFFSET in POW10_SPLIT. This was also found on 80 bit float max. Finally, the integer calculation mode was using a slightly too short integer, again on 80 bit float max, not accounting for the mantissa width. All of these are fixed in this patch.
show more ...
|
#
270547f3 |
| 21-Sep-2023 |
Guillaume Chatelet <gchatelet@google.com> |
[libc][clang-tidy] Add llvm-header-guard to get consistant naming and prevent file copy/paste issues. (#66477)
|
Revision tags: llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6 |
|
#
4b8543f3 |
| 08-Jun-2023 |
Michael Jones <michaelrj@google.com> |
[libc][NFC] fix constants not marked constexpr
The constants in the ryu constant tables were not marked constexpr, only static const. This caused problems when compiling with GCC.
Differential Revi
[libc][NFC] fix constants not marked constexpr
The constants in the ryu constant tables were not marked constexpr, only static const. This caused problems when compiling with GCC.
Differential Revision: https://reviews.llvm.org/D152487
show more ...
|
#
47fd67ec |
| 08-Jun-2023 |
Michael Jones <michaelrj@google.com> |
[libc][NFC] land long double table for printf
The Mega Table that printf uses for long doubles with some flags is too large for the linters, and so has been split out from the main patch. The main p
[libc][NFC] land long double table for printf
The Mega Table that printf uses for long doubles with some flags is too large for the linters, and so has been split out from the main patch. The main patch: https://reviews.llvm.org/D150399
Reviewed By: sivachandra
Differential Revision: https://reviews.llvm.org/D152470
show more ...
|
Revision tags: llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1 |
|
#
688b9730 |
| 28-Mar-2023 |
Michael Jones <michaelrj@google.com> |
[libc] add options to printf decimal floats
This patch adds three options for printf decimal long doubles, and these can also apply to doubles.
1. Use a giant table which is fast and accurate, but
[libc] add options to printf decimal floats
This patch adds three options for printf decimal long doubles, and these can also apply to doubles.
1. Use a giant table which is fast and accurate, but takes up ~5MB). 2. Use dyadic floats for approximations, which only gives ~50 digits of accuracy but is very fast. 3. Use large integers for approximations, which is accurate but very slow.
Reviewed By: sivachandra, lntue
Differential Revision: https://reviews.llvm.org/D150399
show more ...
|