18 Carry = (Result >> 32) & 1;
33 Remainder =
Value % Divisor;
43 case 3:
return Hi >> 32;
45 case 1:
return Lo >> 32;
57 case 3: Hi = (Hi & 0x00000000ffffffffull) | ((
uint64)
Value << 32);
break;
58 case 2: Hi = (Hi & 0xffffffff00000000ull) |
Value;
break;
59 case 1: Lo = (Lo & 0x00000000ffffffffull) | ((
uint64)
Value << 32);
break;
60 case 0: Lo = (Lo & 0xffffffff00000000ull) |
Value;
break;
113 return Lo >
Other.Lo;
115 return Hi >
Other.Hi;
123 return Lo >=
Other.Lo;
125 return Hi >=
Other.Hi;
133 return Lo <
Other.Lo;
135 return Hi <
Other.Hi;
143 return Lo <=
Other.Lo;
145 return Hi <=
Other.Hi;
173 uint32 SignExtend = (AddValue >> 31) ? ~0 : 0;
202 Result.SetQuadPart(3, DivideInternal(
GetQuadPart(3), Divisor, Remainder));
203 Result.SetQuadPart(2, DivideInternal(
GetQuadPart(2), Divisor, Remainder));
204 Result.SetQuadPart(1, DivideInternal(
GetQuadPart(1), Divisor, Remainder));
205 Result.SetQuadPart(0, DivideInternal(
GetQuadPart(0), Divisor, Remainder));
#define check(expr)
Definition AssertionMacros.h:314
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition Archive.h:1208
UE_FORCEINLINE_HINT bool operator>=(const FUInt128 &Other) const
Definition Int128.h:217
UE_FORCEINLINE_HINT bool IsEqual(const FUInt128 &Other) const
Definition Int128.h:149
UE_FORCEINLINE_HINT FUInt128 & operator=(FUInt128 &&)=default
UE_FORCEINLINE_HINT bool operator<=(const FUInt128 &Other) const
Definition Int128.h:232
UE_FORCEINLINE_HINT bool IsZero() const
Definition Int128.h:237
bool IsLess(const FUInt128 &Other) const
Definition Int128.h:129
UE_FORCEINLINE_HINT bool operator==(const FUInt128 &Other) const
Definition Int128.h:222
void SetQuadPart(uint32 Part, uint32 Value)
Definition Int128.h:53
FUInt128(uint64 A)
Definition Int128.h:91
UE_FORCEINLINE_HINT bool operator<(const FUInt128 &Other) const
Definition Int128.h:227
FUInt128 & operator-=(uint32 Other)
Definition Int128.h:256
FUInt128 Divide(uint32 Divisor, uint32 &Remainder)
Definition Int128.h:197
bool IsGreater(const FUInt128 &Other) const
Definition Int128.h:109
UE_FORCEINLINE_HINT void Zero()
Definition Int128.h:66
UE_FORCEINLINE_HINT FUInt128 & operator=(FUInt128 const &)=default
bool IsGreaterOrEqual(const FUInt128 &Other) const
Definition Int128.h:119
FUInt128 & operator/=(uint32 Other)
Definition Int128.h:268
UE_FORCEINLINE_HINT bool IsGreaterThanZero() const
Definition Int128.h:242
void Set(uint64 InHi, uint64 InLo)
Definition Int128.h:72
UE_FORCEINLINE_HINT FUInt128(const FUInt128 &)=default
UE_FORCEINLINE_HINT bool operator>(const FUInt128 &Other) const
Definition Int128.h:212
friend FArchive & operator<<(FArchive &Ar, FUInt128 &Value)
Definition Int128.h:278
FUInt128(uint64 A, uint64 B)
Definition Int128.h:97
FUInt128 & operator+=(uint32 Other)
Definition Int128.h:250
uint32 GetQuadPart(uint32 Part) const
Definition Int128.h:39
UE_FORCEINLINE_HINT FUInt128(FUInt128 &&)=default
FUInt128()
Definition Int128.h:85
bool IsLessOrEqual(const FUInt128 &Other) const
Definition Int128.h:139
FUInt128 Add(uint32 Value)
Definition Int128.h:155
FUInt128 Multiply(uint32 Multiplier)
Definition Int128.h:184
FUInt128 & operator*=(uint32 Other)
Definition Int128.h:262
FUInt128(uint32 A, uint32 B, uint32 C, uint32 D)
Definition Int128.h:103
FUInt128 Sub(uint32 Value)
Definition Int128.h:168