Lines Matching refs:uintmax_t
40 #include <cstdint> // intmax_t, uintmax_t
91 static const uintmax_t __c = uintmax_t(1) << (sizeof(intmax_t) * 4);
93 static const uintmax_t __a0 = __static_abs<_Pn>::value % __c;
94 static const uintmax_t __a1 = __static_abs<_Pn>::value / __c;
95 static const uintmax_t __b0 = __static_abs<_Qn>::value % __c;
96 static const uintmax_t __b1 = __static_abs<_Qn>::value / __c;
113 // __hi*2^(8*sizeof(uintmax_t)) + __lo.
114 template<uintmax_t __hi1, uintmax_t __lo1, uintmax_t __hi2, uintmax_t __lo2>
120 template<uintmax_t __hi1, uintmax_t __lo1, uintmax_t __hi2, uintmax_t __lo2>
123 static constexpr uintmax_t __lo = __lo1 + __lo2;
124 static constexpr uintmax_t __hi = (__hi1 + __hi2 +
129 template<uintmax_t __hi1, uintmax_t __lo1, uintmax_t __hi2, uintmax_t __lo2>
134 static constexpr uintmax_t __lo = __lo1 - __lo2;
135 static constexpr uintmax_t __hi = (__hi1 - __hi2 -
140 template<uintmax_t __x, uintmax_t __y>
144 static constexpr uintmax_t __c = uintmax_t(1) << (sizeof(intmax_t) * 4);
145 static constexpr uintmax_t __x0 = __x % __c;
146 static constexpr uintmax_t __x1 = __x / __c;
147 static constexpr uintmax_t __y0 = __y % __c;
148 static constexpr uintmax_t __y1 = __y / __c;
149 static constexpr uintmax_t __x0y0 = __x0 * __y0;
150 static constexpr uintmax_t __x0y1 = __x0 * __y1;
151 static constexpr uintmax_t __x1y0 = __x1 * __y0;
152 static constexpr uintmax_t __x1y1 = __x1 * __y1;
153 static constexpr uintmax_t __mix = __x0y1 + __x1y0; // possible carry...
154 static constexpr uintmax_t __mix_lo = __mix * __c;
155 static constexpr uintmax_t __mix_hi
159 static constexpr uintmax_t __hi = _Res::__hi;
160 static constexpr uintmax_t __lo = _Res::__lo;
165 template<uintmax_t __n1, uintmax_t __n0, uintmax_t __d>
169 static_assert(__d >= (uintmax_t(1) << (sizeof(intmax_t) * 8 - 1)),
172 static constexpr uintmax_t __c = uintmax_t(1) << (sizeof(intmax_t) * 4);
173 static constexpr uintmax_t __d1 = __d / __c;
174 static constexpr uintmax_t __d0 = __d % __c;
176 static constexpr uintmax_t __q1x = __n1 / __d1;
177 static constexpr uintmax_t __r1x = __n1 % __d1;
178 static constexpr uintmax_t __m = __q1x * __d0;
179 static constexpr uintmax_t __r1y = __r1x * __c + __n0 / __c;
180 static constexpr uintmax_t __r1z = __r1y + __d;
181 static constexpr uintmax_t __r1
184 static constexpr uintmax_t __q1
187 static constexpr uintmax_t __q0x = __r1 / __d1;
188 static constexpr uintmax_t __r0x = __r1 % __d1;
189 static constexpr uintmax_t __n = __q0x * __d0;
190 static constexpr uintmax_t __r0y = __r0x * __c + __n0 % __c;
191 static constexpr uintmax_t __r0z = __r0y + __d;
192 static constexpr uintmax_t __r0
195 static constexpr uintmax_t __q0
200 static constexpr uintmax_t __quot = __q1 * __c + __q0;
201 static constexpr uintmax_t __rem = __r0;
210 template<uintmax_t __n1, uintmax_t __n0, uintmax_t __d>
215 static_assert(sizeof (uintmax_t) == sizeof (unsigned long long),
216 "This library calls __builtin_clzll on uintmax_t, which "
220 static constexpr int __coshift_ = sizeof(uintmax_t) * 8 - __shift;
222 static constexpr uintmax_t __c1 = uintmax_t(1) << __shift;
223 static constexpr uintmax_t __c2 = uintmax_t(1) << __coshift;
224 static constexpr uintmax_t __new_d = __d * __c1;
225 static constexpr uintmax_t __new_n0 = __n0 * __c1;
226 static constexpr uintmax_t __n1_shifted = (__n1 % __d) * __c1;
227 static constexpr uintmax_t __n0_top = (__shift != 0) ? (__n0 / __c2) : 0;
228 static constexpr uintmax_t __new_n1 = __n1_shifted + __n0_top;
232 static constexpr uintmax_t __quot_hi = __n1 / __d;
233 static constexpr uintmax_t __quot_lo = _Res::__quot;
234 static constexpr uintmax_t __rem = _Res::__rem / __c1;
504 static constexpr uintmax_t __g = __static_gcd<_R1::den, _R2::den>::value;
505 static constexpr uintmax_t __d2 = _R2::den / __g;
512 static constexpr uintmax_t __g2 = __static_gcd<__ng::__rem, __g>::value;
534 static constexpr uintmax_t __g = __static_gcd<_R1::den, _R2::den>::value;
535 static constexpr uintmax_t __d2 = _R2::den / __g;
541 static constexpr uintmax_t __g2 = __static_gcd<__ng::__rem, __g>::value;