Lines Matching refs:b
36 type b, \
41 if (!__builtin_add_overflow(a, b, &r)) \
49 type b, \
54 if (!__builtin_add_overflow(a, b, &r)) \
57 return a + b; \
63 type b, \
66 if ((a < 0) ^ (b < 0) \
67 || (a > 0 && b <= max - a) \
68 || (a < 0 && b >= min - a) \
70 return a + b; \
77 type b, \
80 if (b > max - a) \
82 return a + b; \
92 type b, \
97 if (!__builtin_sub_overflow(a, b, &r)) \
106 type b, \
109 if (!((a < 0) ^ (b < 0)) \
110 || (b > 0 && a >= min + b) \
111 || (b < 0 && a <= max + b) \
112 || b == 0) \
113 return a - b; \
122 type b, \
125 if (b > a) \
127 return a - b; \
136 type b, \
141 if (!__builtin_mul_overflow(a, b, &r)) \
144 return (a < 0) ^ (b < 0) ? min : max; \
149 type b, \
154 if (!__builtin_mul_overflow(a, b, &r)) \
157 return a * b; \
163 type b, \
166 if (a == 0 || b == 0) \
169 return b; \
170 if (b == 1) \
172 if (a != min && b != min) { \
174 const type y = b < 0 ? -b : b; \
177 return a * b; \
180 return (a < 0) ^ (b < 0) ? min : max; \
185 type b, \
188 if (b != 0 && a > max / b) \
190 return a * b; \
199 type b, \
202 if (b == 0) { \
206 if (b == -1 && a == min) { \
210 return a / b; \
215 type b, \
218 if (b != 0) \
219 return a / b; \
229 type b, \
232 if (b == 0) { \
236 if (b == -1 && a == min) { \
240 return a % b; \
245 type b, \
248 if (b != 0) \
249 return a % b; \
321 type b, \
330 return a == 0 || b == 0 ? 0 : max; \
332 x = safe_mul_ ## type_name(a, b, &e2); \
335 if (b > a) { \
336 x = b; \
337 b = a; \
342 x = safe_mul_ ## type_name(r, b, err); \
343 y = safe_mul_ ## type_name(q, b, err); \
350 type b, \
359 return a == 0 || b == 0 ? 0 : max; \
361 x = safe_mul_ ## type_name(a, b, &e2); \
364 if (b > a) { \
365 x = b; \
366 b = a; \
369 x = safe_mul_ ## type_name(a % c, b, err); \
370 y = safe_mul_ ## type_name(a / c, b, err); \
382 (type a, type b, int *errp) \
390 if (b > 0 && a > 0) { \
392 if (a < max - b) \
393 return (a + b - 1) / b; \
394 return a / b + (a % b != 0); \
396 if (b == 0) { \
403 x = safe_mod_ ## type_name(a, b, err); \
404 return safe_add_ ## type_name(safe_div_ ## type_name(a, b, err), \