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