Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ UInt64ToNumber()

static unsafe void System.Number.UInt64ToNumber ( ulong value,
ref NumberBuffer number )
inlinestaticprivate

Definition at line 2586 of file Number.cs.

2587 {
2588 number.DigitsCount = 20;
2589 number.IsNegative = false;
2590 byte* digitsPointer = number.GetDigitsPointer();
2591 byte* bufferEnd = digitsPointer + 20;
2592 while (High32(value) != 0)
2593 {
2594 bufferEnd = UInt32ToDecChars(bufferEnd, Int64DivMod1E9(ref value), 9);
2595 }
2596 bufferEnd = UInt32ToDecChars(bufferEnd, Low32(value), 0);
2597 int num = (number.Scale = (number.DigitsCount = (int)(digitsPointer + 20 - bufferEnd)));
2598 byte* digitsPointer2 = number.GetDigitsPointer();
2599 while (--num >= 0)
2600 {
2601 *(digitsPointer2++) = *(bufferEnd++);
2602 }
2603 *digitsPointer2 = 0;
2604 }
static uint High32(ulong value)
Definition Number.cs:3498
static uint Int64DivMod1E9(ref ulong value)
Definition Number.cs:3503
static uint Low32(ulong value)
Definition Number.cs:3493
static unsafe byte * UInt32ToDecChars(byte *bufferEnd, uint value, int digits)
Definition Number.cs:2360

References System.Number.High32(), System.Number.Int64DivMod1E9(), System.Number.Low32(), System.Number.UInt32ToDecChars(), and System.value.

Referenced by System.Number.FormatUInt64(), and System.Number.TryFormatUInt64().