The GNU C library.
Most Popular In The Past Month
- Remove add-ons mechanism
Joseph Myers: glibc has an add-ons mechanism to allow additional software to be integrated into the glibc build.
- Benchtests for sinf, cosf and sincosf
Rajalakshmi Srinivasaraghavan: Numbers used from cos and sin inputs.
- Optimized generic expf and exp2f with wrappers
Szabolcs Nagy: Based on new expf and exp2f code from
- Add _Float128 function aliases
Joseph Myers: This patch adds support for *f128 function aliases on platforms where long double has the binary128 format (and thus GCC 7 provides the _Float128 type with the same ABI as long double but as a distinct type in terms of C type compatibility).
- Remove redundant ldbl-64-128 files
Joseph Myers: Various source files in ldbl-64-128 are redundant, because they wrap files that no longer provide public symbols that need special
versioning (those symbols having moved to separate errno-setting wrappers), or, in the case of w_scalblnl.c, because the type-generic template now does everything required (it deals with symbol versioning for use in libm, and this file is never built for libc anyway - the compat scalbln* symbols in libc, as opposed to scalbn*, are only for i386 and m68k and are aliases to the corresponding scalbn* symbols).
- Use libm_alias_double for dbl-64 frexp
Joseph Myers: This patch makes dbl-64 frexp use libm_alias_double.
- New generic powf
Szabolcs Nagy: without wrapper on aarch64: powf reciprocal-throughput: 4.2x faster powf latency: 2.6x faster old worst-case error: 1.11 ulp new worst-case error: 0.82 ulp aarch64 .text size: -780 bytes aarch64 .rodata size: +144 bytes
powf(x,y) is implemented as exp2(y*log2(x)) with the same algorithms that are used in exp2f and log2f, except that the log2f polynomial is larger for extra precision and its output (and exp2f input) may be scaled by a power of 2 (POWF_SCALE) to simplify the argument reduction step of exp2 (possible when efficient round and convert toint operation is available).
The special case handling tries to minimize the checks in the hot path.
- Remove alpha nearbyint wrapper
Joseph Myers: Given my recent changes, sysdeps/alpha/fpu/s_nearbyint.c is no longer needed: it just includes the dbl-64/wordsize-64 version, which is the one that would be used anyway, and defines a compat symbol, duplicating the same compat symbol defined by the dbl-64/wordsize-64
version through use of libm_alias_double.
- Use libm_alias_double for dbl-64 logb
Joseph Myers: This patch makes dbl-64 logb use libm_alias_double.
- Use libm_alias_double for dbl-64 modf
Joseph Myers: This patch makes dbl-64 modf use libm_alias_double.