Lines Matching refs:__a

27 template <unsigned long long __a, unsigned long long __c,
29 bool _MightOverflow = (__a != 0 && __m != 0 && __m-1 > (_Mp-__c)/__a),
31 bool _SchrageOK = (__a != 0 && __m != 0 && __m % __a <= __m / __a)> // r <= q
34 static_assert(__a != 0 || __m != 0 || !_MightOverflow || _OverflowOK || _SchrageOK,
43 template <unsigned long long __a, unsigned long long __c,
45 bool _UseSchrage = __lce_alg_picker<__a, __c, __m, _Mp>::__use_schrage>
50 template <unsigned long long __a, unsigned long long __c, unsigned long long __m>
51 struct __lce_ta<__a, __c, __m, (unsigned long long)(~0), true>
58 const result_type __q = __m / __a;
59 const result_type __r = __m % __a;
60 const result_type __t0 = __a * (__x % __q);
68 template <unsigned long long __a, unsigned long long __m>
69 struct __lce_ta<__a, 0, __m, (unsigned long long)(~0), true>
76 const result_type __q = __m / __a;
77 const result_type __r = __m % __a;
78 const result_type __t0 = __a * (__x % __q);
85 template <unsigned long long __a, unsigned long long __c, unsigned long long __m>
86 struct __lce_ta<__a, __c, __m, (unsigned long long)(~0), false>
92 return (__a * __x + __c) % __m;
96 template <unsigned long long __a, unsigned long long __c>
97 struct __lce_ta<__a, __c, 0, (unsigned long long)(~0), false>
103 return __a * __x + __c;
116 const result_type __a = static_cast<result_type>(_Ap);
120 const result_type __q = __m / __a;
121 const result_type __r = __m % __a;
122 const result_type __t0 = __a * (__x % __q);
137 const result_type __a = static_cast<result_type>(_Ap);
140 const result_type __q = __m / __a;
141 const result_type __r = __m % __a;
142 const result_type __t0 = __a * (__x % __q);
156 const result_type __a = static_cast<result_type>(_Ap);
159 return (__a * __x + __c) % __m;
170 const result_type __a = static_cast<result_type>(_Ap);
172 return __a * __x + __c;
178 template <unsigned long long __a, unsigned long long __c, unsigned long long __m, bool __b>
179 struct __lce_ta<__a, __c, __m, (unsigned short)(~0), __b>
185 return static_cast<result_type>(__lce_ta<__a, __c, __m, unsigned(~0)>::next(__x));
189 template <class _UIntType, _UIntType __a, _UIntType __c, _UIntType __m>
205 template <class _UIntType, _UIntType __a, _UIntType __c, _UIntType __m>
217 static_assert(__m == 0 || __a < __m, "linear_congruential_engine invalid parameters");
226 static _LIBCPP_CONSTEXPR const result_type multiplier = __a;
271 {return __x_ = static_cast<result_type>(__lce_ta<__a, __c, __m, _Mp>::next(__x_));}
316 template <class _UIntType, _UIntType __a, _UIntType __c, _UIntType __m>
317 … _LIBCPP_CONSTEXPR const typename linear_congruential_engine<_UIntType, __a, __c, __m>::result_type
318 linear_congruential_engine<_UIntType, __a, __c, __m>::multiplier;
320 template <class _UIntType, _UIntType __a, _UIntType __c, _UIntType __m>
321 … _LIBCPP_CONSTEXPR const typename linear_congruential_engine<_UIntType, __a, __c, __m>::result_type
322 linear_congruential_engine<_UIntType, __a, __c, __m>::increment;
324 template <class _UIntType, _UIntType __a, _UIntType __c, _UIntType __m>
325 … _LIBCPP_CONSTEXPR const typename linear_congruential_engine<_UIntType, __a, __c, __m>::result_type
326 linear_congruential_engine<_UIntType, __a, __c, __m>::modulus;
328 template <class _UIntType, _UIntType __a, _UIntType __c, _UIntType __m>
329 … _LIBCPP_CONSTEXPR const typename linear_congruential_engine<_UIntType, __a, __c, __m>::result_type
330 linear_congruential_engine<_UIntType, __a, __c, __m>::default_seed;
332 template <class _UIntType, _UIntType __a, _UIntType __c, _UIntType __m>
335 linear_congruential_engine<_UIntType, __a, __c, __m>::__seed(_Sseq& __q,
345 template <class _UIntType, _UIntType __a, _UIntType __c, _UIntType __m>
348 linear_congruential_engine<_UIntType, __a, __c, __m>::__seed(_Sseq& __q,
360 class _UIntType, _UIntType __a, _UIntType __c, _UIntType __m>
364 const linear_congruential_engine<_UIntType, __a, __c, __m>& __x)
374 class _UIntType, _UIntType __a, _UIntType __c, _UIntType __m>
377 linear_congruential_engine<_UIntType, __a, __c, __m>& __x)