1 write to _upper
System.Private.CoreLib (1)
src\runtime\src\libraries\System.Private.CoreLib\src\System\UInt128.cs (1)
43
_upper
= upper;
85 references to _upper
System.Private.CoreLib (85)
src\runtime\src\libraries\System.Private.CoreLib\src\System\UInt128.cs (85)
48
internal ulong Upper =>
_upper
;
97
public override int GetHashCode() => HashCode.Combine(_lower,
_upper
);
186
if (value.
_upper
!= 0)
204
if (value.
_upper
!= 0)
218
if (value.
_upper
> uint.MaxValue)
224
uint hi32 = (uint)(value.
_upper
);
250
if (value.
_upper
== 0)
255
else if ((value.
_upper
>> 40) == 0) // value < (2^104)
273
double upper = BitConverter.UInt64BitsToDouble(TwoPow128Bits | (value.
_upper
>> 12)) - TwoPow128;
295
if (value.
_upper
!= 0)
313
if (value.
_upper
!= 0)
331
if (value.
_upper
!= 0)
342
public static explicit operator Int128(UInt128 value) => new Int128(value.
_upper
, value._lower);
351
if ((long)value.
_upper
< 0)
355
return new Int128(value.
_upper
, value._lower);
369
if (value.
_upper
!= 0)
389
if (value.
_upper
!= 0)
414
if (value.
_upper
!= 0)
434
if (value.
_upper
!= 0)
454
if (value.
_upper
!= 0)
474
if (value.
_upper
!= 0)
744
ulong upper = left.
_upper
+ right.
_upper
+ carry;
757
ulong upper = checked(left.
_upper
+ right.
_upper
+ carry);
775
if (right.
_upper
== 0)
780
if (right.
_upper
>= left.
_upper
)
782
return left.
_upper
== right.
_upper
&& left._lower >= right._lower
799
ulong divHi = right.
_upper
;
803
ulong valMi = left.
_upper
;
875
if (left.
_upper
< divisor)
877
if (left.
_upper
== 0)
883
leftUpper = left.
_upper
;
887
(highRes, leftUpper) = Math.DivRem(left.
_upper
, divisor);
1012
if (value.
_upper
== 0)
1016
return BitOperations.LeadingZeroCount(value.
_upper
);
1022
if (value.
_upper
== 0)
1083
=> ulong.PopCount(value._lower) + ulong.PopCount(value.
_upper
);
1098
return 64 + ulong.TrailingZeroCount(value.
_upper
);
1250
if (value.
_upper
== 0)
1254
return 64 + ulong.Log2(value.
_upper
);
1262
public static UInt128 operator &(UInt128 left, UInt128 right) => new UInt128(left.
_upper
& right.
_upper
, left._lower & right._lower);
1265
public static UInt128 operator |(UInt128 left, UInt128 right) => new UInt128(left.
_upper
| right.
_upper
, left._lower | right._lower);
1268
public static UInt128 operator ^(UInt128 left, UInt128 right) => new UInt128(left.
_upper
^ right.
_upper
, left._lower ^ right._lower);
1271
public static UInt128 operator ~(UInt128 value) => new UInt128(~value.
_upper
, ~value._lower);
1280
return (left.
_upper
< right.
_upper
)
1281
|| (left.
_upper
== right.
_upper
) && (left._lower < right._lower);
1287
return (left.
_upper
< right.
_upper
)
1288
|| (left.
_upper
== right.
_upper
) && (left._lower <= right._lower);
1294
return (left.
_upper
> right.
_upper
)
1295
|| (left.
_upper
== right.
_upper
) && (left._lower > right._lower);
1301
return (left.
_upper
> right.
_upper
)
1302
|| (left.
_upper
== right.
_upper
) && (left._lower >= right._lower);
1331
public static bool operator ==(UInt128 left, UInt128 right) => (left._lower == right._lower) && (left.
_upper
== right.
_upper
);
1334
public static bool operator !=(UInt128 left, UInt128 right) => (left._lower != right._lower) || (left.
_upper
!= right.
_upper
);
1379
upper += (left.
_upper
* right._lower) + (left._lower * right.
_upper
);
1410
ulong ah = left.
_upper
;
1413
ulong bh = right.
_upper
;
1416
UInt128 t = Math.BigMul(ah, bl) + mull.
_upper
;
1420
return Math.BigMul(ah, bh) + t.
_upper
+ tl.
_upper
;
2085
ulong upper = (value.
_upper
<< shiftAmount) | (value._lower >> (64 - shiftAmount));
2112
ulong lower = value.
_upper
>> shiftAmount;
2120
ulong lower = (value._lower >> shiftAmount) | (value.
_upper
<< (64 - shiftAmount));
2121
ulong upper = value.
_upper
>> shiftAmount;
2154
ulong upper = left.
_upper
- right.
_upper
- borrow;
2167
ulong upper = checked(left.
_upper
- right.
_upper
- borrow);