]> pd.if.org Git - pdclib/blob - includes/inttypes.h
cc81b984a51fe92d04e8770859a8329ff9c565ab
[pdclib] / includes / inttypes.h
1 // ----------------------------------------------------------------------------
2 // $Id$
3 // ----------------------------------------------------------------------------
4 // Public Domain C Library - http://pdclib.sourceforge.net
5 // This code is Public Domain. Use, modify, and redistribute at will.
6 // ----------------------------------------------------------------------------
7 // Format conversion of integer types
8 // ----------------------------------------------------------------------------
9
10 #ifndef __INTTYPES_H
11 #define __INTTYPES_H __INTTYPES_H
12
13 // TODO: Documentation
14
15 // ----------------------------------------------------------------------------
16 // TYPEDEFS
17
18 typedef struct
19 {
20  intmax_t quotient,
21  intmax_t remainder;
22 }
23 imaxdiv_t;
24
25 // ----------------------------------------------------------------------------
26 // FUNCTIONS
27
28 intmax_t imaxabs( intmax_t i );
29 imaxdiv_t imaxdiv( intmax_t numer, intmax_t denom );
30
31 intmax_t strtoimax( const char * restrict s, char * * restrict endptr, int base );
32 uintmax_t strtoumax( const char * restrict s, char * * restrict endptr, int base );
33 intmax_t wcstoimax( const wchar_t * restrict s, wchar_t * * restrict endptr, int base );
34 uintmax_t wcstoumax( const wchar_t * restrict s, wchar_t * * restrict endptr, int base );
35
36 // ----------------------------------------------------------------------------
37 // MACROS (PRINT)
38
39 #define PRId8
40 #define PRId16
41 #define PRId32
42 #define PRId64
43
44 #define PRIdFAST8
45 #define PRIdFAST16
46 #define PRIdFAST32
47 #define PRIdFAST64
48
49 #define PRIdLEAST8
50 #define PRIdLEAST16
51 #define PRIdLEAST32
52 #define PRIdLEAST64
53
54 #define PRIdMAX
55 #define PRIdPTR
56
57 #define PRIi8
58 #define PRIi16
59 #define PRIi32
60 #define PRIi64
61
62 #define PRIiFAST8
63 #define PRIiFAST16
64 #define PRIiFAST32
65 #define PRIiFAST64
66
67 #define PRIiLEAST8
68 #define PRIiLEAST16
69 #define PRIiLEAST32
70 #define PRIiLEAST64
71
72 #define PRIiMAX
73 #define PRIiPTR
74
75 #define PRIo8
76 #define PRIo16
77 #define PRIo32
78 #define PRIo64
79
80 #define PRIoFAST8
81 #define PRIoFAST16
82 #define PRIoFAST32
83 #define PRIoFAST64
84
85 #define PRIoLEAST8
86 #define PRIoLEAST16
87 #define PRIoLEAST32
88 #define PRIoLEAST64
89
90 #define PRIoMAX
91 #define PRIoPTR
92
93 #define PRIu8
94 #define PRIu16
95 #define PRIu32
96 #define PRIu64
97
98 #define PRIuFAST8
99 #define PRIuFAST16
100 #define PRIuFAST32
101 #define PRIuFAST64
102
103 #define PRIuLEAST8
104 #define PRIuLEAST16
105 #define PRIuLEAST32
106 #define PRIuLEAST64
107
108 #define PRIuMAX
109 #define PRIuPTR
110
111 #define PRIx8
112 #define PRIx16
113 #define PRIx32
114 #define PRIx64
115
116 #define PRIxFAST8
117 #define PRIxFAST16
118 #define PRIxFAST32
119 #define PRIxFAST64
120
121 #define PRIxLEAST8
122 #define PRIxLEAST16
123 #define PRIxLEAST32
124 #define PRIxLEAST64
125
126 #define PRIxMAX
127 #define PRIxPTR
128
129 #define PRIX8
130 #define PRIX16
131 #define PRIX32
132 #define PRIX64
133
134 #define PRIXFAST8
135 #define PRIXFAST16
136 #define PRIXFAST32
137 #define PRIXFAST64
138
139 #define PRIXLEAST8
140 #define PRIXLEAST16
141 #define PRIXLEAST32
142 #define PRIXLEAST64
143
144 #define PRIXMAX
145 #define PRIXPTR
146
147 // ----------------------------------------------------------------------------
148 // MACROS (SCAN)
149
150 #define SCNd8
151 #define SCNd16
152 #define SCNd32
153 #define SCNd64
154
155 #define SCNdFAST8
156 #define SCNdFAST16
157 #define SCNdFAST32
158 #define SCNdFAST64
159
160 #define SCNdLEAST8
161 #define SCNdLEAST16
162 #define SCNdLEAST32
163 #define SCNdLEAST64
164
165 #define SCNdMAX
166 #define SCNdPTR
167
168 #define SCNi8
169 #define SCNi16
170 #define SCNi32
171 #define SCNi64
172
173 #define SCNiFAST8
174 #define SCNiFAST16
175 #define SCNiFAST32
176 #define SCNiFAST64
177
178 #define SCNiLEAST8
179 #define SCNiLEAST16
180 #define SCNiLEAST32
181 #define SCNiLEAST64
182
183 #define SCNiMAX
184 #define SCNiPTR
185
186 #define SCNo8
187 #define SCNo16
188 #define SCNo32
189 #define SCNo64
190
191 #define SCNoFAST8
192 #define SCNoFAST16
193 #define SCNoFAST32
194 #define SCNoFAST64
195
196 #define SCNoLEAST8
197 #define SCNoLEAST16
198 #define SCNoLEAST32
199 #define SCNoLEAST64
200
201 #define SCNoMAX
202 #define SCNoPTR
203
204 #define SCNu8
205 #define SCNu16
206 #define SCNu32
207 #define SCNu64
208
209 #define SCNuFAST8
210 #define SCNuFAST16
211 #define SCNuFAST32
212 #define SCNuFAST64
213
214 #define SCNuLEAST8
215 #define SCNuLEAST16
216 #define SCNuLEAST32
217 #define SCNuLEAST64
218
219 #define SCNuMAX
220 #define SCNuPTR
221
222 #define SCNx8
223 #define SCNx16
224 #define SCNx32
225 #define SCNx64
226
227 #define SCNxFAST8
228 #define SCNxFAST16
229 #define SCNxFAST32
230 #define SCNxFAST64
231
232 #define SCNxLEAST8
233 #define SCNxLEAST16
234 #define SCNxLEAST32
235 #define SCNxLEAST64
236
237 #define SCNxMAX
238 #define SCNxPTR
239
240 #define SCNX8
241 #define SCNX16
242 #define SCNX32
243 #define SCNX64
244
245 #define SCNXFAST8
246 #define SCNXFAST16
247 #define SCNXFAST32
248 #define SCNXFAST64
249
250 #define SCNXLEAST8
251 #define SCNXLEAST16
252 #define SCNXLEAST32
253 #define SCNXLEAST64
254
255 #define SCNXMAX
256 #define SCNXPTR
257
258 #endif // __INTTYPES_H