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