5#if WITH_VERSE_VM || defined(__INTELLISENSE__)
14inline VFloat VInt::ConvertToFloat()
const
18 return VFloat(AsInt32());
26 if (Lhs.IsInt32() &&
Rhs.IsInt32())
33 return VInt::AddSlowPath(
Context, Lhs, Rhs);
38 if (Lhs.IsInt32() &&
Rhs.IsInt32())
45 return VInt::SubSlowPath(
Context, Lhs, Rhs);
50 if (Lhs.IsInt32() &&
Rhs.IsInt32())
57 return VInt::MulSlowPath(
Context, Lhs, Rhs);
63 if (Lhs.IsInt32() &&
Rhs.IsInt32())
90 if (Lhs.IsInt32() &&
Rhs.IsInt32())
92 if (
Rhs.AsInt32() == -1 ||
Rhs.AsInt32() == 1)
101 return VInt::ModSlowPath(
Context, Lhs, Rhs);
111 return VInt::NegSlowPath(
Context, x);
120 return VInt::AbsSlowPath(
Context, x);
125 if (Lhs.IsInt32() &&
Rhs.IsInt32())
127 return Lhs.AsInt32() ==
Rhs.AsInt32();
131 return VInt::EqSlowPath(
Context, Lhs, Rhs);
135inline bool VInt::Eq(FAllocationContext
Context,
VInt Lhs, VValue Rhs)
150 if (Lhs.IsInt32() &&
Rhs.IsInt32())
152 return Lhs.AsInt32() <
Rhs.AsInt32();
154 return VInt::LtSlowPath(
Context, Lhs, Rhs);
159 if (Lhs.IsInt32() &&
Rhs.IsInt32())
161 return Lhs.AsInt32() >
Rhs.AsInt32();
163 return VInt::GtSlowPath(
Context, Lhs, Rhs);
168 if (Lhs.IsInt32() &&
Rhs.IsInt32())
170 return Lhs.AsInt32() <=
Rhs.AsInt32();
172 return VInt::LteSlowPath(
Context, Lhs, Rhs);
177 if (Lhs.IsInt32() &&
Rhs.IsInt32())
179 return Lhs.AsInt32() >=
Rhs.AsInt32();
181 return VInt::GteSlowPath(
Context, Lhs, Rhs);
186 if (Lhs.IsInt64() &&
Rhs.IsInt64())
204 if (Lhs.IsInt64() &&
Rhs.IsInt64())
221 if (Lhs.IsInt64() &&
Rhs.IsInt64())
238 if (Lhs.IsInt64() &&
Rhs.IsInt64())
259 if (Lhs.IsInt64() &&
Rhs.IsInt64())
274inline bool VInt::EqSlowPath(FAllocationContext
Context,
VInt Lhs,
VInt Rhs)
276 if (Lhs.IsInt32() ||
Rhs.IsInt32())
299inline bool VInt::LtSlowPath(FAllocationContext
Context,
VInt Lhs,
VInt Rhs)
303 return VHeapInt::Compare(
LhsHeap,
RhsHeap) == VHeapInt::ComparisonResult::LessThan;
306inline bool VInt::GtSlowPath(FAllocationContext
Context,
VInt Lhs,
VInt Rhs)
310 return VHeapInt::Compare(
LhsHeap,
RhsHeap) == VHeapInt::ComparisonResult::GreaterThan;
313inline bool VInt::LteSlowPath(FAllocationContext
Context,
VInt Lhs,
VInt Rhs)
318 return Result == VHeapInt::ComparisonResult::LessThan ||
Result == VHeapInt::ComparisonResult::Equal;
321inline bool VInt::GteSlowPath(FAllocationContext
Context,
VInt Lhs,
VInt Rhs)
326 return Result == VHeapInt::ComparisonResult::GreaterThan ||
Result == VHeapInt::ComparisonResult::Equal;
332 ? VHeapInt::FromInt64(
Context, N.AsInt32())
336inline bool VInt::IsInt64()
const
349inline int64 VInt::AsInt64()
const
353 return static_cast<int64>(AsInt32());
362inline bool VInt::IsUint32()
const
366 int64 I64 = AsInt64();
367 return I64 >= 0 &&
static_cast<uint64>(I64) <=
static_cast<uint64>(std::numeric_limits<uint32>::max());
373inline uint32 VInt::AsUint32()
const
376 return static_cast<uint32>(AsInt64());
383 return ::GetTypeHash(
Int.AsInt32());
387 return ::GetTypeHash(
Int.AsInt64());
#define checkSlow(expr)
Definition AssertionMacros.h:332
#define checkf(expr, format,...)
Definition AssertionMacros.h:315
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
TGuardedInt< int64 > FGuardedInt64
Definition GuardedInt.h:420
UE_REWRITE T StaticCast(ArgType &&Arg)
Definition UnrealTemplate.h:638
Definition GuardedInt.h:56
FORCEINLINE UE_STRING_CLASS RhsType && Rhs
Definition String.cpp.inl:718
UE_STRING_CLASS Result(Forward< LhsType >(Lhs), RhsLen)
Definition String.cpp.inl:732
uint32 GetTypeHash(TPtrVariant< Ts... > Ptr)
Definition VVMPtrVariant.h:83