annotate extern/libdt/dt.h @ 490:d4e50da7e5c5

ui: debug -> mlk_debug
author David Demelier <markand@malikania.fr>
date Tue, 28 Feb 2023 13:14:59 +0100
parents b0579ae033ed
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
410
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 /*
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 * dt.h -- minimalist C testing library
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 *
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
4 * Copyright (c) 2022 David Demelier <markand@malikania.fr>
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 *
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 * Permission to use, copy, modify, and/or distribute this software for any
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 * purpose with or without fee is hereby granted, provided that the above
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 * copyright notice and this permission notice appear in all copies.
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 *
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
17 */
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
18
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
19 #ifndef DT_H
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
20 #define DT_H
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
21
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
22 #include <inttypes.h>
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
23 #include <math.h>
422
b0579ae033ed core: use err.h in (action|drawable)-stack
David Demelier <markand@malikania.fr>
parents: 410
diff changeset
24 #include <stddef.h>
410
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
25 #include <stdint.h>
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
26 #include <stdio.h>
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
27 #include <string.h>
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
28
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
29 static size_t dt_ntests;
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
30 static size_t dt_nchecks;
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
31 static size_t dt_nfailures;
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
32
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
33 #ifndef DT_DOUBLE_TOLERANCE
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
34 #define DT_DOUBLE_TOLERANCE 0.001
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
35 #endif
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
36
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
37 #define DT_ASSERT(x) \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
38 do { \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
39 ++ dt_nchecks; \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
40 \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
41 if (!(x)) { \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
42 ++ dt_nfailures; \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
43 \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
44 printf("%s:%d: assertion '" #x "' failed\n", __FILE__, __LINE__); \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
45 } \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
46 } while (0)
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
47
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
48 #define DT_EQ(x, y, type, f) \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
49 do { \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
50 const type tx = x; \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
51 const type ty = y; \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
52 \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
53 ++ dt_nchecks; \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
54 \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
55 if (tx != ty) { \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
56 ++ dt_nfailures; \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
57 \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
58 printf("%s:%d: assertion " #x " == " #y " failed (" f " != " f ")\n", \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
59 __FILE__, __LINE__, tx, ty); \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
60 } \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
61 } while (0)
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
62
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
63 #define DT_EQ_PTR(x, y) \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
64 do { \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
65 const void *tx = x; \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
66 const void *ty = y; \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
67 \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
68 ++ dt_nchecks; \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
69 \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
70 if (tx != ty) { \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
71 ++ dt_nfailures; \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
72 \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
73 printf("%s:%d: assertion " #x " == " #y " failed (%p != %p)\n", \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
74 __FILE__, __LINE__, tx, ty); \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
75 } \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
76 } while (0)
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
77
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
78 #define DT_EQ_STR(x, y) \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
79 do { \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
80 ++ dt_nchecks; \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
81 \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
82 if (strcmp(x, y) != 0) { \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
83 ++ dt_nfailures; \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
84 \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
85 printf("%s:%d: assertion " #x " == " #y " failed (%s != %s)\n", \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
86 __FILE__, __LINE__, (x), (y)); \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
87 } \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
88 } while (0)
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
89
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
90 #define DT_EQ_DOUBLE(x, y) \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
91 do { \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
92 const double tx = x; \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
93 const double ty = y; \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
94 \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
95 ++ dt_nchecks; \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
96 \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
97 if (fabs(tx - ty) > DT_DOUBLE_TOLERANCE) { \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
98 ++ dt_nfailures; \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
99 \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
100 printf("%s:%d: assertion " #x " == " #y " failed (%f != %f)\n", \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
101 __FILE__, __LINE__, tx, ty); \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
102 } \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
103 } while (0)
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
104
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
105 #define DT_RUN(f, ...) \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
106 do { \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
107 const size_t nchecks = dt_nchecks; \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
108 const size_t nfailures = dt_nfailures; \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
109 \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
110 ++ dt_ntests; \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
111 \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
112 printf("== test " #f " ==\n"); \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
113 f(__VA_ARGS__); \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
114 \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
115 printf("\n%zu checks, %zu failures\n\n", \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
116 dt_nchecks - nchecks, dt_nfailures - nfailures); \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
117 } while (0)
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
118
422
b0579ae033ed core: use err.h in (action|drawable)-stack
David Demelier <markand@malikania.fr>
parents: 410
diff changeset
119 #define DT_RUN_EX(f, init, fini, ...) \
b0579ae033ed core: use err.h in (action|drawable)-stack
David Demelier <markand@malikania.fr>
parents: 410
diff changeset
120 do { \
b0579ae033ed core: use err.h in (action|drawable)-stack
David Demelier <markand@malikania.fr>
parents: 410
diff changeset
121 const size_t nchecks = dt_nchecks; \
b0579ae033ed core: use err.h in (action|drawable)-stack
David Demelier <markand@malikania.fr>
parents: 410
diff changeset
122 const size_t nfailures = dt_nfailures; \
b0579ae033ed core: use err.h in (action|drawable)-stack
David Demelier <markand@malikania.fr>
parents: 410
diff changeset
123 \
b0579ae033ed core: use err.h in (action|drawable)-stack
David Demelier <markand@malikania.fr>
parents: 410
diff changeset
124 ++ dt_ntests; \
b0579ae033ed core: use err.h in (action|drawable)-stack
David Demelier <markand@malikania.fr>
parents: 410
diff changeset
125 \
b0579ae033ed core: use err.h in (action|drawable)-stack
David Demelier <markand@malikania.fr>
parents: 410
diff changeset
126 printf("== test " #f " ==\n"); \
b0579ae033ed core: use err.h in (action|drawable)-stack
David Demelier <markand@malikania.fr>
parents: 410
diff changeset
127 init(__VA_ARGS__); \
b0579ae033ed core: use err.h in (action|drawable)-stack
David Demelier <markand@malikania.fr>
parents: 410
diff changeset
128 f(__VA_ARGS__); \
b0579ae033ed core: use err.h in (action|drawable)-stack
David Demelier <markand@malikania.fr>
parents: 410
diff changeset
129 fini(__VA_ARGS__); \
b0579ae033ed core: use err.h in (action|drawable)-stack
David Demelier <markand@malikania.fr>
parents: 410
diff changeset
130 \
b0579ae033ed core: use err.h in (action|drawable)-stack
David Demelier <markand@malikania.fr>
parents: 410
diff changeset
131 printf("\n%zu checks, %zu failures\n\n", \
b0579ae033ed core: use err.h in (action|drawable)-stack
David Demelier <markand@malikania.fr>
parents: 410
diff changeset
132 dt_nchecks - nchecks, dt_nfailures - nfailures); \
b0579ae033ed core: use err.h in (action|drawable)-stack
David Demelier <markand@malikania.fr>
parents: 410
diff changeset
133 } while (0)
b0579ae033ed core: use err.h in (action|drawable)-stack
David Demelier <markand@malikania.fr>
parents: 410
diff changeset
134
410
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
135 #define DT_SUMMARY() \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
136 do { \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
137 printf("summary: %zu tests, %zu checks, %zu failures\n", \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
138 dt_ntests, dt_nchecks, dt_nfailures); \
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
139 } while (0)
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
140
422
b0579ae033ed core: use err.h in (action|drawable)-stack
David Demelier <markand@malikania.fr>
parents: 410
diff changeset
141 #define DT_EXIT() (dt_nfailures != 0)
b0579ae033ed core: use err.h in (action|drawable)-stack
David Demelier <markand@malikania.fr>
parents: 410
diff changeset
142
410
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
143 /* Aliases for basic types. */
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
144 #define DT_EQ_CHAR(x, y) DT_EQ(x, y, char, "%c")
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
145 #define DT_EQ_SHORT(x, y) DT_EQ(x, y, short, "%hd")
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
146 #define DT_EQ_USHORT(x, y) DT_EQ(x, y, unsigned short, "%hu")
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
147 #define DT_EQ_INT(x, y) DT_EQ(x, y, int, "%d")
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
148 #define DT_EQ_UINT(x, y) DT_EQ(x, y, unsigned int, "%u")
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
149 #define DT_EQ_LONG(x, y) DT_EQ(x, y, long, "%ld")
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
150 #define DT_EQ_ULONG(x, y) DT_EQ(x, y, unsigned long, "%lu")
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
151 #define DT_EQ_LLONG(x, y) DT_EQ(x, y, long long, "%lld")
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
152 #define DT_EQ_ULLONG(x, y) DT_EQ(x, y, unsigned long long, "%llu")
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
153 #define DT_EQ_INTMAX(x, y) DT_EQ(x, y, intmax_t, "%jd")
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
154 #define DT_EQ_UINTMAX(x, y) DT_EQ(x, y, uintmax_t, "%ju")
422
b0579ae033ed core: use err.h in (action|drawable)-stack
David Demelier <markand@malikania.fr>
parents: 410
diff changeset
155 #define DT_EQ_SIZE(x, y) DT_EQ(x, y, size_t, "%zu")
b0579ae033ed core: use err.h in (action|drawable)-stack
David Demelier <markand@malikania.fr>
parents: 410
diff changeset
156 #define DT_EQ_PTRDIFF(x, y) DT_EQ(x, y, ptrdiff_t, "%td")
410
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
157
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
158 /* Aliases for fixed size integers. */
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
159 #define DT_EQ_INT8(x, y) DT_EQ(x, y, int8_t, PRId8)
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
160 #define DT_EQ_UINT8(x, y) DT_EQ(x, y, uint8_t int, PRIu8)
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
161 #define DT_EQ_INT16(x, y) DT_EQ(x, y, int16_t, PRId16)
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
162 #define DT_EQ_UINT16(x, y) DT_EQ(x, y, uint16_t int, PRIu16)
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
163 #define DT_EQ_INT32(x, y) DT_EQ(x, y, int32_t, PRId32)
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
164 #define DT_EQ_UINT32(x, y) DT_EQ(x, y, uint32_t int, PRIu32)
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
165 #define DT_EQ_INT64(x, y) DT_EQ(x, y, int64_t, PRId64)
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
166 #define DT_EQ_UINT64(x, y) DT_EQ(x, y, uint64_t int, PRIu64)
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
167
1bf7d6669f0a tests: switch to libdt
David Demelier <markand@malikania.fr>
parents:
diff changeset
168 #endif /* !DT_H */