cosmopolitan/test/libc
Gabriel Ravier 75e161b27b
Fix printf-family functions on long double inf (#1273)
Cosmopolitan's printf-family functions currently very poorly handle
being passed a long double infinity.

For instance, a program such as:

```cpp
#include <stdio.h>

int main()
{
    printf("%f\n", 1.0 / 0.0);
    printf("%Lf\n", 1.0L / 0.0L);
    printf("%e\n", 1.0 / 0.0);
    printf("%Le\n", 1.0L / 0.0L);
    printf("%g\n", 1.0 / 0.0);
    printf("%Lg\n", 1.0L / 0.0L);
}
```

will currently output the following:

```
inf
0.000000[followed by 32763 more zeros]
inf
N.aN0000e-32769
inf
N.aNe-32769
```

when the correct expected output would be:

```
inf
inf
inf
inf
inf
inf
```

This patch fixes this, and adds tests for the behavior.
2024-09-01 13:10:48 -07:00
..
calls Add crash proofing to ipv4.games server 2024-08-26 12:57:28 -07:00
fmt Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
intrin Make improvements 2024-09-01 01:27:47 -07:00
log Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
mem Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
nexgen32e Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
proc Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
runtime Make realloc() go 100x faster on Linux/NetBSD 2024-07-07 12:40:30 -07:00
sock Fix getpeername() bug on Windows 2024-08-25 11:28:53 -07:00
stdio Fix printf-family functions on long double inf (#1273) 2024-09-01 13:10:48 -07:00
str Make improvements 2024-09-01 01:27:47 -07:00
thread Fix pthread_kill_test flake on qemu 2024-08-16 21:18:26 -07:00
time Update Musl Libc code 2024-07-30 22:51:29 -07:00
tinymath Release Cosmopolitan v3.8.0 2024-08-30 20:14:07 -07:00
x Run clang-format (#1197) 2024-06-01 16:30:43 -04:00
xed Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
BUILD.mk Upgrade to 2022-era LLVM LIBCXX 2024-05-27 02:12:27 -07:00