Ark Server API (ASA) - Wiki
Loading...
Searching...
No Matches
FUInt128 Class Reference

#include <Int128.h>

Public Member Functions

FORCEINLINE uint32 GetQuadPart (uint32 Part)
 
FORCEINLINE void SetQuadPart (uint32 Part, uint32 Value)
 
FORCEINLINE void Zero ()
 
FORCEINLINE void Set (uint64 InHi, uint64 InLo)
 
FORCEINLINE FUInt128 (const FUInt128 &)=default
 
FORCEINLINE FUInt128 (FUInt128 &&)=default
 
FORCEINLINE FUInt128operator= (FUInt128 const &)=default
 
FORCEINLINE FUInt128operator= (FUInt128 &&)=default
 
FORCEINLINE FUInt128 ()
 
FORCEINLINE FUInt128 (uint64 A)
 
FORCEINLINE FUInt128 (uint64 A, uint64 B)
 
FORCEINLINE FUInt128 (uint32 A, uint32 B, uint32 C, uint32 D)
 
FORCEINLINE bool IsGreater (const FUInt128 &Other) const
 
FORCEINLINE bool IsGreaterOrEqual (const FUInt128 &Other) const
 
FORCEINLINE bool IsLess (const FUInt128 &Other) const
 
FORCEINLINE bool IsLessOrEqual (const FUInt128 &Other) const
 
FORCEINLINE bool IsEqual (const FUInt128 &Other) const
 
FORCEINLINE FUInt128 Add (uint32 Value)
 
FORCEINLINE FUInt128 Sub (uint32 Value)
 
FORCEINLINE FUInt128 Multiply (uint32 Multiplier)
 
FORCEINLINE FUInt128 Divide (uint32 Divisor, uint32 &Remainder)
 
FORCEINLINE bool operator> (const FUInt128 &Other) const
 
FORCEINLINE bool operator>= (const FUInt128 &Other) const
 
FORCEINLINE bool operator== (const FUInt128 &Other) const
 
FORCEINLINE bool operator< (const FUInt128 &Other) const
 
FORCEINLINE bool operator<= (const FUInt128 &Other) const
 
FORCEINLINE bool IsZero () const
 
FORCEINLINE bool IsGreaterThanZero () const
 
FORCEINLINE FUInt128operator+= (uint32 Other)
 
FORCEINLINE FUInt128operator-= (uint32 Other)
 
FORCEINLINE FUInt128operator*= (uint32 Other)
 
FORCEINLINE FUInt128operator/= (uint32 Other)
 

Private Member Functions

FORCEINLINE uint32 AddInternal (uint32 A, uint32 B, uint32 &Carry)
 
FORCEINLINE uint32 MultiplyInternal (uint32 Multiplicand, uint32 Multiplier, uint32 &Carry)
 
FORCEINLINE uint32 DivideInternal (uint32 Dividend, uint32 Divisor, uint32 &Remainder)
 

Private Attributes

uint64 Hi
 
uint64 Lo
 

Friends

FArchiveoperator<< (FArchive &Ar, FUInt128 &Value)
 

Detailed Description

Definition at line 8 of file Int128.h.

Constructor & Destructor Documentation

◆ FUInt128() [1/6]

FORCEINLINE FUInt128::FUInt128 ( const FUInt128 & )
default

Default constructors.

◆ FUInt128() [2/6]

FORCEINLINE FUInt128::FUInt128 ( FUInt128 && )
default

◆ FUInt128() [3/6]

FORCEINLINE FUInt128::FUInt128 ( )
inline

Default constructor. Initializes the number to zero.

Definition at line 85 of file Int128.h.

◆ FUInt128() [4/6]

FORCEINLINE FUInt128::FUInt128 ( uint64 A)
inline

Constructor. Initializes this uint128 with a uint64 value.

Definition at line 91 of file Int128.h.

◆ FUInt128() [5/6]

FORCEINLINE FUInt128::FUInt128 ( uint64 A,
uint64 B )
inline

Constructor. Initializes this uint128 with two uint64 values.

Definition at line 97 of file Int128.h.

◆ FUInt128() [6/6]

FORCEINLINE FUInt128::FUInt128 ( uint32 A,
uint32 B,
uint32 C,
uint32 D )
inline

Constructor. Initializes this uint128 with four uint32 values.

Definition at line 103 of file Int128.h.

Member Function Documentation

◆ Add()

FORCEINLINE FUInt128 FUInt128::Add ( uint32 Value)
inline

Add an unsigned 32bit value

Definition at line 155 of file Int128.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ AddInternal()

FORCEINLINE uint32 FUInt128::AddInternal ( uint32 A,
uint32 B,
uint32 & Carry )
inlineprivate

Definition at line 15 of file Int128.h.

+ Here is the caller graph for this function:

◆ Divide()

FORCEINLINE FUInt128 FUInt128::Divide ( uint32 Divisor,
uint32 & Remainder )
inline

Divide by an unsigned 32bit value

Definition at line 197 of file Int128.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ DivideInternal()

FORCEINLINE uint32 FUInt128::DivideInternal ( uint32 Dividend,
uint32 Divisor,
uint32 & Remainder )
inlineprivate

Definition at line 30 of file Int128.h.

+ Here is the caller graph for this function:

◆ GetQuadPart()

FORCEINLINE uint32 FUInt128::GetQuadPart ( uint32 Part)
inline

