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

◆ TryRoundWeedCounted()

static bool System.Number.Grisu3.TryRoundWeedCounted ( Span< byte > buffer,
int length,
ulong rest,
ulong tenKappa,
ulong unit,
ref int kappa )
inlinestaticprivate

Definition at line 1065 of file Number.cs.

1066 {
1067 if (unit >= tenKappa || tenKappa - unit <= unit)
1068 {
1069 return false;
1070 }
1071 if (tenKappa - rest > rest && tenKappa - 2 * rest >= 2 * unit)
1072 {
1073 return true;
1074 }
1075 if (rest > unit && (tenKappa <= rest - unit || tenKappa - (rest - unit) <= rest - unit))
1076 {
1077 buffer[length - 1]++;
1078 int num = length - 1;
1079 while (num > 0 && buffer[num] == 58)
1080 {
1081 buffer[num] = 48;
1082 buffer[num - 1]++;
1083 num--;
1084 }
1085 if (buffer[0] == 58)
1086 {
1087 buffer[0] = 49;
1088 kappa++;
1089 }
1090 return true;
1091 }
1092 return false;
1093 }

References System.buffer, and System.length.

Referenced by System.Number.Grisu3.TryDigitGenCounted().