44 instantiations of Int128
System.Private.CoreLib (40)
src\runtime\src\libraries\System.Private.CoreLib\src\System\Buffers\Binary\BinaryPrimitives.ReverseEndianness.cs (1)
77return new Int128(
src\runtime\src\libraries\System.Private.CoreLib\src\System\Int128.cs (36)
474Int128 result = new Int128(value.High, value.Low64); 551Int128 result = new Int128((bits << 12) >> 1 | 0x8000_0000_0000_0000, 0x0000_0000_0000_0000); 585public static implicit operator Int128(byte value) => new Int128(0, value); 590public static implicit operator Int128(char value) => new Int128(0, value); 598return new Int128((ulong)(lower >> 63), (ulong)lower); 607return new Int128((ulong)(lower >> 63), (ulong)lower); 616return new Int128((ulong)(lower >> 63), (ulong)lower); 625return new Int128((ulong)(lower >> 63), (ulong)lower); 635return new Int128((ulong)(lower >> 63), (ulong)lower); 642public static implicit operator Int128(ushort value) => new Int128(0, value); 648public static implicit operator Int128(uint value) => new Int128(0, value); 654public static implicit operator Int128(ulong value) => new Int128(0, value); 660public static implicit operator Int128(nuint value) => new Int128(0, value); 676return new Int128(upper, lower); 961static Int128 IBinaryNumber<Int128>.AllBitsSet => new Int128(0xFFFF_FFFF_FFFF_FFFF, 0xFFFF_FFFF_FFFF_FFFF); 986public static Int128 operator &(Int128 left, Int128 right) => new Int128(left._upper & right._upper, left._lower & right._lower); 989public static Int128 operator |(Int128 left, Int128 right) => new Int128(left._upper | right._upper, left._lower | right._lower); 992public static Int128 operator ^(Int128 left, Int128 right) => new Int128(left._upper ^ right._upper, left._lower ^ right._lower); 995public static Int128 operator ~(Int128 value) => new Int128(~value._upper, ~value._lower); 1083return new Int128( 1117public static Int128 MinValue => new Int128(0x8000_0000_0000_0000, 0); 1120public static Int128 MaxValue => new Int128(0x7FFF_FFFF_FFFF_FFFF, 0xFFFF_FFFF_FFFF_FFFF); 1270public static Int128 One => new Int128(0, 1); 1803decimal actualResult = (value >= new Int128(0x0000_0000_FFFF_FFFF, 0xFFFF_FFFF_FFFF_FFFF)) ? decimal.MaxValue : 1804(value <= new Int128(0xFFFF_FFFF_0000_0000, 0x0000_0000_0000_0001)) ? decimal.MinValue : (decimal)value; 1876decimal actualResult = (value >= new Int128(0x0000_0000_FFFF_FFFF, 0xFFFF_FFFF_FFFF_FFFF)) ? decimal.MaxValue : 1877(value <= new Int128(0xFFFF_FFFF_0000_0000, 0x0000_0000_0000_0001)) ? decimal.MinValue : (decimal)value; 1944return new Int128(upper, 0); 1954return new Int128(upper, lower); 1979return new Int128(upper, lower); 1989return new Int128(upper, lower); 2012return new Int128(0, lower); 2022return new Int128(upper, lower); 2035public static Int128 NegativeOne => new Int128(0xFFFF_FFFF_FFFF_FFFF, 0xFFFF_FFFF_FFFF_FFFF); 2061return new Int128(upper, lower); 2132static Int128 IBinaryIntegerParseAndFormatInfo<Int128>.MaxValueDiv10 => new Int128(0x0CCC_CCCC_CCCC_CCCC, 0xCCCC_CCCC_CCCC_CCCC);
src\runtime\src\libraries\System.Private.CoreLib\src\System\Math.cs (1)
298return new Int128((ulong)high, (ulong)low);
src\runtime\src\libraries\System.Private.CoreLib\src\System\UInt128.cs (2)
348public static explicit operator Int128(UInt128 value) => new Int128(value._upper, value._lower); 361return new Int128(value._upper, value._lower);
System.Runtime.Numerics (4)
System\Numerics\BigInteger.cs (4)
4609decimal actualResult = (value >= new Int128(0x0000_0000_FFFF_FFFF, 0xFFFF_FFFF_FFFF_FFFF)) ? decimal.MaxValue : 4610(value <= new Int128(0xFFFF_FFFF_0000_0000, 0x0000_0000_0000_0001)) ? decimal.MinValue : (decimal)value; 4820decimal actualResult = (value >= new Int128(0x0000_0000_FFFF_FFFF, 0xFFFF_FFFF_FFFF_FFFF)) ? decimal.MaxValue : 4821(value <= new Int128(0xFFFF_FFFF_0000_0000, 0x0000_0000_0000_0001)) ? decimal.MinValue : (decimal)value;
715 references to Int128
Microsoft.AspNetCore.Components.Endpoints (6)
FormMapping\WellKnownConverters.cs (6)
31{ typeof(Int128), new ParsableConverter<Int128>() }, 63converters.Add(typeof(Int128?), new NullableConverter<Int128>((FormDataConverter<Int128>)converters[typeof(Int128)]));
Microsoft.AspNetCore.Http.Extensions (6)
src\aspnetcore\src\Components\Endpoints\src\FormMapping\WellKnownConverters.cs (6)
31{ typeof(Int128), new ParsableConverter<Int128>() }, 63converters.Add(typeof(Int128?), new NullableConverter<Int128>((FormDataConverter<Int128>)converters[typeof(Int128)]));
Microsoft.Extensions.AI.Abstractions.Tests (2)
test\Shared\JsonSchemaExporter\TestTypes.cs (2)
65yield return new TestData<Int128>(42, """{"type":"integer"}"""); 1225[JsonSerializable(typeof(Int128))]
Shared.Tests (2)
JsonSchemaExporter\TestTypes.cs (2)
65yield return new TestData<Int128>(42, """{"type":"integer"}"""); 1225[JsonSerializable(typeof(Int128))]
System.Collections.Immutable (1)
System\Collections\Frozen\Constants.cs (1)
70typeof(T) == typeof(Int128) ||
System.ComponentModel.TypeConverter (5)
System\ComponentModel\Int128Converter.cs (4)
18internal override Type TargetType => typeof(Int128); 28return Int128.Parse(value, NumberStyles.HexNumber); 35Int128.Parse(value, formatInfo); 41((Int128)value).ToString(formatInfo);
System\ComponentModel\ReflectTypeDescriptionProvider.cs (1)
160[typeof(Int128)] = new IntrinsicTypeConverterData((type) => new Int128Converter()),
System.Linq (11)
System\Linq\Max.cs (4)
334if (typeof(TSource) == typeof(Int128) && comparer == Comparer<TSource>.Default) return (TSource)(object)MinMaxInteger<Int128, MaxCalc<Int128>>((IEnumerable<Int128>)source);
System\Linq\Min.cs (4)
313if (typeof(TSource) == typeof(Int128) && comparer == Comparer<TSource>.Default) return (TSource)(object)MinMaxInteger<Int128, MinCalc<Int128>>((IEnumerable<Int128>)source);
System\Linq\OrderBy.cs (1)
161t == typeof(Int128) || t == typeof(UInt128) ||
System\Linq\Sequence.cs (2)
92if (typeof(T) == typeof(long) && (range = TryUseRange<Int128>(start, endInclusive, step, long.MaxValue)) is not null) return range; 94if (typeof(T) == typeof(nint) && (range = TryUseRange<Int128>(start, endInclusive, step, nint.MaxValue)) is not null) return range;
System.Numerics.Tensors (1)
System\Numerics\Tensors\TensorPrimitives.Helpers.cs (1)
77typeof(T) == typeof(Int128) || typeof(T) == typeof(UInt128) ||
System.Private.CoreLib (598)
src\runtime\src\libraries\System.Private.CoreLib\src\System\BitConverter.cs (10)
168public static byte[] GetBytes(Int128 value) 170byte[] bytes = new byte[Int128.Size]; 182public static bool TryWriteBytes(Span<byte> destination, Int128 value) 184if (destination.Length < Int128.Size) 571public static Int128 ToInt128(byte[] value, int startIndex) 577if (startIndex > value.Length - Int128.Size) 580return Unsafe.ReadUnaligned<Int128>(ref value[startIndex]); 590public static Int128 ToInt128(ReadOnlySpan<byte> value) 592if (value.Length < Int128.Size) 594return Unsafe.ReadUnaligned<Int128>(ref MemoryMarshal.GetReference(value));
src\runtime\src\libraries\System.Private.CoreLib\src\System\Buffers\Binary\BinaryPrimitives.ReadBigEndian.cs (9)
115/// Reads a <see cref="Int128" /> from the beginning of a read-only span of bytes, as big endian. 121/// <paramref name="source"/> is too small to contain a <see cref="Int128" />. 124public static Int128 ReadInt128BigEndian(ReadOnlySpan<byte> source) 127ReverseEndianness(MemoryMarshal.Read<Int128>(source)) : 128MemoryMarshal.Read<Int128>(source); 388/// Reads a <see cref="Int128" /> from the beginning of a read-only span of bytes, as big endian. 393/// <see langword="true" /> if the span is large enough to contain a <see cref="Int128" />; otherwise, <see langword="false" />. 397public static bool TryReadInt128BigEndian(ReadOnlySpan<byte> source, out Int128 value) 401bool success = MemoryMarshal.TryRead(source, out Int128 tmp);
src\runtime\src\libraries\System.Private.CoreLib\src\System\Buffers\Binary\BinaryPrimitives.ReadLittleEndian.cs (9)
115/// Reads a <see cref="Int128" /> from the beginning of a read-only span of bytes, as little endian. 121/// <paramref name="source"/> is too small to contain a <see cref="Int128" />. 124public static Int128 ReadInt128LittleEndian(ReadOnlySpan<byte> source) 127ReverseEndianness(MemoryMarshal.Read<Int128>(source)) : 128MemoryMarshal.Read<Int128>(source); 388/// Reads a <see cref="Int128" /> from the beginning of a read-only span of bytes, as little endian. 393/// <see langword="true" /> if the span is large enough to contain a <see cref="Int128" />; otherwise, <see langword="false" />. 397public static bool TryReadInt128LittleEndian(ReadOnlySpan<byte> source, out Int128 value) 404bool success = MemoryMarshal.TryRead(source, out Int128 tmp);
src\runtime\src\libraries\System.Private.CoreLib\src\System\Buffers\Binary\BinaryPrimitives.ReverseEndianness.cs (7)
70/// Reverses a primitive value by performing an endianness swap of the specified <see cref="Int128" /> value. 75public static Int128 ReverseEndianness(Int128 value) 376ReverseEndianness(MemoryMarshal.Cast<UInt128, Int128>(source), MemoryMarshal.Cast<UInt128, Int128>(destination)); 379public static void ReverseEndianness(ReadOnlySpan<Int128> source, Span<Int128> destination)
src\runtime\src\libraries\System.Private.CoreLib\src\System\Buffers\Binary\BinaryPrimitives.WriteBigEndian.cs (8)
151/// Writes a <see cref="Int128" /> into a span of bytes, as big endian. 157/// <paramref name="destination" /> is too small to contain a <see cref="Int128" />. 160public static void WriteInt128BigEndian(Span<byte> destination, Int128 value) 164Int128 tmp = ReverseEndianness(value); 466/// Writes a <see cref="Int128" /> into a span of bytes, as big endian. 471/// <see langword="true" /> if the span is large enough to contain a <see cref="Int128" />; otherwise, <see langword="false" />. 475public static bool TryWriteInt128BigEndian(Span<byte> destination, Int128 value) 479Int128 tmp = ReverseEndianness(value);
src\runtime\src\libraries\System.Private.CoreLib\src\System\Buffers\Binary\BinaryPrimitives.WriteLittleEndian.cs (8)
151/// Writes a <see cref="Int128" /> into a span of bytes, as little endian. 157/// <paramref name="destination" /> is too small to contain a <see cref="Int128" />. 160public static void WriteInt128LittleEndian(Span<byte> destination, Int128 value) 164Int128 tmp = ReverseEndianness(value); 466/// Writes a <see cref="Int128" /> into a span of bytes, as little endian. 471/// <see langword="true" /> if the span is large enough to contain a <see cref="Int128" />; otherwise, <see langword="false" />. 475public static bool TryWriteInt128LittleEndian(Span<byte> destination, Int128 value) 479Int128 tmp = ReverseEndianness(value);
src\runtime\src\libraries\System.Private.CoreLib\src\System\Byte.cs (6)
928else if (typeof(TOther) == typeof(Int128)) 930Int128 actualResult = value; 1002else if (typeof(TOther) == typeof(Int128)) 1004Int128 actualResult = value; 1076else if (typeof(TOther) == typeof(Int128)) 1078Int128 actualResult = value;
src\runtime\src\libraries\System.Private.CoreLib\src\System\Char.cs (6)
1779else if (typeof(TOther) == typeof(Int128)) 1781Int128 actualResult = value; 1853else if (typeof(TOther) == typeof(Int128)) 1855Int128 actualResult = value; 1927else if (typeof(TOther) == typeof(Int128)) 1929Int128 actualResult = value;
src\runtime\src\libraries\System.Private.CoreLib\src\System\Decimal.cs (6)
1660else if (typeof(TOther) == typeof(Int128)) 1662Int128 actualResult = checked((Int128)value); 1751else if (typeof(TOther) == typeof(Int128)) 1753Int128 actualResult = (Int128)value;
src\runtime\src\libraries\System.Private.CoreLib\src\System\Double.cs (3)
1288else if (typeof(TOther) == typeof(Int128)) 1290Int128 actualValue = (Int128)(object)value;
src\runtime\src\libraries\System.Private.CoreLib\src\System\Half.cs (10)
873/// <summary>Explicitly converts a half-precision floating-point value to its nearest representable <see cref="Int128"/>.</summary> 876public static explicit operator Int128(Half value) => (Int128)(double)(value); 878/// <summary>Explicitly converts a half-precision floating-point value to its nearest representable <see cref="Int128"/>, throwing an overflow exception for any values that fall outside the representable range.</summary> 881/// <exception cref="OverflowException"><paramref name="value" /> is not representable by <see cref="Int128" />.</exception> 882public static explicit operator checked Int128(Half value) => checked((Int128)(double)(value)); 1967else if (typeof(TOther) == typeof(Int128)) 1969Int128 actualValue = (Int128)(object)value;
src\runtime\src\libraries\System.Private.CoreLib\src\System\Int128.cs (349)
18: IBinaryInteger<Int128>, 19IMinMaxValue<Int128>, 20ISignedNumber<Int128>, 22IBinaryIntegerParseAndFormatInfo<Int128> 34/// <summary>Initializes a new instance of the <see cref="Int128" /> struct.</summary> 51if (value is Int128 other) 66public int CompareTo(Int128 value) 85return (obj is Int128 other) && Equals(other); 89public bool Equals(Int128 other) 129public static Int128 Parse(string s) => Parse(s, NumberStyles.Integer, provider: null); 131public static Int128 Parse(string s, NumberStyles style) => Parse(s, style, provider: null); 133public static Int128 Parse(string s, IFormatProvider? provider) => Parse(s, NumberStyles.Integer, provider); 135public static Int128 Parse(string s, NumberStyles style, IFormatProvider? provider) 141public static Int128 Parse(ReadOnlySpan<char> s, NumberStyles style = NumberStyles.Integer, IFormatProvider? provider = null) 144return Number.ParseBinaryInteger<char, Int128>(s, style, NumberFormatInfo.GetInstance(provider)); 147public static bool TryParse([NotNullWhen(true)] string? s, out Int128 result) => TryParse(s, NumberStyles.Integer, provider: null, out result); 149public static bool TryParse(ReadOnlySpan<char> s, out Int128 result) => TryParse(s, NumberStyles.Integer, provider: null, out result); 155public static bool TryParse(ReadOnlySpan<byte> utf8Text, out Int128 result) => TryParse(utf8Text, NumberStyles.Integer, provider: null, out result); 157public static bool TryParse([NotNullWhen(true)] string? s, NumberStyles style, IFormatProvider? provider, out Int128 result) 169public static bool TryParse(ReadOnlySpan<char> s, NumberStyles style, IFormatProvider? provider, out Int128 result) 182public static explicit operator byte(Int128 value) => (byte)value._lower; 187/// <exception cref="OverflowException"><paramref name="value" /> is not representable by <see cref="Int128" />.</exception> 188public static explicit operator checked byte(Int128 value) 200public static explicit operator char(Int128 value) => (char)value._lower; 205/// <exception cref="OverflowException"><paramref name="value" /> is not representable by <see cref="Int128" />.</exception> 206public static explicit operator checked char(Int128 value) 218public static explicit operator decimal(Int128 value) 231public static explicit operator double(Int128 value) 244public static explicit operator Half(Int128 value) 257public static explicit operator short(Int128 value) => (short)value._lower; 262/// <exception cref="OverflowException"><paramref name="value" /> is not representable by <see cref="Int128" />.</exception> 263public static explicit operator checked short(Int128 value) 276public static explicit operator int(Int128 value) => (int)value._lower; 281/// <exception cref="OverflowException"><paramref name="value" /> is not representable by <see cref="Int128" />.</exception> 282public static explicit operator checked int(Int128 value) 295public static explicit operator long(Int128 value) => (long)value._lower; 300/// <exception cref="OverflowException"><paramref name="value" /> is not representable by <see cref="Int128" />.</exception> 301public static explicit operator checked long(Int128 value) 314public static explicit operator nint(Int128 value) => (nint)value._lower; 319/// <exception cref="OverflowException"><paramref name="value" /> is not representable by <see cref="Int128" />.</exception> 320public static explicit operator checked nint(Int128 value) 334public static explicit operator sbyte(Int128 value) => (sbyte)value._lower; 339/// <exception cref="OverflowException"><paramref name="value" /> is not representable by <see cref="Int128" />.</exception> 341public static explicit operator checked sbyte(Int128 value) 354public static explicit operator float(Int128 value) 368public static explicit operator ushort(Int128 value) => (ushort)value._lower; 373/// <exception cref="OverflowException"><paramref name="value" /> is not representable by <see cref="Int128" />.</exception> 375public static explicit operator checked ushort(Int128 value) 388public static explicit operator uint(Int128 value) => (uint)value._lower; 393/// <exception cref="OverflowException"><paramref name="value" /> is not representable by <see cref="Int128" />.</exception> 395public static explicit operator checked uint(Int128 value) 408public static explicit operator ulong(Int128 value) => value._lower; 413/// <exception cref="OverflowException"><paramref name="value" /> is not representable by <see cref="Int128" />.</exception> 415public static explicit operator checked ulong(Int128 value) 428public static explicit operator UInt128(Int128 value) => new UInt128(value._upper, value._lower); 433/// <exception cref="OverflowException"><paramref name="value" /> is not representable by <see cref="Int128" />.</exception> 435public static explicit operator checked UInt128(Int128 value) 448public static explicit operator nuint(Int128 value) => (nuint)value._lower; 453/// <exception cref="OverflowException"><paramref name="value" /> is not representable by <see cref="Int128" />.</exception> 455public static explicit operator checked nuint(Int128 value) 471public static explicit operator Int128(decimal value) 474Int128 result = new Int128(value.High, value.Low64); 486public static explicit operator Int128(double value) 509/// <exception cref="OverflowException"><paramref name="value" /> is not representable by <see cref="Int128" />.</exception> 510public static explicit operator checked Int128(double value) 522internal static Int128 ToInt128(double value) 551Int128 result = new Int128((bits << 12) >> 1 | 0x8000_0000_0000_0000, 0x0000_0000_0000_0000); 570public static explicit operator Int128(float value) => (Int128)(double)(value); 575/// <exception cref="OverflowException"><paramref name="value" /> is not representable by <see cref="Int128" />.</exception> 576public static explicit operator checked Int128(float value) => checked((Int128)(double)(value)); 585public static implicit operator Int128(byte value) => new Int128(0, value); 590public static implicit operator Int128(char value) => new Int128(0, value); 595public static implicit operator Int128(short value) 604public static implicit operator Int128(int value) 613public static implicit operator Int128(long value) 622public static implicit operator Int128(nint value) 632public static implicit operator Int128(sbyte value) 642public static implicit operator Int128(ushort value) => new Int128(0, value); 648public static implicit operator Int128(uint value) => new Int128(0, value); 654public static implicit operator Int128(ulong value) => new Int128(0, value); 660public static implicit operator Int128(nuint value) => new Int128(0, value); 667public static Int128 operator +(Int128 left, Int128 right) 680public static Int128 operator checked +(Int128 left, Int128 right) 687Int128 result = left + right; 701static Int128 IAdditiveIdentity<Int128, Int128>.AdditiveIdentity => default; 708public static (Int128 Quotient, Int128 Remainder) DivRem(Int128 left, Int128 right) 710Int128 quotient = left / right; 715public static Int128 LeadingZeroCount(Int128 value) 720private static int LeadingZeroCountAsInt32(Int128 value) 730public static Int128 Log10(Int128 value) 736return (Int128)UInt128.Log10((UInt128)value); 740public static Int128 PopCount(Int128 value) 744public static Int128 RotateLeft(Int128 value, int rotateAmount) 748public static Int128 RotateRight(Int128 value, int rotateAmount) 752public static Int128 TrailingZeroCount(Int128 value) 762static bool IBinaryInteger<Int128>.TryReadBigEndian(ReadOnlySpan<byte> source, bool isUnsigned, out Int128 value) 764Int128 result = default; 835static bool IBinaryInteger<Int128>.TryReadLittleEndian(ReadOnlySpan<byte> source, bool isUnsigned, out Int128 value) 837Int128 result = default; 913int IBinaryInteger<Int128>.GetShortestBitLength() 915Int128 value = this; 928int IBinaryInteger<Int128>.GetByteCount() => Size; 931bool IBinaryInteger<Int128>.TryWriteBigEndian(Span<byte> destination, out int bytesWritten) 944bool IBinaryInteger<Int128>.TryWriteLittleEndian(Span<byte> destination, out int bytesWritten) 961static Int128 IBinaryNumber<Int128>.AllBitsSet => new Int128(0xFFFF_FFFF_FFFF_FFFF, 0xFFFF_FFFF_FFFF_FFFF); 964public static bool IsPow2(Int128 value) => (PopCount(value) == 1U) && IsPositive(value); 967public static Int128 Log2(Int128 value) 986public static Int128 operator &(Int128 left, Int128 right) => new Int128(left._upper & right._upper, left._lower & right._lower); 989public static Int128 operator |(Int128 left, Int128 right) => new Int128(left._upper | right._upper, left._lower | right._lower); 992public static Int128 operator ^(Int128 left, Int128 right) => new Int128(left._upper ^ right._upper, left._lower ^ right._lower); 995public static Int128 operator ~(Int128 value) => new Int128(~value._upper, ~value._lower); 1002public static bool operator <(Int128 left, Int128 right) 1016public static bool operator <=(Int128 left, Int128 right) 1024public static bool operator >(Int128 left, Int128 right) 1032public static bool operator >=(Int128 left, Int128 right) 1044public static Int128 operator --(Int128 value) => value - One; 1047public static Int128 operator checked --(Int128 value) => checked(value - One); 1054public static Int128 operator /(Int128 left, Int128 right) 1090public static Int128 operator checked /(Int128 left, Int128 right) => left / right; 1097public static bool operator ==(Int128 left, Int128 right) => (left._lower == right._lower) && (left._upper == right._upper); 1100public static bool operator !=(Int128 left, Int128 right) => (left._lower != right._lower) || (left._upper != right._upper); 1107public static Int128 operator ++(Int128 value) => value + One; 1110public static Int128 operator checked ++(Int128 value) => checked(value + One); 1117public static Int128 MinValue => new Int128(0x8000_0000_0000_0000, 0); 1120public static Int128 MaxValue => new Int128(0x7FFF_FFFF_FFFF_FFFF, 0xFFFF_FFFF_FFFF_FFFF); 1127public static Int128 operator %(Int128 left, Int128 right) 1129Int128 quotient = left / right; 1138static Int128 IMultiplicativeIdentity<Int128, Int128>.MultiplicativeIdentity => One; 1145public static Int128 operator *(Int128 left, Int128 right) 1148return (Int128)((UInt128)(left) * (UInt128)(right)); 1152public static Int128 operator checked *(Int128 left, Int128 right) 1154Int128 upper = BigMul(left, right, out Int128 lower); 1182public static Int128 BigMul(Int128 left, Int128 right, out Int128 lower) 1187lower = (Int128)(ulower); 1188return (Int128)(upper) - ((left >> 127) & right) - ((right >> 127) & left); 1196public static Int128 Clamp(Int128 value, Int128 min, Int128 max) 1216public static Int128 CopySign(Int128 value, Int128 sign) 1218Int128 absValue = value; 1237public static Int128 Max(Int128 x, Int128 y) => (x >= y) ? x : y; 1240static Int128 INumber<Int128>.MaxNumber(Int128 x, Int128 y) => Max(x, y); 1243public static Int128 Min(Int128 x, Int128 y) => (x <= y) ? x : y; 1246static Int128 INumber<Int128>.MinNumber(Int128 x, Int128 y) => Min(x, y); 1249public static int Sign(Int128 value) 1270public static Int128 One => new Int128(0, 1); 1273static int INumberBase<Int128>.Radix => 2; 1276public static Int128 Zero => default; 1279public static Int128 Abs(Int128 value) 1295public static Int128 CreateChecked<TOther>(TOther value) 1298Int128 result; 1300if (typeof(TOther) == typeof(Int128)) 1302result = (Int128)(object)value; 1314public static Int128 CreateSaturating<TOther>(TOther value) 1317Int128 result; 1319if (typeof(TOther) == typeof(Int128)) 1321result = (Int128)(object)value; 1333public static Int128 CreateTruncating<TOther>(TOther value) 1336Int128 result; 1338if (typeof(TOther) == typeof(Int128)) 1340result = (Int128)(object)value; 1351static bool INumberBase<Int128>.IsCanonical(Int128 value) => true; 1354static bool INumberBase<Int128>.IsComplexNumber(Int128 value) => false; 1357public static bool IsEvenInteger(Int128 value) => (value._lower & 1) == 0; 1360static bool INumberBase<Int128>.IsFinite(Int128 value) => true; 1363static bool INumberBase<Int128>.IsImaginaryNumber(Int128 value) => false; 1366static bool INumberBase<Int128>.IsInfinity(Int128 value) => false; 1369static bool INumberBase<Int128>.IsInteger(Int128 value) => true; 1372static bool INumberBase<Int128>.IsNaN(Int128 value) => false; 1375public static bool IsNegative(Int128 value) => (long)value._upper < 0; 1378static bool INumberBase<Int128>.IsNegativeInfinity(Int128 value) => false; 1381static bool INumberBase<Int128>.IsNormal(Int128 value) => value != 0; 1384public static bool IsOddInteger(Int128 value) => (value._lower & 1) != 0; 1387public static bool IsPositive(Int128 value) => (long)value._upper >= 0; 1390static bool INumberBase<Int128>.IsPositiveInfinity(Int128 value) => false; 1393static bool INumberBase<Int128>.IsRealNumber(Int128 value) => true; 1396static bool INumberBase<Int128>.IsSubnormal(Int128 value) => false; 1399static bool INumberBase<Int128>.IsZero(Int128 value) => (value == 0); 1402public static Int128 MaxMagnitude(Int128 x, Int128 y) 1404Int128 absX = x; 1416Int128 absY = y; 1442static Int128 INumberBase<Int128>.MaxMagnitudeNumber(Int128 x, Int128 y) => MaxMagnitude(x, y); 1445public static Int128 MinMagnitude(Int128 x, Int128 y) 1447Int128 absX = x; 1459Int128 absY = y; 1485static Int128 INumberBase<Int128>.MinMagnitudeNumber(Int128 x, Int128 y) => MinMagnitude(x, y); 1488static Int128 INumberBase<Int128>.MultiplyAddEstimate(Int128 left, Int128 right, Int128 addend) => (left * right) + addend; 1492static bool INumberBase<Int128>.TryConvertFromChecked<TOther>(TOther value, out Int128 result) => TryConvertFromChecked(value, out result); 1495private static bool TryConvertFromChecked<TOther>(TOther value, out Int128 result) 1510result = checked((Int128)actualValue); 1516result = checked((Int128)actualValue); 1552result = checked((Int128)actualValue); 1564static bool INumberBase<Int128>.TryConvertFromSaturating<TOther>(TOther value, out Int128 result) => TryConvertFromSaturating(value, out result); 1567private static bool TryConvertFromSaturating<TOther>(TOther value, out Int128 result) 1582result = (Int128)actualValue; 1588result = (Int128)actualValue; 1624result = (Int128)actualValue; 1636static bool INumberBase<Int128>.TryConvertFromTruncating<TOther>(TOther value, out Int128 result) => TryConvertFromTruncating(value, out result); 1639private static bool TryConvertFromTruncating<TOther>(TOther value, out Int128 result) 1654result = (Int128)actualValue; 1660result = (Int128)actualValue; 1696result = (Int128)actualValue; 1708static bool INumberBase<Int128>.TryConvertToChecked<TOther>(Int128 value, [MaybeNullWhen(false)] out TOther result) 1776static bool INumberBase<Int128>.TryConvertToSaturating<TOther>(Int128 value, [MaybeNullWhen(false)] out TOther result) 1851static bool INumberBase<Int128>.TryConvertToTruncating<TOther>(Int128 value, [MaybeNullWhen(false)] out TOther result) 1923public static bool TryParse([NotNullWhen(true)] string? s, IFormatProvider? provider, out Int128 result) => TryParse(s, NumberStyles.Integer, provider, out result); 1930public static Int128 operator <<(Int128 value, int shiftAmount) 1963public static Int128 operator >>(Int128 value, int shiftAmount) 1998public static Int128 operator >>>(Int128 value, int shiftAmount) 2035public static Int128 NegativeOne => new Int128(0xFFFF_FFFF_FFFF_FFFF, 0xFFFF_FFFF_FFFF_FFFF); 2042public static Int128 Parse(ReadOnlySpan<char> s, IFormatProvider? provider) => Parse(s, NumberStyles.Integer, provider); 2045public static bool TryParse(ReadOnlySpan<char> s, IFormatProvider? provider, out Int128 result) => TryParse(s, NumberStyles.Integer, provider, out result); 2052public static Int128 operator -(Int128 left, Int128 right) 2065public static Int128 operator checked -(Int128 left, Int128 right) 2072Int128 result = left - right; 2086public static Int128 operator -(Int128 value) => Zero - value; 2089public static Int128 operator checked -(Int128 value) => checked(Zero - value); 2096public static Int128 operator +(Int128 value) => value; 2103public static Int128 Parse(ReadOnlySpan<byte> utf8Text, NumberStyles style = NumberStyles.Integer, IFormatProvider? provider = null) 2106return Number.ParseBinaryInteger<byte, Int128>(utf8Text, style, NumberFormatInfo.GetInstance(provider)); 2110public static bool TryParse(ReadOnlySpan<byte> utf8Text, NumberStyles style, IFormatProvider? provider, out Int128 result) 2117public static Int128 Parse(ReadOnlySpan<byte> utf8Text, IFormatProvider? provider) => Parse(utf8Text, NumberStyles.Integer, provider); 2120public static bool TryParse(ReadOnlySpan<byte> utf8Text, IFormatProvider? provider, out Int128 result) => TryParse(utf8Text, NumberStyles.Integer, provider, out result); 2126static bool IBinaryIntegerParseAndFormatInfo<Int128>.IsSigned => true; 2128static int IBinaryIntegerParseAndFormatInfo<Int128>.MaxDigitCount => 39; // 170_141_183_460_469_231_731_687_303_715_884_105_727 2130static int IBinaryIntegerParseAndFormatInfo<Int128>.MaxHexDigitCount => 32; // 0x7FFF_FFFF_FFFF_FFFF_FFFF_FFFF_FFFF_FFFF 2132static Int128 IBinaryIntegerParseAndFormatInfo<Int128>.MaxValueDiv10 => new Int128(0x0CCC_CCCC_CCCC_CCCC, 0xCCCC_CCCC_CCCC_CCCC); 2134static string IBinaryIntegerParseAndFormatInfo<Int128>.OverflowMessage => SR.Overflow_Int128; 2136static bool IBinaryIntegerParseAndFormatInfo<Int128>.IsGreaterThanAsUnsigned(Int128 left, Int128 right) => (UInt128)(left) > (UInt128)(right); 2138static Int128 IBinaryIntegerParseAndFormatInfo<Int128>.MultiplyBy10(Int128 value) => value * 10; 2140static Int128 IBinaryIntegerParseAndFormatInfo<Int128>.MultiplyBy16(Int128 value) => value * 16;
src\runtime\src\libraries\System.Private.CoreLib\src\System\Int16.cs (9)
907else if (typeof(TOther) == typeof(Int128)) 909Int128 actualValue = (Int128)(object)value; 983else if (typeof(TOther) == typeof(Int128)) 985Int128 actualValue = (Int128)(object)value; 1060else if (typeof(TOther) == typeof(Int128)) 1062Int128 actualValue = (Int128)(object)value;
src\runtime\src\libraries\System.Private.CoreLib\src\System\Int32.cs (9)
949else if (typeof(TOther) == typeof(Int128)) 951Int128 actualValue = (Int128)(object)value; 1032else if (typeof(TOther) == typeof(Int128)) 1034Int128 actualValue = (Int128)(object)value; 1121else if (typeof(TOther) == typeof(Int128)) 1123Int128 actualValue = (Int128)(object)value;
src\runtime\src\libraries\System.Private.CoreLib\src\System\Int64.cs (10)
54public static Int128 BigMul(long left, long right) => Math.BigMul(left, right); 946else if (typeof(TOther) == typeof(Int128)) 948Int128 actualValue = (Int128)(object)value; 1028else if (typeof(TOther) == typeof(Int128)) 1030Int128 actualValue = (Int128)(object)value; 1116else if (typeof(TOther) == typeof(Int128)) 1118Int128 actualValue = (Int128)(object)value;
src\runtime\src\libraries\System.Private.CoreLib\src\System\IntPtr.cs (10)
190Int128 result = long.BigMul(left, right); 965else if (typeof(TOther) == typeof(Int128)) 967Int128 actualValue = (Int128)(object)value; 1048else if (typeof(TOther) == typeof(Int128)) 1050Int128 actualValue = (Int128)(object)value; 1136else if (typeof(TOther) == typeof(Int128)) 1138Int128 actualValue = (Int128)(object)value;
src\runtime\src\libraries\System.Private.CoreLib\src\System\Math.cs (1)
295public static Int128 BigMul(long a, long b)
src\runtime\src\libraries\System.Private.CoreLib\src\System\Number.Formatting.cs (24)
1362public static string FormatInt128(Int128 value, string? format, IFormatProvider? provider) 1367return Int128.IsPositive(value) 1374static unsafe string FormatInt128Slow(Int128 value, string? format, IFormatProvider? provider) 1383return Int128.IsPositive(value) 1423public static bool TryFormatInt128<TChar>(Int128 value, ReadOnlySpan<char> format, IFormatProvider? provider, Span<TChar> destination, out int charsWritten) where TChar : unmanaged, IUtfChar<TChar> 1430return Int128.IsPositive(value) 1437static unsafe bool TryFormatInt128Slow(Int128 value, ReadOnlySpan<char> format, IFormatProvider? provider, Span<TChar> destination, out int charsWritten) 1444return Int128.IsPositive(value) 1507return Int128ToHexStr((Int128)value, GetHexBase(fmt), digits); 1511return UInt128ToBinaryStr((Int128)value, digits); 1564return TryInt128ToHexStr((Int128)value, GetHexBase(fmt), digits, destination, out charsWritten); 1568return TryUInt128ToBinaryStr((Int128)value, digits, destination, out charsWritten); 2456private static unsafe void Int128ToNumber(Int128 value, ref NumberBuffer number) 2460if (Int128.IsPositive(value)) 2488public static string Int128ToDecStr(Int128 value) 2490return Int128.IsPositive(value) 2495private static unsafe string NegativeInt128ToDecStr(Int128 value, int digits, string sNegative) 2497Debug.Assert(Int128.IsNegative(value)); 2522private static unsafe bool TryNegativeInt128ToDecStr<TChar>(Int128 value, int digits, ReadOnlySpan<TChar> sNegative, Span<TChar> destination, out int charsWritten) where TChar : unmanaged, IUtfChar<TChar> 2525Debug.Assert(Int128.IsNegative(value)); 2556private static unsafe string Int128ToHexStr(Int128 value, char hexBase, int digits) 2575private static unsafe bool TryInt128ToHexStr<TChar>(Int128 value, char hexBase, int digits, Span<TChar> destination, out int charsWritten) where TChar : unmanaged, IUtfChar<TChar> 2619private static unsafe string UInt128ToBinaryStr(Int128 value, int digits) 2638private static unsafe bool TryUInt128ToBinaryStr<TChar>(Int128 value, int digits, Span<TChar> destination, out int charsWritten) where TChar : unmanaged, IUtfChar<TChar>
src\runtime\src\libraries\System.Private.CoreLib\src\System\Numerics\BFloat16.cs (20)
577/// <summary>Explicitly converts a <see cref="Int128" /> value to its nearest representable <see cref="BFloat16"/> value.</summary> 580public static explicit operator BFloat16(Int128 value) => RoundFromSigned(value); 712/// <summary>Explicitly converts a <see cref="BFloat16" /> value to its nearest representable <see cref="Int128"/>.</summary> 715public static explicit operator Int128(BFloat16 value) => (Int128)(double)(value); 717/// <summary>Explicitly converts a <see cref="BFloat16" /> value to its nearest representable <see cref="Int128"/>, throwing an overflow exception for any values that fall outside the representable range.</summary> 720/// <exception cref="OverflowException"><paramref name="value" /> is not representable by <see cref="Int128" />.</exception> 721public static explicit operator checked Int128(BFloat16 value) => checked((Int128)(double)(value)); 1616else if (typeof(TOther) == typeof(Int128)) 1618Int128 actualValue = (Int128)(object)value; 1732else if (typeof(TOther) == typeof(Int128)) 1734Int128 actualResult = checked((Int128)value); 1866else if (typeof(TOther) == typeof(Int128)) 1868Int128 actualResult = ((float)value >= +170141183460469231731687303715884105727.0f) ? Int128.MaxValue : 1869((float)value <= -170141183460469231731687303715884105728.0f) ? Int128.MinValue : (Int128)value;
src\runtime\src\libraries\System.Private.CoreLib\src\System\Random.cs (1)
322typeof(T) == typeof(Int128) ||
src\runtime\src\libraries\System.Private.CoreLib\src\System\Runtime\InteropServices\NFloat.cs (23)
328/// <summary>Explicitly converts a native-sized floating-point value to its nearest representable <see cref="Int128" /> value.</summary> 330/// <returns><paramref name="value" /> converted to its nearest representable <see cref="Int128" /> value.</returns> 332public static explicit operator Int128(NFloat value) => (Int128)(value._value); 334/// <summary>Explicitly converts a native-sized floating-point value to its nearest representable <see cref="Int128" /> value, throwing an overflow exception for any values that fall outside the representable range.</summary> 336/// <returns><paramref name="value" /> converted to its nearest representable <see cref="Int128" /> value.</returns> 337/// <exception cref="OverflowException"><paramref name="value" /> is not representable by <see cref="Int128" />.</exception> 339public static explicit operator checked Int128(NFloat value) => checked((Int128)(value._value)); 490/// <summary>Explicitly converts a <see cref="Int128" /> to its nearest representable native-sized floating-point value.</summary> 494public static explicit operator NFloat(Int128 value) 496if (Int128.IsNegative(value)) 1392else if (typeof(TOther) == typeof(Int128)) 1394Int128 actualValue = (Int128)(object)value; 1505else if (typeof(TOther) == typeof(Int128)) 1507Int128 actualResult = checked((Int128)value); 1639else if (typeof(TOther) == typeof(Int128)) 1641Int128 actualResult = (value >= +170141183460469231731687303715884105727.0) ? Int128.MaxValue : 1642(value <= -170141183460469231731687303715884105728.0) ? Int128.MinValue : (Int128)value;
src\runtime\src\libraries\System.Private.CoreLib\src\System\SByte.cs (9)
892else if (typeof(TOther) == typeof(Int128)) 894Int128 actualValue = (Int128)(object)value; 969else if (typeof(TOther) == typeof(Int128)) 971Int128 actualValue = (Int128)(object)value; 1046else if (typeof(TOther) == typeof(Int128)) 1048Int128 actualValue = (Int128)(object)value;
src\runtime\src\libraries\System.Private.CoreLib\src\System\Single.cs (3)
1313else if (typeof(TOther) == typeof(Int128)) 1315Int128 actualValue = (Int128)(object)value;
src\runtime\src\libraries\System.Private.CoreLib\src\System\TimeSpan.cs (6)
473Int128 totalMicroseconds = Math.BigMul(days, MicrosecondsPerDay) 509Int128 totalMicroseconds = Math.BigMul(hours, MicrosecondsPerHour) 543Int128 totalMicroseconds = Math.BigMul(minutes, MicrosecondsPerMinute) 575Int128 totalMicroseconds = Math.BigMul(seconds, MicrosecondsPerSecond) 606Int128 totalMicroseconds = Math.BigMul(milliseconds, MicrosecondsPerMillisecond) 613private static TimeSpan FromMicroseconds(Int128 microseconds)
src\runtime\src\libraries\System.Private.CoreLib\src\System\UInt128.cs (16)
344/// <summary>Explicitly converts a 128-bit unsigned integer to a <see cref="Int128" /> value.</summary> 346/// <returns><paramref name="value" /> converted to a <see cref="Int128" />.</returns> 348public static explicit operator Int128(UInt128 value) => new Int128(value._upper, value._lower); 350/// <summary>Explicitly converts a 128-bit unsigned integer to a <see cref="Int128" /> value, throwing an overflow exception for any values that fall outside the representable range.</summary> 352/// <returns><paramref name="value" /> converted to a <see cref="Int128" />.</returns> 355public static explicit operator checked Int128(UInt128 value) 1849else if (typeof(TOther) == typeof(Int128)) 1851Int128 actualResult = checked((Int128)value); 1923else if (typeof(TOther) == typeof(Int128)) 1925Int128 actualResult = (value >= new UInt128(0x7FFF_FFFF_FFFF_FFFF, 0xFFFF_FFFF_FFFF_FFFF)) ? Int128.MaxValue : (Int128)value; 2003else if (typeof(TOther) == typeof(Int128)) 2005Int128 actualResult = (Int128)value;
src\runtime\src\libraries\System.Private.CoreLib\src\System\UInt16.cs (6)
933else if (typeof(TOther) == typeof(Int128)) 935Int128 actualResult = value; 1007else if (typeof(TOther) == typeof(Int128)) 1009Int128 actualResult = value; 1081else if (typeof(TOther) == typeof(Int128)) 1083Int128 actualResult = value;
src\runtime\src\libraries\System.Private.CoreLib\src\System\UInt32.cs (6)
998else if (typeof(TOther) == typeof(Int128)) 1000Int128 actualResult = value; 1072else if (typeof(TOther) == typeof(Int128)) 1074Int128 actualResult = value; 1152else if (typeof(TOther) == typeof(Int128)) 1154Int128 actualResult = value;
src\runtime\src\libraries\System.Private.CoreLib\src\System\UInt64.cs (8)
1005else if (typeof(TOther) == typeof(Int128)) 1007Int128 actualResult = checked((Int128)value); 1079else if (typeof(TOther) == typeof(Int128)) 1081Int128 actualResult = value; 1153else if (typeof(TOther) == typeof(Int128)) 1155Int128 actualResult = (Int128)value;
src\runtime\src\libraries\System.Private.CoreLib\src\System\UIntPtr.cs (6)
994else if (typeof(TOther) == typeof(Int128)) 996Int128 actualResult = value; 1068else if (typeof(TOther) == typeof(Int128)) 1070Int128 actualResult = value; 1142else if (typeof(TOther) == typeof(Int128)) 1144Int128 actualResult = value;
System.Runtime (1)
src\runtime\artifacts\obj\System.Runtime\Release\net11.0\System.Runtime.Forwards.cs (1)
281[assembly: System.Runtime.CompilerServices.TypeForwardedTo(typeof(System.Int128))]
System.Runtime.Numerics (65)
System\Numerics\BigInteger.cs (33)
2013return checked((decimal)(Int128)value); 2141/// <summary>Explicitly converts a big integer to a <see cref="Int128" /> value.</summary> 2143/// <returns><paramref name="value" /> converted to <see cref="Int128" /> value.</returns> 2144public static explicit operator Int128(BigInteger value) 2179Int128 ll = (value._sign > 0) ? (Int128)uu : -(Int128)uu; 2339/// <summary>Implicitly converts a <see cref="Int128" /> value to a big integer.</summary> 2342public static implicit operator BigInteger(Int128 value) 4137else if (typeof(TOther) == typeof(Int128)) 4139Int128 actualValue = (Int128)(object)value; 4260else if (typeof(TOther) == typeof(Int128)) 4262Int128 actualValue = (Int128)(object)value; 4383else if (typeof(TOther) == typeof(Int128)) 4385Int128 actualValue = (Int128)(object)value; 4502else if (typeof(TOther) == typeof(Int128)) 4504Int128 actualResult = checked((Int128)value); 4673else if (typeof(TOther) == typeof(Int128)) 4675Int128 actualResult = (value >= Int128.MaxValue) ? Int128.MaxValue : 4676(value <= Int128.MinValue) ? Int128.MinValue : (Int128)value; 4915else if (typeof(TOther) == typeof(Int128)) 4917Int128 actualResult; 4962actualResult = (Int128)bits; 4966actualResult = (Int128)(long)value._sign; 5160actualResult = (UInt128)(Int128)(long)value._sign;
System\Numerics\BigIntegerCalculator.GcdInv.cs (7)
438Int128 xCarry = 0, yCarry = 0; 441Int128 xDigit = a * (Int128)x[i] - b * (Int128)y[i] + xCarry; 442Int128 yDigit = d * (Int128)y[i] - c * (Int128)x[i] + yCarry;
System\Numerics\BigIntegerCalculator.SquMul.cs (7)
885Int128 carry = 0; 889Int128 digit = (Int128)(ulong)core[i] + carry - (ulong)left[i] - (ulong)right[i]; 896Int128 digit = (Int128)(ulong)core[i] + carry - (ulong)left[i]; 903Int128 digit = (Int128)(ulong)core[i] + carry;
System\Numerics\Complex.cs (18)
783/// <summary>Explicitly converts a <see cref="Int128" /> value to a double-precision complex number.</summary> 786public static explicit operator Complex(Int128 value) 1573else if (typeof(TOther) == typeof(Int128)) 1575Int128 actualValue = (Int128)(object)value; 1727else if (typeof(TOther) == typeof(Int128)) 1734Int128 actualResult = checked((Int128)value.m_real); 1914else if (typeof(TOther) == typeof(Int128)) 1916Int128 actualResult = (value.m_real >= +170141183460469231731687303715884105727.0) ? Int128.MaxValue : 1917(value.m_real <= -170141183460469231731687303715884105728.0) ? Int128.MinValue : (Int128)value.m_real; 2056else if (typeof(TOther) == typeof(Int128)) 2058Int128 actualResult = (value.m_real >= +170141183460469231731687303715884105727.0) ? Int128.MaxValue : 2059(value.m_real <= -170141183460469231731687303715884105728.0) ? Int128.MinValue : (Int128)value.m_real;
System.Text.Json (17)
System\Text\Json\Nodes\JsonValueOfT.cs (1)
102if (type == typeof(Half) || type == typeof(UInt128) || type == typeof(Int128))
System\Text\Json\Serialization\Converters\Value\Int128Converter.cs (12)
12internal sealed class Int128Converter : JsonPrimitiveConverter<Int128> 21public override Int128 Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) 36public override void Write(Utf8JsonWriter writer, Int128 value, JsonSerializerOptions options) 47private static unsafe Int128 ReadCore(ref Utf8JsonReader reader) 57if (!Int128.TryParse(buffer.Slice(0, written), CultureInfo.InvariantCulture, out Int128 result)) 70private static unsafe void WriteCore(Utf8JsonWriter writer, Int128 value) 77internal override Int128 ReadAsPropertyNameCore(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) 83internal override unsafe void WriteAsPropertyNameCore(Utf8JsonWriter writer, Int128 value, JsonSerializerOptions options, bool isWritingExtensionDataProperty) 90internal override Int128 ReadNumberWithCustomHandling(ref Utf8JsonReader reader, JsonNumberHandling handling, JsonSerializerOptions options) 106internal override unsafe void WriteNumberWithCustomHandling(Utf8JsonWriter writer, Int128 value, JsonNumberHandling handling) 133Int128 value, out int written)
System\Text\Json\Serialization\Metadata\JsonMetadataServices.Converters.cs (3)
117/// Returns a <see cref="JsonConverter{T}"/> instance that converts <see cref="Int128"/> values. 120public static JsonConverter<Int128> Int128Converter => s_int128Converter ??= new Int128Converter(); 121private static JsonConverter<Int128>? s_int128Converter;
System\Text\Json\Serialization\Metadata\JsonPropertyInfo.cs (1)
730potentialNumberType == typeof(Int128) ||