1 write to _upper
System.Private.CoreLib (1)
src\libraries\System.Private.CoreLib\src\System\UInt128.cs (1)
43
_upper
= upper;
80 references to _upper
System.Private.CoreLib (80)
src\libraries\System.Private.CoreLib\src\System\UInt128.cs (80)
48
internal ulong Upper =>
_upper
;
97
public override int GetHashCode() => HashCode.Combine(_lower,
_upper
);
192
if (value.
_upper
!= 0)
210
if (value.
_upper
!= 0)
224
if (value.
_upper
> uint.MaxValue)
230
uint hi32 = (uint)(value.
_upper
);
256
if (value.
_upper
== 0)
261
else if ((value.
_upper
>> 24) == 0) // value < (2^104)
301
if (value.
_upper
!= 0)
319
if (value.
_upper
!= 0)
337
if (value.
_upper
!= 0)
348
public static explicit operator Int128(UInt128 value) => new Int128(value.
_upper
, value._lower);
357
if ((long)value.
_upper
< 0)
361
return new Int128(value.
_upper
, value._lower);
375
if (value.
_upper
!= 0)
395
if (value.
_upper
!= 0)
420
if (value.
_upper
!= 0)
440
if (value.
_upper
!= 0)
460
if (value.
_upper
!= 0)
480
if (value.
_upper
!= 0)
750
ulong upper = left.
_upper
+ right.
_upper
+ carry;
763
ulong upper = checked(left.
_upper
+ right.
_upper
+ carry);
793
if (value.
_upper
== 0)
797
return BitOperations.LeadingZeroCount(value.
_upper
);
802
=> ulong.PopCount(value._lower) + ulong.PopCount(value.
_upper
);
817
return 64 + ulong.TrailingZeroCount(value.
_upper
);
985
if (value.
_upper
== 0)
989
return 64 + ulong.Log2(value.
_upper
);
997
public static UInt128 operator &(UInt128 left, UInt128 right) => new UInt128(left.
_upper
& right.
_upper
, left._lower & right._lower);
1000
public static UInt128 operator |(UInt128 left, UInt128 right) => new UInt128(left.
_upper
| right.
_upper
, left._lower | right._lower);
1003
public static UInt128 operator ^(UInt128 left, UInt128 right) => new UInt128(left.
_upper
^ right.
_upper
, left._lower ^ right._lower);
1006
public static UInt128 operator ~(UInt128 value) => new UInt128(~value.
_upper
, ~value._lower);
1015
return (left.
_upper
< right.
_upper
)
1016
|| (left.
_upper
== right.
_upper
) && (left._lower < right._lower);
1022
return (left.
_upper
< right.
_upper
)
1023
|| (left.
_upper
== right.
_upper
) && (left._lower <= right._lower);
1029
return (left.
_upper
> right.
_upper
)
1030
|| (left.
_upper
== right.
_upper
) && (left._lower > right._lower);
1036
return (left.
_upper
> right.
_upper
)
1037
|| (left.
_upper
== right.
_upper
) && (left._lower >= right._lower);
1057
if (right.
_upper
== 0)
1064
if (left.
_upper
== 0)
1072
ulong remainder = left.
_upper
;
1077
(highRes, remainder) = X86Base.X64.DivRem(left.
_upper
, 0, right._lower);
1147
Unsafe.WriteUnaligned(ref *(byte*)(pLeft + 2), (uint)(quotient.
_upper
>> 00));
1148
Unsafe.WriteUnaligned(ref *(byte*)(pLeft + 3), (uint)(quotient.
_upper
>> 32));
1159
Unsafe.WriteUnaligned(ref *(byte*)(pRight + 2), (uint)(divisor.
_upper
>> 00));
1160
Unsafe.WriteUnaligned(ref *(byte*)(pRight + 3), (uint)(divisor.
_upper
>> 32));
1300
public static bool operator ==(UInt128 left, UInt128 right) => (left._lower == right._lower) && (left.
_upper
== right.
_upper
);
1303
public static bool operator !=(UInt128 left, UInt128 right) => (left._lower != right._lower) || (left.
_upper
!= right.
_upper
);
1351
upper += (left.
_upper
* right._lower) + (left._lower * right.
_upper
);
1377
ulong ah = left.
_upper
;
1380
ulong bh = right.
_upper
;
1383
UInt128 t = Math.BigMul(ah, bl) + mull.
_upper
;
1387
return Math.BigMul(ah, bh) + t.
_upper
+ tl.
_upper
;
2031
ulong upper = (value.
_upper
<< shiftAmount) | (value._lower >> (64 - shiftAmount));
2058
ulong lower = value.
_upper
>> shiftAmount;
2066
ulong lower = (value._lower >> shiftAmount) | (value.
_upper
<< (64 - shiftAmount));
2067
ulong upper = value.
_upper
>> shiftAmount;
2100
ulong upper = left.
_upper
- right.
_upper
- borrow;
2113
ulong upper = checked(left.
_upper
- right.
_upper
- borrow);