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

◆ UInt64x64To128()

static void System.Decimal.DecCalc.UInt64x64To128 ( ulong a,
ulong b,
ref DecCalc result )
inlinestaticprivate

Definition at line 305 of file Decimal.cs.

306 {
307 ulong num = UInt32x32To64((uint)a, (uint)b);
308 ulong num2 = UInt32x32To64((uint)a, (uint)(b >> 32));
309 ulong num3 = UInt32x32To64((uint)(a >> 32), (uint)(b >> 32));
310 num3 += num2 >> 32;
311 num += (num2 <<= 32);
312 if (num < num2)
313 {
314 num3++;
315 }
316 num2 = UInt32x32To64((uint)(a >> 32), (uint)b);
317 num3 += num2 >> 32;
318 num += (num2 <<= 32);
319 if (num < num2)
320 {
321 num3++;
322 }
323 if (num3 > uint.MaxValue)
324 {
325 Number.ThrowOverflowException(TypeCode.Decimal);
326 }
327 result.Low64 = num;
328 result.High = (uint)num3;
329 }
static ulong UInt32x32To64(uint a, uint b)
Definition Decimal.cs:300

References System.Runtime.Serialization.Dictionary, System.Number.ThrowOverflowException(), and System.Decimal.DecCalc.UInt32x32To64().

Referenced by System.Decimal.DecCalc.VarDecFromR4(), and System.Decimal.DecCalc.VarDecFromR8().