diff options
author | cvs2svn <admin@example.com> | 2025-04-14 17:32:06 +0000 |
---|---|---|
committer | cvs2svn <admin@example.com> | 2025-04-14 17:32:06 +0000 |
commit | eb8dd9dca1228af0cd132f515509051ecfabf6f6 (patch) | |
tree | edb6da6af7e865d488dc1a29309f1e1ec226e603 /src/regress/lib/libc/modf | |
parent | 247f0352e0ed72a4f476db9dc91f4d982bc83eb2 (diff) | |
download | openbsd-tb_20250414.tar.gz openbsd-tb_20250414.tar.bz2 openbsd-tb_20250414.zip |
This commit was manufactured by cvs2git to create tag 'tb_20250414'.tb_20250414
Diffstat (limited to 'src/regress/lib/libc/modf')
-rw-r--r-- | src/regress/lib/libc/modf/Makefile | 3 | ||||
-rw-r--r-- | src/regress/lib/libc/modf/modf_test.c | 67 |
2 files changed, 0 insertions, 70 deletions
diff --git a/src/regress/lib/libc/modf/Makefile b/src/regress/lib/libc/modf/Makefile deleted file mode 100644 index 587c595f12..0000000000 --- a/src/regress/lib/libc/modf/Makefile +++ /dev/null | |||
@@ -1,3 +0,0 @@ | |||
1 | PROG=modf_test | ||
2 | |||
3 | .include <bsd.regress.mk> | ||
diff --git a/src/regress/lib/libc/modf/modf_test.c b/src/regress/lib/libc/modf/modf_test.c deleted file mode 100644 index b96618e1f0..0000000000 --- a/src/regress/lib/libc/modf/modf_test.c +++ /dev/null | |||
@@ -1,67 +0,0 @@ | |||
1 | /* $OpenBSD: modf_test.c,v 1.2 2023/08/13 06:57:04 miod Exp $ */ | ||
2 | |||
3 | #include <assert.h> | ||
4 | #include <math.h> | ||
5 | |||
6 | /* Test for bug introduced in 4.4BSD modf() on sparc */ | ||
7 | /* Public domain, 2014, Tobias Ulmer <tobiasu@tmux.org> */ | ||
8 | |||
9 | #define BIGFLOAT (5e15) /* Number large enough to trigger the "big" case */ | ||
10 | |||
11 | void | ||
12 | modf_sparc(void) | ||
13 | { | ||
14 | double f, i; | ||
15 | |||
16 | f = modf(BIGFLOAT, &i); | ||
17 | assert(i == BIGFLOAT); | ||
18 | assert(f == 0.0); | ||
19 | |||
20 | /* Repeat, maybe we were lucky */ | ||
21 | f = modf(BIGFLOAT, &i); | ||
22 | assert(i == BIGFLOAT); | ||
23 | assert(f == 0.0); | ||
24 | |||
25 | /* With negative number, for good measure */ | ||
26 | f = modf(-BIGFLOAT, &i); | ||
27 | assert(i == -BIGFLOAT); | ||
28 | assert(f == 0.0); | ||
29 | } | ||
30 | |||
31 | /* Test for modf() behaviour on Inf and Nan */ | ||
32 | /* Written by Willemijn Coene. Public domain */ | ||
33 | |||
34 | void | ||
35 | modf_infnan(void) | ||
36 | { | ||
37 | double f, i; | ||
38 | |||
39 | f = modf(__builtin_inf(), &i); | ||
40 | assert(isinf(i)); | ||
41 | assert(signbit(i) == 0); | ||
42 | assert(f == 0.0); | ||
43 | |||
44 | f = modf(-__builtin_inf(), &i); | ||
45 | assert(isinf(i)); | ||
46 | assert(signbit(i) != 0); | ||
47 | assert(f == -0.0); | ||
48 | |||
49 | f = modf(NAN, &i); | ||
50 | assert(isnan(i)); | ||
51 | assert(signbit(i) == 0); | ||
52 | assert(isnan(f)); | ||
53 | assert(signbit(f) == 0); | ||
54 | |||
55 | f = modf(-NAN, &i); | ||
56 | assert(isnan(i)); | ||
57 | assert(signbit(i) != 0); | ||
58 | assert(isnan(f)); | ||
59 | assert(signbit(f) != 0); | ||
60 | } | ||
61 | |||
62 | int | ||
63 | main(void) | ||
64 | { | ||
65 | modf_sparc(); | ||
66 | modf_infnan(); | ||
67 | } | ||