Lines Matching refs:aX
148 HasSignBit(T aX)
154 return bool(typename MakeUnsigned<T>::Type(aX) >>
162 BinaryComplement(T aX)
164 return ~aX;
212 static bool run(U aX)
214 return aX <= MaxValue<T>::value && aX >= MinValue<T>::value;
221 static bool run(U aX)
223 return aX <= MaxValue<T>::value;
230 static bool run(U aX)
232 return sizeof(T) > sizeof(U) || aX <= U(MaxValue<T>::value);
239 static bool run(U aX)
242 ? aX >= 0
243 : aX >= 0 && aX <= U(MaxValue<T>::value);
249 IsInRange(U aX)
251 return IsInRangeImpl<T, U>::run(aX);
256 IsAddValid(T aX, T aY)
264 typename MakeUnsigned<T>::Type ux = aX;
268 ? HasSignBit(BinaryComplement(T((result ^ aX) & (result ^ aY))))
269 : BinaryComplement(aX) >= aY;
274 IsSubValid(T aX, T aY)
279 typename MakeUnsigned<T>::Type ux = aX;
284 ? HasSignBit(BinaryComplement(T((result ^ aX) & (aX ^ aY))))
285 : aX >= aY;
297 static bool run(T aX, T aY)
300 TwiceBiggerType product = TwiceBiggerType(aX) * TwiceBiggerType(aY);
308 static bool run(T aX, T aY)
313 if (aX == 0 || aY == 0) {
316 if (aX > 0) {
318 ? aX <= max / aY
319 : aY >= min / aX;
324 ? aX >= min / aY
325 : aY >= max / aX;
332 static bool run(T aX, T aY)
334 return aY == 0 || aX <= MaxValue<T>::value / aY;
340 IsMulValid(T aX, T aY)
342 return IsMulValidImpl<T>::run(aX, aY);
347 IsDivValid(T aX, T aY)
352 !(IsSigned<T>::value && aX == MinValue<T>::value && aY == T(-1));
360 IsModValid(T aX, T aY)
362 return IsModValidImpl<T>::run(aX, aY);
379 static inline bool run(T aX, T aY)
388 static inline bool run(T aX, T aY)
390 if (aX < 0) {