Home | History | Annotate | Download | only in include

Lines Matching refs:_A

79 #define OPAQUE_SAFE_IOP_PREFIX_MACRO_smax(_a) \
80 ((typeof(_a))(~((typeof(_a)) 1 << ((sizeof(typeof(_a)) * CHAR_BIT) - 1))))
81 #define OPAQUE_SAFE_IOP_PREFIX_MACRO_smin(_a) \
82 ((typeof(_a))(-__sio(m)(smax)(_a) - 1))
83 #define OPAQUE_SAFE_IOP_PREFIX_MACRO_umax(_a) ((typeof(_a))(~((typeof(_a)) 0)))
108 typeof(__a) __sio(var)(_a) = (__a); \
111 if (__sio(m)(assert)(__sio(m)(type_enforce)(__sio(var)(_a), \
113 if (__sio(m)(smin)(__sio(var)(_a)) <= ((typeof(__sio(var)(_a)))0)) { \
115 __sio(var)(_a), \
119 __sio(var)(_a), \
125 #define safe_add3(_ptr, _A, _B, _C) \
126 ({ typeof(_A) __sio(var)(a) = (_A); \
129 typeof(_A) __sio(var)(r) = 0; \
133 #define safe_add4(_ptr, _A, _B, _C, _D) \
134 ({ typeof(_A) __sio(var)(a) = (_A); \
138 typeof(_A) __sio(var)(r) = 0; \
143 #define safe_add5(_ptr, _A, _B, _C, _D, _E) \
144 ({ typeof(_A) __sio(var)(a) = (_A); \
149 typeof(_A) __sio(var)(r) = 0; \
157 typeof(__a) __sio(var)(_a) = (__a); \
160 if (__sio(m)(assert)(__sio(m)(type_enforce)(__sio(var)(_a), \
162 if (__sio(m)(umax)(__sio(var)(_a)) <= ((typeof(__sio(var)(_a)))0)) { \
164 __sio(var)(_a), \
168 __sio(var)(_a), \
175 #define safe_sub3(_ptr, _A, _B, _C) \
176 ({ typeof(_A) __sio(var)(a) = (_A); \
179 typeof(_A) __sio(var)(r) = 0; \
183 #define safe_sub4(_ptr, _A, _B, _C, _D) \
184 ({ typeof(_A) __sio(var)(a) = (_A); \
188 typeof(_A) __sio(var)(r) = 0; \
193 #define safe_sub5(_ptr, _A, _B, _C, _D, _E) \
194 ({ typeof(_A) __sio(var)(a) = (_A); \
199 typeof(_A) __sio(var)(r) = 0; \
209 typeof(__a) __sio(var)(_a) = (__a); \
212 if (__sio(m)(assert)(__sio(m)(type_enforce)(__sio(var)(_a), \
214 if (__sio(m)(umax)(__sio(var)(_a)) <= ((typeof(__sio(var)(_a)))0)) { \
216 __sio(var)(_a), \
220 __sio(var)(_a), \
226 #define safe_mul3(_ptr, _A, _B, _C) \
227 ({ typeof(_A) __sio(var)(a) = (_A); \
230 typeof(_A) __sio(var)(r) = 0; \
234 #define safe_mul4(_ptr, _A, _B, _C, _D) \
235 ({ typeof(_A) __sio(var)(a) = (_A); \
239 typeof(_A) __sio(var)(r) = 0; \
244 #define safe_mul5(_ptr, _A, _B, _C, _D, _E) \
245 ({ typeof(_A) __sio(var)(a) = (_A); \
250 typeof(_A) __sio(var)(r) = 0; \
258 typeof(__a) __sio(var)(_a) = (__a); \
261 if (__sio(m)(assert)(__sio(m)(type_enforce)(__sio(var)(_a), \
263 if (__sio(m)(umax)(__sio(var)(_a)) <= ((typeof(__sio(var)(_a)))0)) { \
265 __sio(var)(_a), \
269 __sio(var)(_a), \
275 #define safe_div3(_ptr, _A, _B, _C) \
276 ({ typeof(_A) __sio(var)(a) = (_A); \
279 typeof(_A) __sio(var)(r) = 0; \
283 #define safe_div4(_ptr, _A, _B, _C, _D) \
284 ({ typeof(_A) __sio(var)(a) = (_A); \
288 typeof(_A) __sio(var)(r) = 0; \
293 #define safe_div5(_ptr, _A, _B, _C, _D, _E) \
294 ({ typeof(_A) __sio(var)(a) = (_A); \
299 typeof(_A) __sio(var)(r) = 0; \
307 typeof(__a) __sio(var)(_a) = (__a); \
310 if (__sio(m)(assert)(__sio(m)(type_enforce)(__sio(var)(_a), \
312 if (__sio(m)(umax)(__sio(var)(_a)) <= ((typeof(__sio(var)(_a)))0)) { \
314 __sio(var)(_a), \
318 __sio(var)(_a), \
324 #define safe_mod3(_ptr, _A, _B, _C) \
325 ({ typeof(_A) __sio(var)(a) = (_A); \
328 typeof(_A) __sio(var)(r) = 0; \
332 #define safe_mod4(_ptr, _A, _B, _C, _D) \
333 ({ typeof(_A) __sio(var)(a) = (_A); \
337 typeof(_A) __sio(var)(r) = 0; \
342 #define safe_mod5(_ptr, _A, _B, _C, _D, _E) \
343 ({ typeof(_A) __sio(var)(a) = (_A); \
348 typeof(_A) __sio(var)(r) = 0; \
356 #define safe_uadd(_ptr, _a, _b) \
358 if ((typeof(_a))(_b) <= (typeof(_a))(__sio(m)(umax)(_a) - (_a))) { \
359 if ((_ptr)) { *((typeof(_a)*)(_ptr)) = (_a) + (_b); } \
363 #define safe_sadd(_ptr, _a, _b) \
365 if (((_b) > (typeof(_a))0) && ((_a) > (typeof(_a))0)) { /*>0*/ \
366 if ((_a) > (typeof(_a))(__sio(m)(smax)(_a) - (_b))) __sio(var)(ok) = 0; \
367 } else if (!((_b) > (typeof(_a))0) && !((_a) > (typeof(_a))0)) { /*<0*/ \
368 if ((_a) < (typeof(_a))(__sio(m)(smin)(_a) - (_b))) __sio(var)(ok) = 0; \
370 if (__sio(var)(ok) && (_ptr)) { *((typeof(_a)*)(_ptr)) = (_a) + (_b); } \
373 #define safe_usub(_ptr, _a, _b) \
375 if ((_a) >= (_b)) { \
376 if ((_ptr)) { *((typeof(_a)*)(_ptr)) = (_a) - (_b); } \
381 #define safe_ssub(_ptr, _a, _b) \
383 if (!((_b) <= 0 && (_a) > (__sio(m)(smax)(_a) + (_b))) && \
384 !((_b) > 0 && (_a) < (__sio(m)(smin)(_a) + (_b)))) { \
386 if ((_ptr)) { *((typeof(_a)*)(_ptr)) = (_a) - (_b); } \
390 #define safe_umul(_ptr, _a, _b) \
392 if (!(_b) || (_a) <= (__sio(m)(umax)(_a) / (_b))) { \
394 if ((_ptr)) { *((typeof(_a)*)(_ptr)) = (_a) * (_b); } \
398 #define safe_smul(_ptr, _a, _b) \
400 if ((_a) > 0) { /* a is positive */ \
402 if ((_a) > (__sio(m)(smax)(_a) / (_b))) { \
407 if ((_b) < (__sio(m)(smin)(_a) / (_a))) { \
414 if ((_a) < (__sio(m)(smin)(_a) / (_b))) { \
419 if( ((_a) != 0) && ((_b) < (__sio(m)(smax)(_a) / (_a)))) { \
424 if (__sio(var)(ok) && (_ptr)) { *((typeof(_a)*)(_ptr)) = (_a) * (_b); } \
428 #define safe_udiv(_ptr, _a, _b) \
431 if ((_ptr)) { *((typeof(_a)*)(_ptr)) = (_a) / (_b); } \
437 #define safe_sdiv(_ptr, _a, _b) \
440 (((_a) != __sio(m)(smin)(_a)) || ((_b) != (typeof(_b))-1))) { \
441 if ((_ptr)) { *((typeof(_a)*)(_ptr)) = (_a) / (_b); } \
446 #define safe_umod(_ptr, _a, _b) \
449 if ((_ptr)) { *((typeof(_a)*)(_ptr)) = (_a) % (_b); } \
454 #define safe_smod(_ptr, _a, _b) \
457 (((_a) != __sio(m)(smin)(_a)) || ((_b) != (typeof(_b))-1))) { \
458 if ((_ptr)) { *((typeof(_a)*)(_ptr)) = (_a) % (_b); } \