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

◆ Add() [1/2]

static unsafe void System.Number.BigInteger.Add ( ref BigInteger lhs,
ref BigInteger rhs,
out BigInteger result )
inlinestatic

Definition at line 53 of file Number.cs.

54 {
55 ref BigInteger reference = ref lhs._length < rhs._length ? ref rhs : ref lhs;
56 ref BigInteger reference2 = ref lhs._length < rhs._length ? ref lhs : ref rhs;
57 int length = reference._length;
58 int length2 = reference2._length;
59 result._length = length;
60 ulong num = 0uL;
61 int num2 = 0;
62 int num3 = 0;
63 int num4 = 0;
64 while (num3 < length2)
65 {
66 ulong num5 = num + reference._blocks[num2] + reference2._blocks[num3];
67 num = num5 >> 32;
68 result._blocks[num4] = (uint)num5;
69 num2++;
70 num3++;
71 num4++;
72 }
73 while (num2 < length)
74 {
75 ulong num6 = num + reference._blocks[num2];
76 num = num6 >> 32;
77 result._blocks[num4] = (uint)num6;
78 num2++;
79 num4++;
80 }
81 if (num != 0L)
82 {
83 result._blocks[num4] = 1u;
84 result._length++;
85 }
86 }

References System.Number.BigInteger._length, System.L, System.length, and System.length2.

Referenced by System.Number.Dragon4().