Gets internal quad parts.

Definition at line 39 of file Int128.h.

+ Here is the caller graph for this function:

◆ IsEqual()

FORCEINLINE bool FUInt128::IsEqual ( const FUInt128 & Other) const
inline

this == Other

Definition at line 149 of file Int128.h.

+ Here is the caller graph for this function:

◆ IsGreater()

FORCEINLINE bool FUInt128::IsGreater ( const FUInt128 & Other) const
inline

this > Other

Definition at line 109 of file Int128.h.

+ Here is the caller graph for this function:

◆ IsGreaterOrEqual()

FORCEINLINE bool FUInt128::IsGreaterOrEqual ( const FUInt128 & Other) const
inline

this >= Other

Definition at line 119 of file Int128.h.

+ Here is the caller graph for this function:

◆ IsGreaterThanZero()

FORCEINLINE bool FUInt128::IsGreaterThanZero ( ) const
inline

Definition at line 242 of file Int128.h.

+ Here is the call graph for this function:

◆ IsLess()

FORCEINLINE bool FUInt128::IsLess ( const FUInt128 & Other) const
inline

this < Other

Definition at line 129 of file Int128.h.

+ Here is the caller graph for this function:

◆ IsLessOrEqual()

FORCEINLINE bool FUInt128::IsLessOrEqual ( const FUInt128 & Other) const
inline

this <= Other

Definition at line 139 of file Int128.h.

+ Here is the caller graph for this function:

◆ IsZero()

FORCEINLINE bool FUInt128::IsZero ( ) const
inline

Definition at line 237 of file Int128.h.

+ Here is the caller graph for this function:

◆ Multiply()

FORCEINLINE FUInt128 FUInt128::Multiply ( uint32 Multiplier)
inline

Multiply by an unsigned 32bit value

Definition at line 184 of file Int128.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ MultiplyInternal()

FORCEINLINE uint32 FUInt128::MultiplyInternal ( uint32 Multiplicand,
uint32 Multiplier,
uint32 & Carry )
inlineprivate

Definition at line 22 of file Int128.h.

+ Here is the caller graph for this function:

◆ operator*=()

FORCEINLINE FUInt128 & FUInt128::operator*= ( uint32 Other)
inline

Definition at line 262 of file Int128.h.

+ Here is the call graph for this function:

◆ operator+=()

FORCEINLINE FUInt128 & FUInt128::operator+= ( uint32 Other)
inline

Arithmetic operators

Definition at line 250 of file Int128.h.

+ Here is the call graph for this function:

◆ operator-=()

FORCEINLINE FUInt128 & FUInt128::operator-= ( uint32 Other)
inline

Definition at line 256 of file Int128.h.

+ Here is the call graph for this function:

◆ operator/=()

FORCEINLINE FUInt128 & FUInt128::operator/= ( uint32 Other)
inline

Definition at line 268 of file Int128.h.

+ Here is the call graph for this function:

◆ operator<()

FORCEINLINE bool FUInt128::operator< ( const FUInt128 & Other) const
inline

Definition at line 227 of file Int128.h.

+ Here is the call graph for this function:

◆ operator<=()

FORCEINLINE bool FUInt128::operator<= ( const FUInt128 & Other) const
inline

Definition at line 232 of file Int128.h.

+ Here is the call graph for this function:

◆ operator=() [1/2]

FORCEINLINE FUInt128 & FUInt128::operator= ( FUInt128 && )
default
+ Here is the caller graph for this function:

◆ operator=() [2/2]

FORCEINLINE FUInt128 & FUInt128::operator= ( FUInt128 const & )
default

◆ operator==()

FORCEINLINE bool FUInt128::operator== ( const FUInt128 & Other) const
inline

Definition at line 222 of file Int128.h.

+ Here is the call graph for this function:

◆ operator>()

FORCEINLINE bool FUInt128::operator> ( const FUInt128 & Other) const
inline

Comparison operators

Definition at line 212 of file Int128.h.

+ Here is the call graph for this function:

◆ operator>=()

FORCEINLINE bool FUInt128::operator>= ( const FUInt128 & Other) const
inline

Definition at line 217 of file Int128.h.

+ Here is the call graph for this function:

◆ Set()

FORCEINLINE void FUInt128::Set ( uint64 InHi,
uint64 InLo )
inline

Initializes this number with a pair of 64 bit integer values.

Definition at line 72 of file Int128.h.

◆ SetQuadPart()

FORCEINLINE void FUInt128::SetQuadPart ( uint32 Part,
uint32 Value )
inline

Sets internal quad parts.

Definition at line 53 of file Int128.h.

+ Here is the caller graph for this function:

◆ Sub()

FORCEINLINE FUInt128 FUInt128::Sub ( uint32 Value)
inline

Definition at line 168 of file Int128.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Zero()

FORCEINLINE void FUInt128::Zero ( )
inline

Sets this number to 0.

Definition at line 66 of file Int128.h.

Friends And Related Symbol Documentation

◆ operator<<

FArchive & operator<< ( FArchive & Ar,
FUInt128 & Value )
friend

Serialization

Definition at line 278 of file Int128.h.

Member Data Documentation

◆ Hi

uint64 FUInt128::Hi
private

Internal values representing this number

Definition at line 12 of file Int128.h.

◆ Lo

uint64 FUInt128::Lo
private

Definition at line 13 of file Int128.h.


The documentation for this class was generated from the following file: