367 references to UInt128
GenerateDocumentationAndConfigFiles (2)
src\roslyn\src\Compilers\Core\Portable\Hashing\XxHash128.cs (2)
129
return new
UInt128
(hash.High64, hash.Low64);
214
return new
UInt128
(current.High64, current.Low64);
Microsoft.AspNetCore.Razor.Utilities.Shared (2)
Utilities\Hashing\XxHash128.cs (2)
127
return new
UInt128
(hash.High64, hash.Low64);
212
return new
UInt128
(current.High64, current.Low64);
Microsoft.CodeAnalysis (2)
Hashing\XxHash128.cs (2)
129
return new
UInt128
(hash.High64, hash.Low64);
214
return new
UInt128
(current.High64, current.Low64);
Microsoft.CodeAnalysis.Workspaces (2)
src\roslyn\src\Compilers\Core\Portable\Hashing\XxHash128.cs (2)
129
return new
UInt128
(hash.High64, hash.Low64);
214
return new
UInt128
(current.High64, current.Low64);
Microsoft.TestPlatform.AdapterUtilities (2)
src\vstest\src\Microsoft.TestPlatform.Hashing.Source\XxHash128.cs (2)
132
return new
UInt128
(hash.High64, hash.Low64);
224
return new
UInt128
(current.High64, current.Low64);
Microsoft.VisualStudio.TestPlatform.ObjectModel (2)
src\vstest\src\Microsoft.TestPlatform.Hashing.Source\XxHash128.cs (2)
132
return new
UInt128
(hash.High64, hash.Low64);
224
return new
UInt128
(current.High64, current.Low64);
System.IO.Hashing (2)
System\IO\Hashing\XxHash128.cs (2)
125
return new
UInt128
(hash.High64, hash.Low64);
210
return new
UInt128
(current.High64, current.Low64);
System.Private.CoreLib (345)
src\runtime\src\libraries\System.Private.CoreLib\src\System\Buffers\Binary\BinaryPrimitives.ReverseEndianness.cs (1)
189
return new
UInt128
(
src\runtime\src\libraries\System.Private.CoreLib\src\System\Buffers\Text\FormattingHelpers.CountDigits.Int128.cs (1)
35
value /= new
UInt128
(0x5, 0x6BC7_5E2D_6310_0000); // value /= 1e20
src\runtime\src\libraries\System.Private.CoreLib\src\System\Decimal.DecCalc.cs (2)
1786
UInt128 mantissa = new
UInt128
(high, low64);
1860
return new
UInt128
((exponent == DEC_SCALE_MAX) ? 2u : 0u, pow5[exponent]);
src\runtime\src\libraries\System.Private.CoreLib\src\System\Int128.cs (2)
422
public static explicit operator UInt128(Int128 value) => new
UInt128
(value._upper, value._lower);
435
return new
UInt128
(value._upper, value._lower);
src\runtime\src\libraries\System.Private.CoreLib\src\System\Math.cs (1)
285
return new
UInt128
(high, low);
src\runtime\src\libraries\System.Private.CoreLib\src\System\Number.BigInteger.cs (1)
1292
return new
UInt128
(_blocks[1], _blocks[0]);
src\runtime\src\libraries\System.Private.CoreLib\src\System\Number.DecimalIeee754.DiyFp128.cs (2)
551
return new
UInt128
((ulong)value._sign << 32, 0);
596
return new
UInt128
(currentDigit, lowWord);
src\runtime\src\libraries\System.Private.CoreLib\src\System\Number.DecimalIeee754.DiyFp128Conversions.cs (1)
171
UInt128 fraction = new
UInt128
(value._hi, value._lo);
src\runtime\src\libraries\System.Private.CoreLib\src\System\Number.DecimalIeee754.DiyFp128Trig.cs (4)
178
UInt128 p = (UInt128)a * b + new
UInt128
(addHi, addLo);
186
UInt128 addend = new
UInt128
(addHi, addLo);
196
UInt128 prod = (UInt128)a * b + new
UInt128
(carryIn, 0);
197
UInt128 addend = new
UInt128
(addHi, addLo);
src\runtime\src\libraries\System.Private.CoreLib\src\System\Number.Formatting.cs (2)
570
UInt128 absValue = new
UInt128
((uint)d.High, ((ulong)(uint)d.Mid << 32) | (uint)d.Low);
2671
UInt128 divisor = new
UInt128
(0, 10_000_000_000_000_000_000);
src\runtime\src\libraries\System.Private.CoreLib\src\System\Number.Rounding.cs (1)
145
: TryGetFloorAndMidpoint(new
UInt128
(high, low), shift, DoubleIntegerBoundaryLog2, out floor, out midpointComparison, out hasRemainder);
src\runtime\src\libraries\System.Private.CoreLib\src\System\Numerics\Decimal128.cs (231)
43
private static UInt128 PositiveInfinityValue => new
UInt128
(upper: 0x7800_0000_0000_0000, lower: 0);
44
private static UInt128 NegativeInfinityValue => new
UInt128
(upper: 0xF800_0000_0000_0000, lower: 0);
47
private static UInt128 ZeroValue => new
UInt128
(0x3040_0000_0000_0000, 0);
48
private static UInt128 NegativeZeroValue => new
UInt128
(0xB040_0000_0000_0000, 0);
50
private static UInt128 OneValue => new
UInt128
(0x3040_0000_0000_0000, 1);
51
private static UInt128 NegativeOneValue => new
UInt128
(0xB040_0000_0000_0000, 1);
53
private static UInt128 EValue => new
UInt128
(0x2FFE_8605_8A4B_F4DE, 0x4E90_6ACC_B26A_BB56); // +2.718281828459045235360287471352662
54
private static UInt128 PiValue => new
UInt128
(0x2FFE_9AE4_7957_96A7, 0xBABE_5564_E6F3_9F8F); // +3.141592653589793238462643383279503
55
private static UInt128 TauValue => new
UInt128
(0x2FFF_35C8_F2AF_2D4F, 0x757C_AAC9_CDE7_3F1E); // +6.283185307179586476925286766559006
56
private static UInt128 QuietNaNValue => new
UInt128
(0xFC00_0000_0000_0000, 0);
57
private static UInt128 NaNPayloadMask => new
UInt128
(0x0000_3FFF_FFFF_FFFF, 0xFFFF_FFFF_FFFF_FFFF);
75
private static UInt128 DegreesToRadiansHead => new
UInt128
(0x0021_9D23_38C9_2382, 0xBF86_F9E5_ACDE_A057); // 174_532_925_199_432_957_692_369_076_848_861_271
76
private static UInt128 DegreesToRadiansTail => new
UInt128
(0x0000_A9BF_270D_B49E, 0x82D0_06FB_7D2C_4001); // 3_442_871_888_541_725_456_097_191_440_171_009
79
private static UInt128 RadiansToDegreesHead => new
UInt128
(0x006E_5900_1427_58B2, 0xDB41_A116_5AA0_7F37); // 572_957_795_130_823_208_767_981_548_141_051_703
80
private static UInt128 RadiansToDegreesTail => new
UInt128
(0x0000_9FC5_74E0_7F0D, 0x2D46_04B9_0C4C_EA5D); // 3_240_547_246_656_432_154_916_024_386_120_285
243
var current = new
UInt128
(_upper, _lower);
244
var another = new
UInt128
(other._upper, other._lower);
251
var current = new
UInt128
(_upper, _lower);
252
var another = new
UInt128
(other._upper, other._lower);
269
return Number.GetDecimalIeee754HashCode<Decimal128, UInt128>(new
UInt128
(_upper, _lower));
276
public static UInt128 EncodeBinary(Decimal128 x) => new
UInt128
(x._upper, x._lower);
288
public static UInt128 EncodeDecimal(Decimal128 x) => Number.EncodeDecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower));
301
return Number.FormatDecimalIeee754<Decimal128, UInt128>(new
UInt128
(_upper, _lower), null, NumberFormatInfo.CurrentInfo);
309
return Number.FormatDecimalIeee754<Decimal128, UInt128>(new
UInt128
(_upper, _lower), format, NumberFormatInfo.CurrentInfo);
317
return Number.FormatDecimalIeee754<Decimal128, UInt128>(new
UInt128
(_upper, _lower), null, NumberFormatInfo.GetInstance(provider));
325
return Number.FormatDecimalIeee754<Decimal128, UInt128>(new
UInt128
(_upper, _lower), format, NumberFormatInfo.GetInstance(provider));
331
return Number.TryFormatDecimalIeee754<Decimal128, UInt128, char>(new
UInt128
(_upper, _lower), format, NumberFormatInfo.GetInstance(provider), destination, out charsWritten);
337
return Number.TryFormatDecimalIeee754<Decimal128, UInt128, byte>(new
UInt128
(_upper, _lower), format, NumberFormatInfo.GetInstance(provider), utf8Destination, out bytesWritten);
355
UInt128 result = Number.AddDecimalIeee754<Decimal128, UInt128>(new
UInt128
(value._upper, value._lower), OneValue);
364
UInt128 result = Number.SubtractDecimalIeee754<Decimal128, UInt128>(new
UInt128
(value._upper, value._lower), OneValue);
374
UInt128 result = Number.AddDecimalIeee754<Decimal128, UInt128>(new
UInt128
(left._upper, left._lower), new
UInt128
(right._upper, right._lower));
384
UInt128 result = Number.SubtractDecimalIeee754<Decimal128, UInt128>(new
UInt128
(left._upper, left._lower), new
UInt128
(right._upper, right._lower));
394
UInt128 result = Number.MultiplyDecimalIeee754<Decimal128, UInt128>(new
UInt128
(left._upper, left._lower), new
UInt128
(right._upper, right._lower));
404
UInt128 result = Number.DivideDecimalIeee754<Decimal128, UInt128>(new
UInt128
(left._upper, left._lower), new
UInt128
(right._upper, right._lower));
414
UInt128 result = Number.RemainderDecimalIeee754<Decimal128, UInt128>(new
UInt128
(left._upper, left._lower), new
UInt128
(right._upper, right._lower));
455
public static explicit operator byte(Decimal128 value) => Number.ConvertDecimalIeee754ToInteger<Decimal128, UInt128, byte>(new
UInt128
(value._upper, value._lower), isChecked: false);
461
public static explicit operator checked byte(Decimal128 value) => Number.ConvertDecimalIeee754ToInteger<Decimal128, UInt128, byte>(new
UInt128
(value._upper, value._lower), isChecked: true);
467
public static explicit operator sbyte(Decimal128 value) => Number.ConvertDecimalIeee754ToInteger<Decimal128, UInt128, sbyte>(new
UInt128
(value._upper, value._lower), isChecked: false);
474
public static explicit operator checked sbyte(Decimal128 value) => Number.ConvertDecimalIeee754ToInteger<Decimal128, UInt128, sbyte>(new
UInt128
(value._upper, value._lower), isChecked: true);
479
public static explicit operator char(Decimal128 value) => (char)Number.ConvertDecimalIeee754ToInteger<Decimal128, UInt128, ushort>(new
UInt128
(value._upper, value._lower), isChecked: false);
485
public static explicit operator checked char(Decimal128 value) => (char)Number.ConvertDecimalIeee754ToInteger<Decimal128, UInt128, ushort>(new
UInt128
(value._upper, value._lower), isChecked: true);
490
public static explicit operator short(Decimal128 value) => Number.ConvertDecimalIeee754ToInteger<Decimal128, UInt128, short>(new
UInt128
(value._upper, value._lower), isChecked: false);
496
public static explicit operator checked short(Decimal128 value) => Number.ConvertDecimalIeee754ToInteger<Decimal128, UInt128, short>(new
UInt128
(value._upper, value._lower), isChecked: true);
502
public static explicit operator ushort(Decimal128 value) => Number.ConvertDecimalIeee754ToInteger<Decimal128, UInt128, ushort>(new
UInt128
(value._upper, value._lower), isChecked: false);
509
public static explicit operator checked ushort(Decimal128 value) => Number.ConvertDecimalIeee754ToInteger<Decimal128, UInt128, ushort>(new
UInt128
(value._upper, value._lower), isChecked: true);
514
public static explicit operator int(Decimal128 value) => Number.ConvertDecimalIeee754ToInteger<Decimal128, UInt128, int>(new
UInt128
(value._upper, value._lower), isChecked: false);
520
public static explicit operator checked int(Decimal128 value) => Number.ConvertDecimalIeee754ToInteger<Decimal128, UInt128, int>(new
UInt128
(value._upper, value._lower), isChecked: true);
526
public static explicit operator uint(Decimal128 value) => Number.ConvertDecimalIeee754ToInteger<Decimal128, UInt128, uint>(new
UInt128
(value._upper, value._lower), isChecked: false);
533
public static explicit operator checked uint(Decimal128 value) => Number.ConvertDecimalIeee754ToInteger<Decimal128, UInt128, uint>(new
UInt128
(value._upper, value._lower), isChecked: true);
538
public static explicit operator nint(Decimal128 value) => Number.ConvertDecimalIeee754ToInteger<Decimal128, UInt128, nint>(new
UInt128
(value._upper, value._lower), isChecked: false);
544
public static explicit operator checked nint(Decimal128 value) => Number.ConvertDecimalIeee754ToInteger<Decimal128, UInt128, nint>(new
UInt128
(value._upper, value._lower), isChecked: true);
550
public static explicit operator nuint(Decimal128 value) => Number.ConvertDecimalIeee754ToInteger<Decimal128, UInt128, nuint>(new
UInt128
(value._upper, value._lower), isChecked: false);
557
public static explicit operator checked nuint(Decimal128 value) => Number.ConvertDecimalIeee754ToInteger<Decimal128, UInt128, nuint>(new
UInt128
(value._upper, value._lower), isChecked: true);
562
public static explicit operator long(Decimal128 value) => Number.ConvertDecimalIeee754ToInteger<Decimal128, UInt128, long>(new
UInt128
(value._upper, value._lower), isChecked: false);
568
public static explicit operator checked long(Decimal128 value) => Number.ConvertDecimalIeee754ToInteger<Decimal128, UInt128, long>(new
UInt128
(value._upper, value._lower), isChecked: true);
574
public static explicit operator ulong(Decimal128 value) => Number.ConvertDecimalIeee754ToInteger<Decimal128, UInt128, ulong>(new
UInt128
(value._upper, value._lower), isChecked: false);
581
public static explicit operator checked ulong(Decimal128 value) => Number.ConvertDecimalIeee754ToInteger<Decimal128, UInt128, ulong>(new
UInt128
(value._upper, value._lower), isChecked: true);
586
public static explicit operator Int128(Decimal128 value) => Number.ConvertDecimalIeee754ToInteger<Decimal128, UInt128, Int128>(new
UInt128
(value._upper, value._lower), isChecked: false);
592
public static explicit operator checked Int128(Decimal128 value) => Number.ConvertDecimalIeee754ToInteger<Decimal128, UInt128, Int128>(new
UInt128
(value._upper, value._lower), isChecked: true);
598
public static explicit operator UInt128(Decimal128 value) => Number.ConvertDecimalIeee754ToInteger<Decimal128, UInt128, UInt128>(new
UInt128
(value._upper, value._lower), isChecked: false);
605
public static explicit operator checked UInt128(Decimal128 value) => Number.ConvertDecimalIeee754ToInteger<Decimal128, UInt128, UInt128>(new
UInt128
(value._upper, value._lower), isChecked: true);
610
public static explicit operator Half(Decimal128 value) => Number.ConvertDecimalIeee754ToFloat<Decimal128, UInt128, Half>(new
UInt128
(value._upper, value._lower));
615
public static explicit operator float(Decimal128 value) => Number.ConvertDecimalIeee754ToFloat<Decimal128, UInt128, float>(new
UInt128
(value._upper, value._lower));
620
public static explicit operator double(Decimal128 value) => Number.ConvertDecimalIeee754ToFloat<Decimal128, UInt128, double>(new
UInt128
(value._upper, value._lower));
626
public static explicit operator decimal(Decimal128 value) => Number.ConvertDecimalIeee754ToDecimal<Decimal128, UInt128>(new
UInt128
(value._upper, value._lower));
703
return Number.EqualsDecimalIeee754<Decimal128, UInt128>(new
UInt128
(left._upper, left._lower), new
UInt128
(right._upper, right._lower));
721
return Number.LessThanDecimalIeee754<Decimal128, UInt128>(new
UInt128
(left._upper, left._lower), new
UInt128
(right._upper, right._lower));
730
return Number.GreaterThanDecimalIeee754<Decimal128, UInt128>(new
UInt128
(left._upper, left._lower), new
UInt128
(right._upper, right._lower));
739
return Number.LessThanOrEqualDecimalIeee754<Decimal128, UInt128>(new
UInt128
(left._upper, left._lower), new
UInt128
(right._upper, right._lower));
748
return Number.GreaterThanOrEqualDecimalIeee754<Decimal128, UInt128>(new
UInt128
(left._upper, left._lower), new
UInt128
(right._upper, right._lower));
817
public static Decimal128 Ceiling(Decimal128 x) => new Decimal128(Number.RoundDecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower), 0, MidpointRounding.ToPositiveInfinity));
828
public static Decimal128 Floor(Decimal128 x) => new Decimal128(Number.RoundDecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower), 0, MidpointRounding.ToNegativeInfinity));
831
public static Decimal128 Round(Decimal128 x) => new Decimal128(Number.RoundDecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower), 0, MidpointRounding.ToEven));
834
public static Decimal128 Round(Decimal128 x, int digits) => new Decimal128(Number.RoundDecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower), digits, MidpointRounding.ToEven));
837
public static Decimal128 Round(Decimal128 x, MidpointRounding mode) => new Decimal128(Number.RoundDecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower), 0, mode));
840
public static Decimal128 Round(Decimal128 x, int digits, MidpointRounding mode) => new Decimal128(Number.RoundDecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower), digits, mode));
843
public static Decimal128 Truncate(Decimal128 x) => new Decimal128(Number.RoundDecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower), 0, MidpointRounding.ToZero));
851
int exponent = Number.UnpackDecimalIeee754<Decimal128, UInt128>(new
UInt128
(_upper, _lower)).UnbiasedExponent;
872
if (BinaryPrimitives.TryWriteInt32BigEndian(destination, Number.UnpackDecimalIeee754<Decimal128, UInt128>(new
UInt128
(_upper, _lower)).UnbiasedExponent))
885
if (BinaryPrimitives.TryWriteInt32LittleEndian(destination, Number.UnpackDecimalIeee754<Decimal128, UInt128>(new
UInt128
(_upper, _lower)).UnbiasedExponent))
898
if (BinaryPrimitives.TryWriteUInt128BigEndian(destination, Number.UnpackDecimalIeee754<Decimal128, UInt128>(new
UInt128
(_upper, _lower)).Significand))
911
if (BinaryPrimitives.TryWriteUInt128LittleEndian(destination, Number.UnpackDecimalIeee754<Decimal128, UInt128>(new
UInt128
(_upper, _lower)).Significand))
926
public static Decimal128 Acos(Decimal128 x) => new Decimal128(Number.AcosDecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower)));
929
public static Decimal128 AcosPi(Decimal128 x) => new Decimal128(Number.AcosPiDecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower)));
932
public static Decimal128 Acosh(Decimal128 x) => new Decimal128(Number.AcoshDecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower)));
935
public static Decimal128 Asin(Decimal128 x) => new Decimal128(Number.AsinDecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower)));
938
public static Decimal128 AsinPi(Decimal128 x) => new Decimal128(Number.AsinPiDecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower)));
941
public static Decimal128 Asinh(Decimal128 x) => new Decimal128(Number.AsinhDecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower)));
944
public static Decimal128 Atan(Decimal128 x) => new Decimal128(Number.AtanDecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower)));
947
public static Decimal128 Atan2(Decimal128 y, Decimal128 x) => new Decimal128(Number.Atan2DecimalIeee754<Decimal128, UInt128>(new
UInt128
(y._upper, y._lower), new
UInt128
(x._upper, x._lower)));
950
public static Decimal128 Atan2Pi(Decimal128 y, Decimal128 x) => new Decimal128(Number.Atan2PiDecimalIeee754<Decimal128, UInt128>(new
UInt128
(y._upper, y._lower), new
UInt128
(x._upper, x._lower)));
953
public static Decimal128 AtanPi(Decimal128 x) => new Decimal128(Number.AtanPiDecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower)));
956
public static Decimal128 Atanh(Decimal128 x) => new Decimal128(Number.AtanhDecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower)));
959
public static Decimal128 BitDecrement(Decimal128 x) => new Decimal128(Number.BitDecrementDecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower)));
962
public static Decimal128 BitIncrement(Decimal128 x) => new Decimal128(Number.BitIncrementDecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower)));
965
public static Decimal128 Cbrt(Decimal128 x) => new Decimal128(Number.CbrtDecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower)));
968
public static Decimal128 Cos(Decimal128 x) => new Decimal128(Number.CosDecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower)));
971
public static Decimal128 CosPi(Decimal128 x) => new Decimal128(Number.CosPiDecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower)));
974
public static Decimal128 Cosh(Decimal128 x) => new Decimal128(Number.CoshDecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower)));
977
public static Decimal128 DegreesToRadians(Decimal128 degrees) => new Decimal128(Number.MultiplyByWideConstantDecimalIeee754<Decimal128, UInt128>(new
UInt128
(degrees._upper, degrees._lower), DegreesToRadiansHead, DegreesToRadiansTail, DegreesToRadiansExponent));
980
public static Decimal128 Exp(Decimal128 x) => new Decimal128(Number.ExpDecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower)));
983
public static Decimal128 Exp10(Decimal128 x) => new Decimal128(Number.Exp10DecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower)));
986
public static Decimal128 Exp10M1(Decimal128 x) => new Decimal128(Number.Exp10M1DecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower)));
989
public static Decimal128 Exp2(Decimal128 x) => new Decimal128(Number.Exp2DecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower)));
992
public static Decimal128 Exp2M1(Decimal128 x) => new Decimal128(Number.Exp2M1DecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower)));
995
public static Decimal128 ExpM1(Decimal128 x) => new Decimal128(Number.ExpM1DecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower)));
998
public static Decimal128 FusedMultiplyAdd(Decimal128 left, Decimal128 right, Decimal128 addend) => new Decimal128(Number.FusedMultiplyAddDecimalIeee754<Decimal128, UInt128>(new
UInt128
(left._upper, left._lower), new
UInt128
(right._upper, right._lower), new
UInt128
(addend._upper, addend._lower)));
1001
public static Decimal128 Hypot(Decimal128 x, Decimal128 y) => new Decimal128(Number.HypotDecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower), new
UInt128
(y._upper, y._lower)));
1004
public static Decimal128 Ieee754Remainder(Decimal128 left, Decimal128 right) => new Decimal128(Number.Ieee754RemainderDecimalIeee754<Decimal128, UInt128>(new
UInt128
(left._upper, left._lower), new
UInt128
(right._upper, right._lower)));
1007
public static int ILogB(Decimal128 x) => Number.ILogBDecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower));
1013
public static Decimal128 Log(Decimal128 x) => new Decimal128(Number.LogDecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower)));
1016
public static Decimal128 Log(Decimal128 x, Decimal128 newBase) => new Decimal128(Number.LogDecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower), new
UInt128
(newBase._upper, newBase._lower)));
1019
public static Decimal128 Log10(Decimal128 x) => new Decimal128(Number.Log10DecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower)));
1022
public static Decimal128 Log10P1(Decimal128 x) => new Decimal128(Number.Log10P1DecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower)));
1025
public static Decimal128 Log2(Decimal128 x) => new Decimal128(Number.Log2DecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower)));
1028
public static Decimal128 Log2P1(Decimal128 x) => new Decimal128(Number.Log2P1DecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower)));
1031
public static Decimal128 LogP1(Decimal128 x) => new Decimal128(Number.LogP1DecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower)));
1034
public static Decimal128 Pow(Decimal128 x, Decimal128 y) => new Decimal128(Number.PowDecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower), new
UInt128
(y._upper, y._lower)));
1037
public static Decimal128 RadiansToDegrees(Decimal128 radians) => new Decimal128(Number.MultiplyByWideConstantDecimalIeee754<Decimal128, UInt128>(new
UInt128
(radians._upper, radians._lower), RadiansToDegreesHead, RadiansToDegreesTail, RadiansToDegreesExponent));
1046
public static Decimal128 RootN(Decimal128 x, int n) => new Decimal128(Number.RootNDecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower), n));
1049
public static Decimal128 ScaleB(Decimal128 x, int n) => new Decimal128(Number.ScaleBDecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower), n));
1052
public static Decimal128 Sin(Decimal128 x) => new Decimal128(Number.SinDecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower)));
1057
(UInt128 sin, UInt128 cos) = Number.SinCosDecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower));
1064
(UInt128 sin, UInt128 cos) = Number.SinCosPiDecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower));
1069
public static Decimal128 SinPi(Decimal128 x) => new Decimal128(Number.SinPiDecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower)));
1072
public static Decimal128 Sinh(Decimal128 x) => new Decimal128(Number.SinhDecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower)));
1075
public static Decimal128 Sqrt(Decimal128 x) => new Decimal128(Number.SqrtDecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower)));
1078
public static Decimal128 Tan(Decimal128 x) => new Decimal128(Number.TanDecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower)));
1081
public static Decimal128 TanPi(Decimal128 x) => new Decimal128(Number.TanPiDecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower)));
1084
public static Decimal128 Tanh(Decimal128 x) => new Decimal128(Number.TanhDecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower)));
1090
public static Decimal128 Quantize(Decimal128 x, Decimal128 y) => new Decimal128(Number.QuantizeDecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower), new
UInt128
(y._upper, y._lower)));
1095
public static Decimal128 GetQuantum(Decimal128 x) => new Decimal128(Number.QuantumDecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower)));
1101
public static bool HaveSameQuantum(Decimal128 x, Decimal128 y) => Number.SameQuantumDecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower), new
UInt128
(y._upper, y._lower));
1106
public static Decimal128 Abs(Decimal128 value) => new Decimal128(Number.AbsDecimalIeee754<Decimal128, UInt128>(new
UInt128
(value._upper, value._lower)));
1151
public static bool IsInteger(Decimal128 value) => Number.IsIntegerDecimalIeee754<Decimal128, UInt128>(new
UInt128
(value._upper, value._lower));
1156
public static bool IsEvenInteger(Decimal128 value) => Number.IsEvenIntegerDecimalIeee754<Decimal128, UInt128>(new
UInt128
(value._upper, value._lower));
1161
public static bool IsOddInteger(Decimal128 value) => Number.IsOddIntegerDecimalIeee754<Decimal128, UInt128>(new
UInt128
(value._upper, value._lower));
1166
public static bool IsNormal(Decimal128 value) => Number.IsNormalDecimalIeee754<Decimal128, UInt128>(new
UInt128
(value._upper, value._lower));
1171
public static bool IsSubnormal(Decimal128 value) => Number.IsSubnormalDecimalIeee754<Decimal128, UInt128>(new
UInt128
(value._upper, value._lower));
1177
public static Decimal128 MaxMagnitude(Decimal128 x, Decimal128 y) => new Decimal128(Number.MaxMagnitudeDecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower), new
UInt128
(y._upper, y._lower)));
1183
public static Decimal128 MaxMagnitudeNumber(Decimal128 x, Decimal128 y) => new Decimal128(Number.MaxMagnitudeNumberDecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower), new
UInt128
(y._upper, y._lower)));
1189
public static Decimal128 MinMagnitude(Decimal128 x, Decimal128 y) => new Decimal128(Number.MinMagnitudeDecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower), new
UInt128
(y._upper, y._lower)));
1195
public static Decimal128 MinMagnitudeNumber(Decimal128 x, Decimal128 y) => new Decimal128(Number.MinMagnitudeNumberDecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower), new
UInt128
(y._upper, y._lower)));
1238
public static Decimal128 CopySign(Decimal128 value, Decimal128 sign) => new Decimal128(Number.CopySignDecimalIeee754<Decimal128, UInt128>(new
UInt128
(value._upper, value._lower), new
UInt128
(sign._upper, sign._lower)));
1244
public static Decimal128 Max(Decimal128 x, Decimal128 y) => new Decimal128(Number.MaxDecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower), new
UInt128
(y._upper, y._lower)));
1250
public static Decimal128 MaxNative(Decimal128 x, Decimal128 y) => new Decimal128(Number.MaxNativeDecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower), new
UInt128
(y._upper, y._lower)));
1256
public static Decimal128 MaxNumber(Decimal128 x, Decimal128 y) => new Decimal128(Number.MaxNumberDecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower), new
UInt128
(y._upper, y._lower)));
1262
public static Decimal128 Min(Decimal128 x, Decimal128 y) => new Decimal128(Number.MinDecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower), new
UInt128
(y._upper, y._lower)));
1268
public static Decimal128 MinNative(Decimal128 x, Decimal128 y) => new Decimal128(Number.MinNativeDecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower), new
UInt128
(y._upper, y._lower)));
1274
public static Decimal128 MinNumber(Decimal128 x, Decimal128 y) => new Decimal128(Number.MinNumberDecimalIeee754<Decimal128, UInt128>(new
UInt128
(x._upper, x._lower), new
UInt128
(y._upper, y._lower)));
1280
public static int Sign(Decimal128 value) => Number.SignDecimalIeee754<Decimal128, UInt128>(new
UInt128
(value._upper, value._lower));
1286
static bool INumberBase<Decimal128>.IsCanonical(Decimal128 value) => Number.IsCanonicalDecimalIeee754<Decimal128, UInt128>(new
UInt128
(value._upper, value._lower), nanReservedMask: new
UInt128
(0x01FF_C000_0000_0000, 0x0000_0000_0000_0000), nanPayloadMask: NaNPayloadMask, maxNaNPayload: new
UInt128
(0x0000_314D_C644_8D93, 0x38C1_5B09_FFFF_FFFF));
1295
static bool INumberBase<Decimal128>.IsZero(Decimal128 value) => Number.IsZeroDecimalIeee754<Decimal128, UInt128>(new
UInt128
(value._upper, value._lower));
1730
new
UInt128
(0, 1),
1731
new
UInt128
(0, 10),
1732
new
UInt128
(0, 100),
1733
new
UInt128
(0, 1000),
1734
new
UInt128
(0, 10000),
1735
new
UInt128
(0, 100000),
1736
new
UInt128
(0, 1000000),
1737
new
UInt128
(0, 10000000),
1738
new
UInt128
(0, 100000000),
1739
new
UInt128
(0, 1000000000),
1740
new
UInt128
(0, 10000000000),
1741
new
UInt128
(0, 100000000000),
1742
new
UInt128
(0, 1000000000000),
1743
new
UInt128
(0, 10000000000000),
1744
new
UInt128
(0, 100000000000000),
1745
new
UInt128
(0, 1000000000000000),
1746
new
UInt128
(0, 10000000000000000),
1747
new
UInt128
(0, 100000000000000000),
1748
new
UInt128
(0, 1000000000000000000),
1749
new
UInt128
(0, 10000000000000000000),
1750
new
UInt128
(5, 7766279631452241920),
1751
new
UInt128
(54, 3875820019684212736),
1752
new
UInt128
(542, 1864712049423024128),
1753
new
UInt128
(5421, 200376420520689664),
1754
new
UInt128
(54210, 2003764205206896640),
1755
new
UInt128
(542101, 1590897978359414784),
1756
new
UInt128
(5421010, 15908979783594147840),
1757
new
UInt128
(54210108, 11515845246265065472),
1758
new
UInt128
(542101086, 4477988020393345024),
1759
new
UInt128
(5421010862, 7886392056514347008),
1760
new
UInt128
(54210108624, 5076944270305263616),
1761
new
UInt128
(542101086242, 13875954555633532928),
1762
new
UInt128
(5421010862427, 9632337040368467968),
1763
new
UInt128
(54210108624275, 4089650035136921600),
1764
new
UInt128
(542101086242752, 4003012203950112768),
1819
static UInt128 IDecimalIeee754ParseAndFormatInfo<Decimal128, UInt128>.MostSignificantBitOfSignificandMask => new
UInt128
(0x0002_0000_0000_0000, 0);
1821
static UInt128 IDecimalIeee754ParseAndFormatInfo<Decimal128, UInt128>.NaNMask => new
UInt128
(NaNMaskUpper, 0);
1823
static UInt128 IDecimalIeee754ParseAndFormatInfo<Decimal128, UInt128>.SNaNMask => new
UInt128
(SNaNMaskUpper, 0);
1827
static UInt128 IDecimalIeee754ParseAndFormatInfo<Decimal128, UInt128>.SignMask => new
UInt128
(SignMaskUpper, 0);
1829
static UInt128 IDecimalIeee754ParseAndFormatInfo<Decimal128, UInt128>.G0G1Mask => new
UInt128
(0x6000_0000_0000_0000, 0);
1835
static UInt128 IDecimalIeee754ParseAndFormatInfo<Decimal128, UInt128>.G0ToGwPlus1ExponentMask => new
UInt128
(0x7FFE_0000_0000_0000, 0);
1837
static UInt128 IDecimalIeee754ParseAndFormatInfo<Decimal128, UInt128>.G2ToGwPlus3ExponentMask => new
UInt128
(0x1FFF_8000_0000_0000, 0);
1839
static UInt128 IDecimalIeee754ParseAndFormatInfo<Decimal128, UInt128>.GwPlus2ToGwPlus4SignificandMask => new
UInt128
(0x0001_FFFF_FFFF_FFFF, 0xFFFF_FFFF_FFFF_FFFF);
1841
static UInt128 IDecimalIeee754ParseAndFormatInfo<Decimal128, UInt128>.GwPlus4SignificandMask => new
UInt128
(0x0000_7FFF_FFFF_FFFF, 0xFFFF_FFFF_FFFF_FFFF);
1843
static UInt128 IDecimalIeee754ParseAndFormatInfo<Decimal128, UInt128>.MaxSignificand => new
UInt128
(upper: 0x0001_ED09_BEAD_87C0, lower: 0x378D_8E63_FFFF_FFFF); // 9_999_999_999_999_999_999_999_999_999_999_999;
src\runtime\src\libraries\System.Private.CoreLib\src\System\Numerics\Decimal32.cs (1)
476
public static explicit operator Decimal32(Decimal128 value) => new Decimal32(Number.ConvertDecimalIeee754<Decimal128, UInt128, Decimal32, uint>(new
UInt128
(value._upper, value._lower)));
src\runtime\src\libraries\System.Private.CoreLib\src\System\Numerics\Decimal64.cs (1)
463
public static explicit operator Decimal64(Decimal128 value) => new Decimal64(Number.ConvertDecimalIeee754<Decimal128, UInt128, Decimal64, ulong>(new
UInt128
(value._upper, value._lower)));
src\runtime\src\libraries\System.Private.CoreLib\src\System\Numerics\TotalOrderIeee754Comparer.cs (2)
86
return CompareDecimal<Decimal128, UInt128>(new
UInt128
(xValue._upper, xValue._lower), new
UInt128
(yValue._upper, yValue._lower));
src\runtime\src\libraries\System.Private.CoreLib\src\System\UInt128.cs (92)
496
return new
UInt128
(value.High, value.Low64);
559
UInt128 result = new
UInt128
((bits << 12) >> 1 | 0x8000_0000_0000_0000, 0x0000_0000_0000_0000);
576
return new
UInt128
((ulong)(lower >> 63), (ulong)lower);
589
return new
UInt128
(0, (ushort)value);
598
return new
UInt128
((ulong)(lower >> 63), (ulong)lower);
611
return new
UInt128
(0, (uint)value);
620
return new
UInt128
((ulong)(lower >> 63), (ulong)lower);
633
return new
UInt128
(0, (ulong)value);
642
return new
UInt128
((ulong)(lower >> 63), (ulong)lower);
655
return new
UInt128
(0, (nuint)value);
665
return new
UInt128
((ulong)(lower >> 63), (ulong)lower);
679
return new
UInt128
(0, (byte)value);
700
public static implicit operator UInt128(byte value) => new
UInt128
(0, value);
705
public static implicit operator UInt128(char value) => new
UInt128
(0, value);
711
public static implicit operator UInt128(ushort value) => new
UInt128
(0, value);
717
public static implicit operator UInt128(uint value) => new
UInt128
(0, value);
723
public static implicit operator UInt128(ulong value) => new
UInt128
(0, value);
729
public static implicit operator UInt128(nuint value) => new
UInt128
(0, value);
745
return new
UInt128
(upper, lower);
758
return new
UInt128
(upper, lower);
836
UInt128 valMiLo = new
UInt128
(valMi, valLo);
846
UInt128 divisor = new
UInt128
(divHi, divLo);
847
UInt128 chkMiLo = new
UInt128
(chkMi, chkLo);
894
return (new
UInt128
(highRes, lowRes), remainder);
909
return (new
UInt128
(highRes, lowRes), remainder >> shift);
942
Debug.Assert(Math.BigMul(quo, divisor) + rem == (new
UInt128
(hi, lo)));
985
Debug.Assert(new
UInt128
(valHi, valMiLo) < new
UInt128
(chkHi, chkLo));
998
Debug.Assert(new
UInt128
(valHi, valMiLo) == new
UInt128
(chkHi, chkLo) + remainder);
1040
new
UInt128
(0, 1UL),
1041
new
UInt128
(0, 10UL),
1042
new
UInt128
(0, 100UL),
1043
new
UInt128
(0, 1_000UL),
1044
new
UInt128
(0, 10_000UL),
1045
new
UInt128
(0, 100_000UL),
1046
new
UInt128
(0, 1_000_000UL),
1047
new
UInt128
(0, 10_000_000UL),
1048
new
UInt128
(0, 100_000_000UL),
1049
new
UInt128
(0, 1_000_000_000UL),
1050
new
UInt128
(0, 10_000_000_000UL),
1051
new
UInt128
(0, 100_000_000_000UL),
1052
new
UInt128
(0, 1_000_000_000_000UL),
1053
new
UInt128
(0, 10_000_000_000_000UL),
1054
new
UInt128
(0, 100_000_000_000_000UL),
1055
new
UInt128
(0, 1_000_000_000_000_000UL),
1056
new
UInt128
(0, 10_000_000_000_000_000UL),
1057
new
UInt128
(0, 100_000_000_000_000_000UL),
1058
new
UInt128
(0, 1_000_000_000_000_000_000UL),
1059
new
UInt128
(0, 10_000_000_000_000_000_000UL),
1060
new
UInt128
(5, 7766279631452241920UL),
1061
new
UInt128
(54, 3875820019684212736UL),
1062
new
UInt128
(542, 1864712049423024128UL),
1063
new
UInt128
(5421, 200376420520689664UL),
1064
new
UInt128
(54210, 2003764205206896640UL),
1065
new
UInt128
(542101, 1590897978359414784UL),
1066
new
UInt128
(5421010, 15908979783594147840UL),
1067
new
UInt128
(54210108, 11515845246265065472UL),
1068
new
UInt128
(542101086, 4477988020393345024UL),
1069
new
UInt128
(5421010862, 7886392056514347008UL),
1070
new
UInt128
(54210108624, 5076944270305263616UL),
1071
new
UInt128
(542101086242, 13875954555633532928UL),
1072
new
UInt128
(5421010862427, 9632337040368467968UL),
1073
new
UInt128
(54210108624275, 4089650035136921600UL),
1074
new
UInt128
(542101086242752, 4003012203950112768UL),
1075
new
UInt128
(5421010862427522, 3136633892082024448UL),
1076
new
UInt128
(54210108624275221, 12919594847110692864UL),
1077
new
UInt128
(542101086242752217, 68739955140067328UL),
1078
new
UInt128
(5421010862427522170, 687399551400673280UL),
1242
static UInt128 IBinaryNumber<UInt128>.AllBitsSet => new
UInt128
(0xFFFF_FFFF_FFFF_FFFF, 0xFFFF_FFFF_FFFF_FFFF);
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);
1351
public static UInt128 MinValue => new
UInt128
(0, 0);
1354
public static UInt128 MaxValue => new
UInt128
(0xFFFF_FFFF_FFFF_FFFF, 0xFFFF_FFFF_FFFF_FFFF);
1380
return new
UInt128
(upper, lower);
1419
lower = new
UInt128
(tl._lower, mull._lower);
1470
public static UInt128 One => new
UInt128
(0, 1);
1903
short actualResult = (value >= new
UInt128
(0x0000_0000_0000_0000, 0x0000_0000_0000_7FFF)) ? short.MaxValue : (short)value;
1909
int actualResult = (value >= new
UInt128
(0x0000_0000_0000_0000, 0x0000_0000_7FFF_FFFF)) ? int.MaxValue : (int)value;
1915
long actualResult = (value >= new
UInt128
(0x0000_0000_0000_0000, 0x7FFF_FFFF_FFFF_FFFF)) ? long.MaxValue : (long)value;
1921
Int128 actualResult = (value >= new
UInt128
(0x7FFF_FFFF_FFFF_FFFF, 0xFFFF_FFFF_FFFF_FFFF)) ? Int128.MaxValue : (Int128)value;
1932
nint actualResult = (value >= new
UInt128
(0x0000_0000_0000_0000, 0x7FFF_FFFF_FFFF_FFFF)) ? nint.MaxValue : (nint)value;
1939
sbyte actualResult = (value >= new
UInt128
(0x0000_0000_0000_0000, 0x0000_0000_0000_007F)) ? sbyte.MaxValue : (sbyte)value;
2077
return new
UInt128
(upper, 0);
2087
return new
UInt128
(upper, lower);
2113
return new
UInt128
(0, lower);
2123
return new
UInt128
(upper, lower);
2155
return new
UInt128
(upper, lower);
2168
return new
UInt128
(upper, lower);
2222
static UInt128 IBinaryIntegerParseAndFormatInfo<UInt128>.MaxValueDiv10 => new
UInt128
(0x1999_9999_9999_9999, 0x9999_9999_9999_9999);
System.Runtime.Numerics (8)
System\Numerics\BigInteger.cs (8)
2852
uu = len > 1 ? new
UInt128
(value._bits[1], value._bits[0]) : (UInt128)(ulong)value._bits[0];
2856
uu = new
UInt128
(
2979
? new
UInt128
(value._bits[1], value._bits[0])
2984
return new
UInt128
(
3102
else if (x <= new
UInt128
(0x0000_0000_FFFF_FFFF, 0xFFFF_FFFF_FFFF_FFFF))
3173
else if (value <= new
UInt128
(0x0000_0000_FFFF_FFFF, 0xFFFF_FFFF_FFFF_FFFF))
5749
UInt128 bits =
new
(upperBits, lowerBits);
5943
UInt128 bits =
new
(upperBits, lowerBits);