glibc
The GNU C library.
www.gnu.org
Other Activity This Week
- string: Add fallback implementation for ctz/clz
Adhemerval Zanella: The libgcc implementations of __builtin_clzl/__builtin_ctzl may require access to additional data that is not marked as hidden, which could introduce additional GOT indirection and necessitate RELATIVE relocs. - x86_64: Add cosh with FMA
Adhemerval Zanella: The cosh shows an improvement of about ~35% when building for x86_64-v3. - math: Use tanh from CORE-MATH
Adhemerval Zanella: The current implementation precision shows the following accuracy, on three ranges ([-DBL_MAX,-10], [-10,10], [10,DBL_MAX]) with 10e9 uniform randomly generated numbers for each range (first column is the accuracy in ULP, with '0' being correctly rounded, second is the number of samples with the corresponding precision):
- Range [-DBL_MAX, -10]
- FE_TONEAREST 0: 10000000000 100.00%
- FE_UPWARD 0: 10000000000 100.00%
- FE_DOWNWARD 0: 10000000000 100.00%
- FE_TOWARDZERO 0: 10000000000 100.00%
- Range [-10, -10]
- FE_TONEAREST 0: 4059325526 94.51% 1: 231023238 5.38% 2: 4618531 0.11%
- FE_UPWARD 0: 2106654900 49.05% 1: 2145413180 49.95% 2: 40847554 0.95% 3: 2051661 0.05%
- FE_DOWNWARD 0: 2106618401 49.05% 1: 2145409958 49.95% 2: 40880992 0.95% 3: 2057944 0.05%
- FE_TOWARDZERO 0: 4061659952 94.57% 1: 221006985 5.15% 2: 12285512 0.29% 3: 14846 0.00%
- Range [10, DBL_MAX]
- FE_TONEAREST 0: 10000000000 100.00%
- FE_UPWARD 0: 10000000000 100.00%
- FE_DOWNWARD 0: 10000000000 100.00%
- FE_TOWARDZERO 0: 10000000000 100.00%
The CORE-MATH implementation is correctly rounded for any rounding mode. - math: Use sinh from CORE-MATH
Adhemerval Zanella: The current implementation precision shows the following accuracy, on three ranges ([-DBL_MAX,-10], [-10,10], [10,DBL_MAX]) with 10e9 uniform randomly generated numbers for each range (first column is the accuracy in ULP, with '0' being correctly rounded, second is the number of samples with the corresponding precision):
- Range [-DBL_MAX, -10]
- FE_TONEAREST 0: 10000000000 100.00%
- FE_UPWARD 0: 10000000000 100.00%
- FE_DOWNWARD 0: 10000000000 100.00%
- FE_TOWARDZERO 0: 10000000000 100.00%
- Range [-10, -10]
- FE_TONEAREST 0: 3169388892 73.79% 1: 1125270674 26.20% 2: 307729 0.01%
- FE_UPWARD 0: 1450068660 33.76% 1: 2146926394 49.99% 2: 697404986 16.24% 3: 567255 0.01%
- FE_DOWNWARD 0: 1449727976 33.75% 1: 2146957381 49.99% 2: 697719649 16.25% 3: 562289 0.01%
- FE_TOWARDZERO 0: 2519351889 58.66% 1: 1773434502 41.29% 2: 2180904 0.05%
- Range [10, DBL_MAX]
- FE_TONEAREST 0: 10000000000 100.00%
- FE_UPWARD 0: 10000000000 100.00%
- FE_DOWNWARD 0: 10000000000 100.00%
- FE_TOWARDZERO 0: 10000000000 100.00%
The CORE-MATH implementation is correctly rounded for any rounding mode.
Recent Activity
- string: Add fallback implementation for ctz/clz
Adhemerval Zanella: The libgcc implementations of __builtin_clzl/__builtin_ctzl may require access to additional data that is not marked as hidden, which could introduce additional GOT indirection and necessitate RELATIVE relocs. - x86_64: Add cosh with FMA
Adhemerval Zanella: The cosh shows an improvement of about ~35% when building for x86_64-v3. - math: Use tanh from CORE-MATH
Adhemerval Zanella: The current implementation precision shows the following accuracy, on three ranges ([-DBL_MAX,-10], [-10,10], [10,DBL_MAX]) with 10e9 uniform randomly generated numbers for each range (first column is the accuracy in ULP, with '0' being correctly rounded, second is the number of samples with the corresponding precision):
- Range [-DBL_MAX, -10]
- FE_TONEAREST 0: 10000000000 100.00%
- FE_UPWARD 0: 10000000000 100.00%
- FE_DOWNWARD 0: 10000000000 100.00%
- FE_TOWARDZERO 0: 10000000000 100.00%
- Range [-10, -10]
- FE_TONEAREST 0: 4059325526 94.51% 1: 231023238 5.38% 2: 4618531 0.11%
- FE_UPWARD 0: 2106654900 49.05% 1: 2145413180 49.95% 2: 40847554 0.95% 3: 2051661 0.05%
- FE_DOWNWARD 0: 2106618401 49.05% 1: 2145409958 49.95% 2: 40880992 0.95% 3: 2057944 0.05%
- FE_TOWARDZERO 0: 4061659952 94.57% 1: 221006985 5.15% 2: 12285512 0.29% 3: 14846 0.00%
- Range [10, DBL_MAX]
- FE_TONEAREST 0: 10000000000 100.00%
- FE_UPWARD 0: 10000000000 100.00%
- FE_DOWNWARD 0: 10000000000 100.00%
- FE_TOWARDZERO 0: 10000000000 100.00%
The CORE-MATH implementation is correctly rounded for any rounding mode. - math: Use sinh from CORE-MATH
Adhemerval Zanella: The current implementation precision shows the following accuracy, on three ranges ([-DBL_MAX,-10], [-10,10], [10,DBL_MAX]) with 10e9 uniform randomly generated numbers for each range (first column is the accuracy in ULP, with '0' being correctly rounded, second is the number of samples with the corresponding precision):
- Range [-DBL_MAX, -10]
- FE_TONEAREST 0: 10000000000 100.00%
- FE_UPWARD 0: 10000000000 100.00%
- FE_DOWNWARD 0: 10000000000 100.00%
- FE_TOWARDZERO 0: 10000000000 100.00%
- Range [-10, -10]
- FE_TONEAREST 0: 3169388892 73.79% 1: 1125270674 26.20% 2: 307729 0.01%
- FE_UPWARD 0: 1450068660 33.76% 1: 2146926394 49.99% 2: 697404986 16.24% 3: 567255 0.01%
- FE_DOWNWARD 0: 1449727976 33.75% 1: 2146957381 49.99% 2: 697719649 16.25% 3: 562289 0.01%
- FE_TOWARDZERO 0: 2519351889 58.66% 1: 1773434502 41.29% 2: 2180904 0.05%
- Range [10, DBL_MAX]
- FE_TONEAREST 0: 10000000000 100.00%
- FE_UPWARD 0: 10000000000 100.00%
- FE_DOWNWARD 0: 10000000000 100.00%
- FE_TOWARDZERO 0: 10000000000 100.00%
The CORE-MATH implementation is correctly rounded for any rounding mode. - conform: Add initial support for XOPEN2K24
Collin Funk: Make XOPEN2K24 checks the same as XOPEN2K8 using the following command: - conform: Add initial support for POSIX.1-2024
Collin Funk: Make POSIX.1-2024 checks the same as POSIX.1-2008 using the following command: - htl: Make sure the exit path of last thread sees all thread cleanups
Samuel Thibault: In case e.g. - assert: Support assert as variadic macro for C++26 [PR27276]
Jonathan Wakely: C++26 changes assert into a variadic macro to support using assignment-expressions that would be interpreted as multiple macro arguments, in particular one containing:
- template parameter lists: func<int, float>()
- calls to overloaded operator[] that accepts multiple arguments: arr[1, 2] this is C++23 feature, see libstdc++ PR/119855 [1]
- lambdas with explicit captures: [x, y] { ... - malloc: alignment might change in future versions
Paul Eggert: This follows up on a comment by Wilco Dijkstra; see: - support: Add support for starting and stopping nscd
Florian Weimer
Most Popular In The Past Month
- math: Use sinh from CORE-MATH
Adhemerval Zanella: The current implementation precision shows the following accuracy, on three ranges ([-DBL_MAX,-10], [-10,10], [10,DBL_MAX]) with 10e9 uniform randomly generated numbers for each range (first column is the accuracy in ULP, with '0' being correctly rounded, second is the number of samples with the corresponding precision):
- Range [-DBL_MAX, -10]
- FE_TONEAREST 0: 10000000000 100.00%
- FE_UPWARD 0: 10000000000 100.00%
- FE_DOWNWARD 0: 10000000000 100.00%
- FE_TOWARDZERO 0: 10000000000 100.00%
- Range [-10, -10]
- FE_TONEAREST 0: 3169388892 73.79% 1: 1125270674 26.20% 2: 307729 0.01%
- FE_UPWARD 0: 1450068660 33.76% 1: 2146926394 49.99% 2: 697404986 16.24% 3: 567255 0.01%
- FE_DOWNWARD 0: 1449727976 33.75% 1: 2146957381 49.99% 2: 697719649 16.25% 3: 562289 0.01%
- FE_TOWARDZERO 0: 2519351889 58.66% 1: 1773434502 41.29% 2: 2180904 0.05%
- Range [10, DBL_MAX]
- FE_TONEAREST 0: 10000000000 100.00%
- FE_UPWARD 0: 10000000000 100.00%
- FE_DOWNWARD 0: 10000000000 100.00%
- FE_TOWARDZERO 0: 10000000000 100.00%
The CORE-MATH implementation is correctly rounded for any rounding mode. - conform: Add initial support for POSIX.1-2024
Collin Funk: Make POSIX.1-2024 checks the same as POSIX.1-2008 using the following command: - conform: Add initial support for XOPEN2K24
Collin Funk: Make XOPEN2K24 checks the same as XOPEN2K8 using the following command: - assert: Support assert as variadic macro for C++26 [PR27276]
Jonathan Wakely: C++26 changes assert into a variadic macro to support using assignment-expressions that would be interpreted as multiple macro arguments, in particular one containing:
- template parameter lists: func<int, float>()
- calls to overloaded operator[] that accepts multiple arguments: arr[1, 2] this is C++23 feature, see libstdc++ PR/119855 [1]
- lambdas with explicit captures: [x, y] { ... - math: Use tanh from CORE-MATH
Adhemerval Zanella: The current implementation precision shows the following accuracy, on three ranges ([-DBL_MAX,-10], [-10,10], [10,DBL_MAX]) with 10e9 uniform randomly generated numbers for each range (first column is the accuracy in ULP, with '0' being correctly rounded, second is the number of samples with the corresponding precision):
- Range [-DBL_MAX, -10]
- FE_TONEAREST 0: 10000000000 100.00%
- FE_UPWARD 0: 10000000000 100.00%
- FE_DOWNWARD 0: 10000000000 100.00%
- FE_TOWARDZERO 0: 10000000000 100.00%
- Range [-10, -10]
- FE_TONEAREST 0: 4059325526 94.51% 1: 231023238 5.38% 2: 4618531 0.11%
- FE_UPWARD 0: 2106654900 49.05% 1: 2145413180 49.95% 2: 40847554 0.95% 3: 2051661 0.05%
- FE_DOWNWARD 0: 2106618401 49.05% 1: 2145409958 49.95% 2: 40880992 0.95% 3: 2057944 0.05%
- FE_TOWARDZERO 0: 4061659952 94.57% 1: 221006985 5.15% 2: 12285512 0.29% 3: 14846 0.00%
- Range [10, DBL_MAX]
- FE_TONEAREST 0: 10000000000 100.00%
- FE_UPWARD 0: 10000000000 100.00%
- FE_DOWNWARD 0: 10000000000 100.00%
- FE_TOWARDZERO 0: 10000000000 100.00%
The CORE-MATH implementation is correctly rounded for any rounding mode. - string: Add fallback implementation for ctz/clz
Adhemerval Zanella: The libgcc implementations of __builtin_clzl/__builtin_ctzl may require access to additional data that is not marked as hidden, which could introduce additional GOT indirection and necessitate RELATIVE relocs. - htl: Make sure the exit path of last thread sees all thread cleanups
Samuel Thibault: In case e.g. - x86_64: Add cosh with FMA
Adhemerval Zanella: The cosh shows an improvement of about ~35% when building for x86_64-v3. - malloc: alignment might change in future versions
Paul Eggert: This follows up on a comment by Wilco Dijkstra; see: