31 instantiations of BFloat16
System.Private.CoreLib (31)
src\runtime\src\libraries\System.Private.CoreLib\src\System\BitConverter.cs (2)
1018public static BFloat16 Int16BitsToBFloat16(short value) => new BFloat16((ushort)(value)); 1090public static BFloat16 UInt16BitsToBFloat16(ushort value) => new BFloat16(value);
src\runtime\src\libraries\System.Private.CoreLib\src\System\Numerics\BFloat16.cs (29)
84public static BFloat16 Epsilon => new BFloat16(EpsilonBits); 86public static BFloat16 PositiveInfinity => new BFloat16(PositiveInfinityBits); 88public static BFloat16 NegativeInfinity => new BFloat16(NegativeInfinityBits); 90public static BFloat16 NaN => new BFloat16(NegativeQNaNBits); 93public static BFloat16 MinValue => new BFloat16(MinValueBits); 96public static BFloat16 MaxValue => new BFloat16(MaxValueBits); 503return new BFloat16((ushort)bitValue); 550return new BFloat16((ushort)(roundedValueBits >> 16)); 596return new BFloat16((ushort)(!float.IsNaN(value) ? roundedBits : ((bits >> 16) | QuietBit))); 615return new BFloat16((ushort)(roundedValueBits >> 16)); 859static BFloat16 IAdditiveIdentity<BFloat16, BFloat16>.AdditiveIdentity => new BFloat16(PositiveZeroBits); 866static BFloat16 IBinaryNumber<BFloat16>.AllBitsSet => new BFloat16(0xFFFF); 907return new BFloat16((ushort)(left._value & right._value)); 913return new BFloat16((ushort)(left._value | right._value)); 919return new BFloat16((ushort)(left._value ^ right._value)); 925return new BFloat16((ushort)(~value._value)); 1079public static BFloat16 E => new BFloat16(EBits); 1082public static BFloat16 Pi => new BFloat16(PiBits); 1085public static BFloat16 Tau => new BFloat16(TauBits); 1092public static BFloat16 NegativeZero => new BFloat16(NegativeZeroBits); 1130return new BFloat16((ushort)bits); 1163return new BFloat16((ushort)bits); 1283public static BFloat16 MultiplicativeIdentity => new BFloat16(PositiveOneBits); 1309return new BFloat16((ushort)((xbits & ~SignMask) | (ybits & SignMask))); 1387public static BFloat16 One => new BFloat16(PositiveOneBits); 1393public static BFloat16 Zero => new BFloat16(PositiveZeroBits); 1396public static BFloat16 Abs(BFloat16 value) => new BFloat16((ushort)(value._value & ~SignMask)); 2000public static BFloat16 NegativeOne => new BFloat16(NegativeOneBits); 2169static BFloat16 IBinaryFloatParseAndFormatInfo<BFloat16>.BitsToFloat(ulong bits) => new BFloat16((ushort)(bits));
678 references to BFloat16
System.Private.CoreLib (646)
src\runtime\src\libraries\System.Private.CoreLib\src\System\BitConverter.cs (26)
312/// Returns the specified <see cref="BFloat16"/> value as an array of bytes. 316public static unsafe byte[] GetBytes(BFloat16 value) 318byte[] bytes = new byte[sizeof(BFloat16)]; 325/// Converts a <see cref="BFloat16"/> value into a span of bytes. 327/// <param name="destination">When this method returns, the bytes representing the converted <see cref="BFloat16"/> value.</param> 328/// <param name="value">The <see cref="BFloat16"/> value to convert.</param> 330public static unsafe bool TryWriteBytes(Span<byte> destination, BFloat16 value) 332if (destination.Length < sizeof(BFloat16)) 725/// Returns a <see cref="BFloat16"/> number converted from two bytes at a specified position in a byte array. 729/// <returns>A <see cref="BFloat16"/> number signed integer formed by two bytes beginning at <paramref name="startIndex"/>.</returns> 733public static BFloat16 ToBFloat16(byte[] value, int startIndex) => Int16BitsToBFloat16(ToInt16(value, startIndex)); 736/// Converts a read-only byte span into a <see cref="BFloat16"/> value. 739/// <returns>A <see cref="BFloat16"/> value representing the converted bytes.</returns> 742public static unsafe BFloat16 ToBFloat16(ReadOnlySpan<byte> value) 744if (value.Length < sizeof(BFloat16)) 746return Unsafe.ReadUnaligned<BFloat16>(ref MemoryMarshal.GetReference(value)); 1005/// Converts the specified <see cref="BFloat16"/> number to a 16-bit signed integer. 1010public static short BFloat16ToInt16Bits(BFloat16 value) => (short)value._value; 1013/// Converts the specified 16-bit signed integer to a <see cref="BFloat16"/> number. 1016/// <returns>A <see cref="BFloat16"/> number whose bits are identical to <paramref name="value"/>.</returns> 1018public static BFloat16 Int16BitsToBFloat16(short value) => new BFloat16((ushort)(value)); 1075/// Converts the specified <see cref="BFloat16"/> number to a 16-bit unsigned integer. 1081public static ushort BFloat16ToUInt16Bits(BFloat16 value) => value._value; 1084/// Converts the specified 16-bit unsigned integer to a <see cref="BFloat16"/> number. 1087/// <returns>A <see cref="BFloat16"/> number whose bits are identical to <paramref name="value"/>.</returns> 1090public static BFloat16 UInt16BitsToBFloat16(ushort value) => new BFloat16(value);
src\runtime\src\libraries\System.Private.CoreLib\src\System\Buffers\Binary\BinaryPrimitives.ReadBigEndian.cs (7)
47/// Reads a <see cref="BFloat16" /> from the beginning of a read-only span of bytes, as big endian. 53/// <paramref name="source"/> is too small to contain a <see cref="BFloat16" />. 56public static BFloat16 ReadBFloat16BigEndian(ReadOnlySpan<byte> source) 60MemoryMarshal.Read<BFloat16>(source); 300/// Reads a <see cref="BFloat16" /> from the beginning of a read-only span of bytes, as big endian. 305/// <see langword="true" /> if the span is large enough to contain a <see cref="BFloat16" />; otherwise, <see langword="false" />. 309public static bool TryReadBFloat16BigEndian(ReadOnlySpan<byte> source, out BFloat16 value)
src\runtime\src\libraries\System.Private.CoreLib\src\System\Buffers\Binary\BinaryPrimitives.ReadLittleEndian.cs (6)
47/// Reads a <see cref="BFloat16" /> from the beginning of a read-only span of bytes, as little endian. 56public static BFloat16 ReadBFloat16LittleEndian(ReadOnlySpan<byte> source) 60MemoryMarshal.Read<BFloat16>(source); 300/// Reads a <see cref="BFloat16" /> from the beginning of a read-only span of bytes, as little endian. 305/// <see langword="true" /> if the span is large enough to contain a <see cref="BFloat16" />; otherwise, <see langword="false" />. 309public static bool TryReadBFloat16LittleEndian(ReadOnlySpan<byte> source, out BFloat16 value)
src\runtime\src\libraries\System.Private.CoreLib\src\System\Buffers\Binary\BinaryPrimitives.WriteBigEndian.cs (6)
59/// Writes a <see cref="BFloat16" /> into a span of bytes, as big endian. 65/// <paramref name="destination" /> is too small to contain a <see cref="BFloat16" />. 68public static void WriteBFloat16BigEndian(Span<byte> destination, BFloat16 value) 382/// Writes a <see cref="BFloat16" /> into a span of bytes, as big endian. 387/// <see langword="true" /> if the span is large enough to contain a <see cref="BFloat16" />; otherwise, <see langword="false" />. 391public static bool TryWriteBFloat16BigEndian(Span<byte> destination, BFloat16 value)
src\runtime\src\libraries\System.Private.CoreLib\src\System\Buffers\Binary\BinaryPrimitives.WriteLittleEndian.cs (6)
59/// Writes a <see cref="BFloat16" /> into a span of bytes, as little endian. 65/// <paramref name="destination" /> is too small to contain a <see cref="BFloat16" />. 68public static void WriteBFloat16LittleEndian(Span<byte> destination, BFloat16 value) 382/// Writes a <see cref="BFloat16" /> into a span of bytes, as little endian. 387/// <see langword="true" /> if the span is large enough to contain a <see cref="BFloat16" />; otherwise, <see langword="false" />. 391public static bool TryWriteBFloat16LittleEndian(Span<byte> destination, BFloat16 value)
src\runtime\src\libraries\System.Private.CoreLib\src\System\Numerics\BFloat16.cs (590)
18IComparable<BFloat16>, 19IEquatable<BFloat16>, 20IBinaryFloatingPointIeee754<BFloat16>, 21IMinMaxValue<BFloat16>, 23IBinaryFloatParseAndFormatInfo<BFloat16> 84public static BFloat16 Epsilon => new BFloat16(EpsilonBits); 86public static BFloat16 PositiveInfinity => new BFloat16(PositiveInfinityBits); 88public static BFloat16 NegativeInfinity => new BFloat16(NegativeInfinityBits); 90public static BFloat16 NaN => new BFloat16(NegativeQNaNBits); 93public static BFloat16 MinValue => new BFloat16(MinValueBits); 96public static BFloat16 MaxValue => new BFloat16(MaxValueBits); 151public static bool IsFinite(BFloat16 value) 159public static bool IsInfinity(BFloat16 value) 167public static bool IsNaN(BFloat16 value) 174internal static bool IsNaNOrZero(BFloat16 value) 182public static bool IsNegative(BFloat16 value) 189public static bool IsNegativeInfinity(BFloat16 value) 197public static bool IsNormal(BFloat16 value) 205public static bool IsPositiveInfinity(BFloat16 value) 213public static bool IsSubnormal(BFloat16 value) 220public static bool IsZero(BFloat16 value) 227/// Parses a <see cref="BFloat16"/> from a <see cref="string"/> in the default parse style. 230/// <returns>The equivalent <see cref="BFloat16"/> value representing the input string. If the input exceeds BFloat16's range, a <see cref="PositiveInfinity"/> or <see cref="NegativeInfinity"/> is returned. </returns> 231public static BFloat16 Parse(string s) => Parse(s, DefaultParseStyle, provider: null); 234/// Parses a <see cref="BFloat16"/> from a <see cref="string"/> in the given <see cref="NumberStyles"/>. 238/// <returns>The equivalent <see cref="BFloat16"/> value representing the input string. If the input exceeds BFloat16's range, a <see cref="PositiveInfinity"/> or <see cref="NegativeInfinity"/> is returned. </returns> 239public static BFloat16 Parse(string s, NumberStyles style) => Parse(s, style, provider: null); 242/// Parses a <see cref="BFloat16"/> from a <see cref="string"/> and <see cref="IFormatProvider"/>. 246/// <returns>The equivalent <see cref="BFloat16"/> value representing the input string. If the input exceeds BFloat16's range, a <see cref="PositiveInfinity"/> or <see cref="NegativeInfinity"/> is returned. </returns> 247public static BFloat16 Parse(string s, IFormatProvider? provider) => Parse(s, DefaultParseStyle, provider); 250/// Parses a <see cref="BFloat16"/> from a <see cref="string"/> with the given <see cref="NumberStyles"/> and <see cref="IFormatProvider"/>. 255/// <returns>The equivalent <see cref="BFloat16"/> value representing the input string. If the input exceeds BFloat16's range, a <see cref="PositiveInfinity"/> or <see cref="NegativeInfinity"/> is returned. </returns> 256public static BFloat16 Parse(string s, NumberStyles style = DefaultParseStyle, IFormatProvider? provider = null) 266/// Parses a <see cref="BFloat16"/> from a <see cref="ReadOnlySpan{Char}"/> and <see cref="IFormatProvider"/>. 271/// <returns>The equivalent <see cref="BFloat16"/> value representing the input string. If the input exceeds BFloat16's range, a <see cref="PositiveInfinity"/> or <see cref="NegativeInfinity"/> is returned. </returns> 272public static BFloat16 Parse(ReadOnlySpan<char> s, NumberStyles style = DefaultParseStyle, IFormatProvider? provider = null) 275return Number.ParseFloat<char, BFloat16>(s, style, NumberFormatInfo.GetInstance(provider)); 279/// Tries to parse a <see cref="BFloat16"/> from a <see cref="string"/> in the default parse style. 282/// <param name="result">The equivalent <see cref="BFloat16"/> value representing the input string if the parse was successful. If the input exceeds BFloat16's range, a <see cref="PositiveInfinity"/> or <see cref="NegativeInfinity"/> is returned. If the parse was unsuccessful, a default <see cref="BFloat16"/> value is returned.</param> 284public static bool TryParse([NotNullWhen(true)] string? s, out BFloat16 result) => TryParse(s, DefaultParseStyle, provider: null, out result); 287/// Tries to parse a <see cref="BFloat16"/> from a <see cref="ReadOnlySpan{Char}"/> in the default parse style. 290/// <param name="result">The equivalent <see cref="BFloat16"/> value representing the input string if the parse was successful. If the input exceeds BFloat16's range, a <see cref="PositiveInfinity"/> or <see cref="NegativeInfinity"/> is returned. If the parse was unsuccessful, a default <see cref="BFloat16"/> value is returned.</param> 292public static bool TryParse(ReadOnlySpan<char> s, out BFloat16 result) => TryParse(s, DefaultParseStyle, provider: null, out result); 294/// <summary>Tries to convert a UTF-8 character span containing the string representation of a number to its <see cref="BFloat16"/> number equivalent.</summary> 296/// <param name="result">When this method returns, contains a <see cref="BFloat16"/> number equivalent of the numeric value or symbol contained in <paramref name="utf8Text" /> if the conversion succeeded or zero if the conversion failed. The conversion fails if the <paramref name="utf8Text" /> is <see cref="ReadOnlySpan{T}.Empty" /> or is not in a valid format. This parameter is passed uninitialized; any value originally supplied in result will be overwritten.</param> 298public static bool TryParse(ReadOnlySpan<byte> utf8Text, out BFloat16 result) => TryParse(utf8Text, DefaultParseStyle, provider: null, out result); 301/// Tries to parse a <see cref="BFloat16"/> from a <see cref="string"/> with the given <see cref="NumberStyles"/> and <see cref="IFormatProvider"/>. 306/// <param name="result">The equivalent <see cref="BFloat16"/> value representing the input string if the parse was successful. If the input exceeds BFloat16's range, a <see cref="PositiveInfinity"/> or <see cref="NegativeInfinity"/> is returned. If the parse was unsuccessful, a default <see cref="BFloat16"/> value is returned.</param> 308public static bool TryParse([NotNullWhen(true)] string? s, NumberStyles style, IFormatProvider? provider, out BFloat16 result) 315/// Tries to parse a <see cref="BFloat16"/> from a <see cref="ReadOnlySpan{Char}"/> with the given <see cref="NumberStyles"/> and <see cref="IFormatProvider"/>. 320/// <param name="result">The equivalent <see cref="BFloat16"/> value representing the input string if the parse was successful. If the input exceeds BFloat16's range, a <see cref="PositiveInfinity"/> or <see cref="NegativeInfinity"/> is returned. If the parse was unsuccessful, a default <see cref="BFloat16"/> value is returned.</param> 322public static bool TryParse(ReadOnlySpan<char> s, NumberStyles style, IFormatProvider? provider, out BFloat16 result) 334/// <exception cref="ArgumentException">Thrown when <paramref name="obj"/> is not of type <see cref="BFloat16"/>.</exception> 337if (obj is not BFloat16 other) 348public int CompareTo(BFloat16 other) => ((float)this).CompareTo((float)other); 351public static bool operator ==(BFloat16 left, BFloat16 right) => (float)left == (float)right; 354public static bool operator !=(BFloat16 left, BFloat16 right) => (float)left != (float)right; 357public static bool operator <(BFloat16 left, BFloat16 right) => (float)left < (float)right; 360public static bool operator >(BFloat16 left, BFloat16 right) => (float)left > (float)right; 363public static bool operator <=(BFloat16 left, BFloat16 right) => (float)left <= (float)right; 366public static bool operator >=(BFloat16 left, BFloat16 right) => (float)left >= (float)right; 373public bool Equals(BFloat16 other) => ((float)this).Equals((float)other); 378public override bool Equals(object? obj) => obj is BFloat16 other && Equals(other); 437/// <summary>Explicitly converts a <see cref="char" /> value to its nearest representable <see cref="BFloat16"/> value.</summary> 439/// <returns><paramref name="value" /> converted to its nearest representable <see cref="BFloat16"/> value.</returns> 440public static explicit operator BFloat16(char value) => (BFloat16)(float)value; 442/// <summary>Explicitly converts a <see cref="decimal" /> value to its nearest representable <see cref="BFloat16"/> value.</summary> 444/// <returns><paramref name="value" /> converted to its nearest representable <see cref="BFloat16"/> value.</returns> 447public static explicit operator BFloat16(decimal value) => (BFloat16)(double)value; 449/// <summary>Explicitly converts a <see cref="double" /> value to its nearest representable <see cref="BFloat16"/> value.</summary> 451/// <returns><paramref name="value" /> converted to its nearest representable <see cref="BFloat16"/> value.</returns> 452public static explicit operator BFloat16(double value) 531private static unsafe BFloat16 RoundFromSigned<TInteger>(TInteger value) 553/// <summary>Explicitly converts a <see cref="short" /> value to its nearest representable <see cref="BFloat16"/> value.</summary> 555/// <returns><paramref name="value" /> converted to its nearest representable <see cref="BFloat16"/> value.</returns> 556public static explicit operator BFloat16(short value) => (BFloat16)(float)value; 558/// <summary>Explicitly converts a <see cref="Half" /> value to its nearest representable <see cref="BFloat16"/> value.</summary> 560/// <returns><paramref name="value" /> converted to its nearest representable <see cref="BFloat16"/> value.</returns> 561public static explicit operator BFloat16(Half value) => (BFloat16)(float)value; 563/// <summary>Explicitly converts a <see cref="int" /> value to its nearest representable <see cref="BFloat16"/> value.</summary> 565/// <returns><paramref name="value" /> converted to its nearest representable <see cref="BFloat16"/> value.</returns> 566public static explicit operator BFloat16(int value) => RoundFromSigned(value); 568/// <summary>Explicitly converts a <see cref="long" /> value to its nearest representable <see cref="BFloat16"/> value.</summary> 570/// <returns><paramref name="value" /> converted to its nearest representable <see cref="BFloat16"/> value.</returns> 571public static explicit operator BFloat16(long value) => RoundFromSigned(value); 573/// <summary>Explicitly converts a <see cref="Int128" /> value to its nearest representable <see cref="BFloat16"/> value.</summary> 575/// <returns><paramref name="value" /> converted to its nearest representable <see cref="BFloat16"/> value.</returns> 576public static explicit operator BFloat16(Int128 value) => RoundFromSigned(value); 578/// <summary>Explicitly converts a <see cref="nint" /> value to its nearest representable <see cref="BFloat16"/> value.</summary> 580/// <returns><paramref name="value" /> converted to its nearest representable <see cref="BFloat16"/> value.</returns> 581public static explicit operator BFloat16(nint value) => RoundFromSigned(value); 583/// <summary>Explicitly converts a <see cref="float" /> value to its nearest representable <see cref="BFloat16"/> value.</summary> 585/// <returns><paramref name="value" /> converted to its nearest representable <see cref="BFloat16"/> value.</returns> 586public static explicit operator BFloat16(float value) 599private static unsafe BFloat16 RoundFromUnsigned<TInteger>(TInteger value) 618/// <summary>Explicitly converts a <see cref="ushort" /> value to its nearest representable <see cref="BFloat16"/> value.</summary> 620/// <returns><paramref name="value" /> converted to its nearest representable <see cref="BFloat16"/> value.</returns> 622public static explicit operator BFloat16(ushort value) => (BFloat16)(float)value; 624/// <summary>Explicitly converts a <see cref="uint" /> value to its nearest representable <see cref="BFloat16"/> value.</summary> 626/// <returns><paramref name="value" /> converted to its nearest representable <see cref="BFloat16"/> value.</returns> 628public static explicit operator BFloat16(uint value) => RoundFromUnsigned(value); 630/// <summary>Explicitly converts a <see cref="ulong" /> value to its nearest representable <see cref="BFloat16"/> value.</summary> 632/// <returns><paramref name="value" /> converted to its nearest representable <see cref="BFloat16"/> value.</returns> 634public static explicit operator BFloat16(ulong value) => RoundFromUnsigned(value); 636/// <summary>Explicitly converts a <see cref="nuint" /> value to its nearest representable <see cref="BFloat16"/> value.</summary> 638/// <returns><paramref name="value" /> converted to its nearest representable <see cref="BFloat16"/> value.</returns> 640public static explicit operator BFloat16(nuint value) => RoundFromUnsigned(value); 642/// <summary>Explicitly converts a <see cref="UInt128" /> value to its nearest representable <see cref="BFloat16"/> value.</summary> 644/// <returns><paramref name="value" /> converted to its nearest representable <see cref="BFloat16"/> value.</returns> 646public static explicit operator BFloat16(UInt128 value) => RoundFromUnsigned(value); 652/// <summary>Explicitly converts a <see cref="BFloat16" /> value to its nearest representable <see cref="byte" /> value.</summary> 655public static explicit operator byte(BFloat16 value) => (byte)(float)value; 657/// <summary>Explicitly converts a <see cref="BFloat16" /> value to its nearest representable <see cref="byte" /> value, throwing an overflow exception for any values that fall outside the representable range.</summary> 661public static explicit operator checked byte(BFloat16 value) => checked((byte)(float)value); 663/// <summary>Explicitly converts a <see cref="BFloat16" /> value to its nearest representable <see cref="char" /> value.</summary> 666public static explicit operator char(BFloat16 value) => (char)(float)value; 668/// <summary>Explicitly converts a <see cref="BFloat16" /> value to its nearest representable <see cref="char" /> value, throwing an overflow exception for any values that fall outside the representable range.</summary> 672public static explicit operator checked char(BFloat16 value) => checked((char)(float)value); 674/// <summary>Explicitly converts a <see cref="BFloat16" /> value to its nearest representable <see cref="decimal" /> value.</summary> 677public static explicit operator decimal(BFloat16 value) => (decimal)(float)value; 679/// <summary>Explicitly converts a <see cref="BFloat16" /> value to its nearest representable <see cref="short" /> value.</summary> 682public static explicit operator short(BFloat16 value) => (short)(float)value; 684/// <summary>Explicitly converts a <see cref="BFloat16" /> value to its nearest representable <see cref="short" /> value, throwing an overflow exception for any values that fall outside the representable range.</summary> 688public static explicit operator checked short(BFloat16 value) => checked((short)(float)value); 690/// <summary>Explicitly converts a <see cref="BFloat16" /> value to its nearest representable <see cref="int" /> value.</summary> 693public static explicit operator int(BFloat16 value) => (int)(float)value; 695/// <summary>Explicitly converts a <see cref="BFloat16" /> value to its nearest representable <see cref="int" /> value, throwing an overflow exception for any values that fall outside the representable range.</summary> 699public static explicit operator checked int(BFloat16 value) => checked((int)(float)value); 701/// <summary>Explicitly converts a <see cref="BFloat16" /> value to its nearest representable <see cref="long" /> value.</summary> 704public static explicit operator long(BFloat16 value) => (long)(float)value; 706/// <summary>Explicitly converts a <see cref="BFloat16" /> value to its nearest representable <see cref="long" /> value, throwing an overflow exception for any values that fall outside the representable range.</summary> 710public static explicit operator checked long(BFloat16 value) => checked((long)(float)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> 721public static explicit operator checked Int128(BFloat16 value) => checked((Int128)(double)(value)); 723/// <summary>Explicitly converts a <see cref="BFloat16" /> value to its nearest representable <see cref="IntPtr" /> value.</summary> 726public static explicit operator nint(BFloat16 value) => (nint)(float)value; 728/// <summary>Explicitly converts a <see cref="BFloat16" /> value to its nearest representable <see cref="IntPtr" /> value, throwing an overflow exception for any values that fall outside the representable range.</summary> 732public static explicit operator checked nint(BFloat16 value) => checked((nint)(float)value); 734/// <summary>Explicitly converts a <see cref="BFloat16" /> value to its nearest representable <see cref="sbyte" /> value.</summary> 738public static explicit operator sbyte(BFloat16 value) => (sbyte)(float)value; 740/// <summary>Explicitly converts a <see cref="BFloat16" /> value to its nearest representable <see cref="sbyte" /> value, throwing an overflow exception for any values that fall outside the representable range.</summary> 745public static explicit operator checked sbyte(BFloat16 value) => checked((sbyte)(float)value); 747/// <summary>Explicitly converts a <see cref="BFloat16" /> value to its nearest representable <see cref="ushort" /> value.</summary> 751public static explicit operator ushort(BFloat16 value) => (ushort)(float)value; 753/// <summary>Explicitly converts a <see cref="BFloat16" /> value to its nearest representable <see cref="ushort" /> value, throwing an overflow exception for any values that fall outside the representable range.</summary> 758public static explicit operator checked ushort(BFloat16 value) => checked((ushort)(float)value); 760/// <summary>Explicitly converts a <see cref="BFloat16" /> value to its nearest representable <see cref="uint" /> value.</summary> 764public static explicit operator uint(BFloat16 value) => (uint)(float)value; 766/// <summary>Explicitly converts a <see cref="BFloat16" /> value to its nearest representable <see cref="uint" /> value, throwing an overflow exception for any values that fall outside the representable range.</summary> 771public static explicit operator checked uint(BFloat16 value) => checked((uint)(float)value); 773/// <summary>Explicitly converts a <see cref="BFloat16" /> value to its nearest representable <see cref="ulong" /> value.</summary> 777public static explicit operator ulong(BFloat16 value) => (ulong)(float)value; 779/// <summary>Explicitly converts a <see cref="BFloat16" /> value to its nearest representable <see cref="ulong" /> value, throwing an overflow exception for any values that fall outside the representable range.</summary> 784public static explicit operator checked ulong(BFloat16 value) => checked((ulong)(float)value); 786/// <summary>Explicitly converts a <see cref="BFloat16" /> value to its nearest representable <see cref="UInt128"/>.</summary> 790public static explicit operator UInt128(BFloat16 value) => (UInt128)(double)(value); 792/// <summary>Explicitly converts a <see cref="BFloat16" /> value to its nearest representable <see cref="UInt128"/>, throwing an overflow exception for any values that fall outside the representable range.</summary> 797public static explicit operator checked UInt128(BFloat16 value) => checked((UInt128)(double)(value)); 799/// <summary>Explicitly converts a <see cref="BFloat16" /> value to its nearest representable <see cref="UIntPtr" /> value.</summary> 803public static explicit operator nuint(BFloat16 value) => (nuint)(float)value; 805/// <summary>Explicitly converts a <see cref="BFloat16" /> value to its nearest representable <see cref="UIntPtr" /> value, throwing an overflow exception for any values that fall outside the representable range.</summary> 810public static explicit operator checked nuint(BFloat16 value) => checked((nuint)(float)value); 812/// <summary>Explicitly converts a <see cref="BFloat16" /> value to its nearest representable <see cref="Half" /> value.</summary> 815public static explicit operator Half(BFloat16 value) => (Half)(float)value; 821/// <summary>Implicitly converts a <see cref="byte" /> value to its nearest representable <see cref="BFloat16" /> value.</summary> 823/// <returns><paramref name="value" /> converted to its nearest representable <see cref="BFloat16" /> value.</returns> 824public static implicit operator BFloat16(byte value) => (BFloat16)(float)value; 826/// <summary>Implicitly converts a <see cref="sbyte" /> value to its nearest representable <see cref="BFloat16" /> value.</summary> 828/// <returns><paramref name="value" /> converted to its nearest representable <see cref="BFloat16" /> value.</returns> 830public static implicit operator BFloat16(sbyte value) => (BFloat16)(float)value; 836/// <summary>Explicitly converts a <see cref="BFloat16" /> value to its nearest representable <see cref="float"/> value.</summary> 840public static explicit operator float(BFloat16 value) => BitConverter.Int32BitsToSingle(value._value << 16); 842/// <summary>Explicitly converts a <see cref="BFloat16" /> value to its nearest representable <see cref="double"/> value.</summary> 845public static explicit operator double(BFloat16 value) => (double)(float)value; 852public static BFloat16 operator +(BFloat16 left, BFloat16 right) => (BFloat16)((float)left + (float)right); 859static BFloat16 IAdditiveIdentity<BFloat16, BFloat16>.AdditiveIdentity => new BFloat16(PositiveZeroBits); 866static BFloat16 IBinaryNumber<BFloat16>.AllBitsSet => new BFloat16(0xFFFF); 869public static bool IsPow2(BFloat16 value) 898public static BFloat16 Log2(BFloat16 value) => (BFloat16)float.Log2((float)value); 905static BFloat16 IBitwiseOperators<BFloat16, BFloat16, BFloat16>.operator &(BFloat16 left, BFloat16 right) 911static BFloat16 IBitwiseOperators<BFloat16, BFloat16, BFloat16>.operator |(BFloat16 left, BFloat16 right) 917static BFloat16 IBitwiseOperators<BFloat16, BFloat16, BFloat16>.operator ^(BFloat16 left, BFloat16 right) 923static BFloat16 IBitwiseOperators<BFloat16, BFloat16, BFloat16>.operator ~(BFloat16 value) 933public static BFloat16 operator --(BFloat16 value) 937return (BFloat16)tmp; 945public static BFloat16 operator /(BFloat16 left, BFloat16 right) => (BFloat16)((float)left / (float)right); 952public static BFloat16 Exp(BFloat16 x) => (BFloat16)float.Exp((float)x); 955public static BFloat16 ExpM1(BFloat16 x) => (BFloat16)float.ExpM1((float)x); 958public static BFloat16 Exp2(BFloat16 x) => (BFloat16)float.Exp2((float)x); 961public static BFloat16 Exp2M1(BFloat16 x) => (BFloat16)float.Exp2M1((float)x); 964public static BFloat16 Exp10(BFloat16 x) => (BFloat16)float.Exp10((float)x); 967public static BFloat16 Exp10M1(BFloat16 x) => (BFloat16)float.Exp10M1((float)x); 974public static BFloat16 Ceiling(BFloat16 x) => (BFloat16)float.Ceiling((float)x); 977public static BFloat16 Floor(BFloat16 x) => (BFloat16)float.Floor((float)x); 980public static BFloat16 Round(BFloat16 x) => (BFloat16)float.Round((float)x); 983public static BFloat16 Round(BFloat16 x, int digits) => (BFloat16)float.Round((float)x, digits); 986public static BFloat16 Round(BFloat16 x, MidpointRounding mode) => (BFloat16)float.Round((float)x, mode); 989public static BFloat16 Round(BFloat16 x, int digits, MidpointRounding mode) => (BFloat16)float.Round((float)x, digits, mode); 992public static BFloat16 Truncate(BFloat16 x) => (BFloat16)float.Truncate((float)x); 995int IFloatingPoint<BFloat16>.GetExponentByteCount() => sizeof(sbyte); 998int IFloatingPoint<BFloat16>.GetExponentShortestBitLength() 1013int IFloatingPoint<BFloat16>.GetSignificandByteCount() => sizeof(byte); 1016int IFloatingPoint<BFloat16>.GetSignificandBitLength() => SignificandLength; 1019bool IFloatingPoint<BFloat16>.TryWriteExponentBigEndian(Span<byte> destination, out int bytesWritten) 1033bool IFloatingPoint<BFloat16>.TryWriteExponentLittleEndian(Span<byte> destination, out int bytesWritten) 1047bool IFloatingPoint<BFloat16>.TryWriteSignificandBigEndian(Span<byte> destination, out int bytesWritten) 1061bool IFloatingPoint<BFloat16>.TryWriteSignificandLittleEndian(Span<byte> destination, out int bytesWritten) 1079public static BFloat16 E => new BFloat16(EBits); 1082public static BFloat16 Pi => new BFloat16(PiBits); 1085public static BFloat16 Tau => new BFloat16(TauBits); 1092public static BFloat16 NegativeZero => new BFloat16(NegativeZeroBits); 1095public static BFloat16 Atan2(BFloat16 y, BFloat16 x) => (BFloat16)float.Atan2((float)y, (float)x); 1098public static BFloat16 Atan2Pi(BFloat16 y, BFloat16 x) => (BFloat16)float.Atan2Pi((float)y, (float)x); 1101public static BFloat16 BitDecrement(BFloat16 x) 1134public static BFloat16 BitIncrement(BFloat16 x) 1167public static BFloat16 FusedMultiplyAdd(BFloat16 left, BFloat16 right, BFloat16 addend) => (BFloat16)float.FusedMultiplyAdd((float)left, (float)right, (float)addend); 1170public static BFloat16 Ieee754Remainder(BFloat16 left, BFloat16 right) => (BFloat16)float.Ieee754Remainder((float)left, (float)right); 1173public static int ILogB(BFloat16 x) 1201public static BFloat16 Lerp(BFloat16 value1, BFloat16 value2, BFloat16 amount) => (BFloat16)float.Lerp((float)value1, (float)value2, (float)amount); 1204public static BFloat16 ReciprocalEstimate(BFloat16 x) => (BFloat16)float.ReciprocalEstimate((float)x); 1207public static BFloat16 ReciprocalSqrtEstimate(BFloat16 x) => (BFloat16)float.ReciprocalSqrtEstimate((float)x); 1210public static BFloat16 ScaleB(BFloat16 x, int n) => (BFloat16)float.ScaleB((float)x, n); 1220public static BFloat16 Acosh(BFloat16 x) => (BFloat16)float.Acosh((float)x); 1223public static BFloat16 Asinh(BFloat16 x) => (BFloat16)float.Asinh((float)x); 1226public static BFloat16 Atanh(BFloat16 x) => (BFloat16)float.Atanh((float)x); 1229public static BFloat16 Cosh(BFloat16 x) => (BFloat16)float.Cosh((float)x); 1232public static BFloat16 Sinh(BFloat16 x) => (BFloat16)float.Sinh((float)x); 1235public static BFloat16 Tanh(BFloat16 x) => (BFloat16)float.Tanh((float)x); 1242public static BFloat16 operator ++(BFloat16 value) 1246return (BFloat16)tmp; 1254public static BFloat16 Log(BFloat16 x) => (BFloat16)float.Log((float)x); 1257public static BFloat16 Log(BFloat16 x, BFloat16 newBase) => (BFloat16)float.Log((float)x, (float)newBase); 1260public static BFloat16 Log10(BFloat16 x) => (BFloat16)float.Log10((float)x); 1263public static BFloat16 LogP1(BFloat16 x) => (BFloat16)float.LogP1((float)x); 1266public static BFloat16 Log2P1(BFloat16 x) => (BFloat16)float.Log2P1((float)x); 1269public static BFloat16 Log10P1(BFloat16 x) => (BFloat16)float.Log10P1((float)x); 1276public static BFloat16 operator %(BFloat16 left, BFloat16 right) => (BFloat16)((float)left % (float)right); 1283public static BFloat16 MultiplicativeIdentity => new BFloat16(PositiveOneBits); 1290public static BFloat16 operator *(BFloat16 left, BFloat16 right) => (BFloat16)((float)left * (float)right); 1297public static BFloat16 Clamp(BFloat16 value, BFloat16 min, BFloat16 max) => (BFloat16)Math.Clamp((float)value, (float)min, (float)max); 1300public static BFloat16 CopySign(BFloat16 value, BFloat16 sign) 1313public static BFloat16 Max(BFloat16 x, BFloat16 y) => (BFloat16)float.Max((float)x, (float)y); 1316public static BFloat16 MaxNumber(BFloat16 x, BFloat16 y) 1338public static BFloat16 Min(BFloat16 x, BFloat16 y) => (BFloat16)float.Min((float)x, (float)y); 1341public static BFloat16 MinNumber(BFloat16 x, BFloat16 y) 1363public static int Sign(BFloat16 value) 1387public static BFloat16 One => new BFloat16(PositiveOneBits); 1390static int INumberBase<BFloat16>.Radix => 2; 1393public static BFloat16 Zero => new BFloat16(PositiveZeroBits); 1396public static BFloat16 Abs(BFloat16 value) => new BFloat16((ushort)(value._value & ~SignMask)); 1400public static BFloat16 CreateChecked<TOther>(TOther value) 1403BFloat16 result; 1405if (typeof(TOther) == typeof(BFloat16)) 1407result = (BFloat16)(object)value; 1419public static BFloat16 CreateSaturating<TOther>(TOther value) 1422BFloat16 result; 1424if (typeof(TOther) == typeof(BFloat16)) 1426result = (BFloat16)(object)value; 1438public static BFloat16 CreateTruncating<TOther>(TOther value) 1441BFloat16 result; 1443if (typeof(TOther) == typeof(BFloat16)) 1445result = (BFloat16)(object)value; 1456static bool INumberBase<BFloat16>.IsCanonical(BFloat16 value) => true; 1459static bool INumberBase<BFloat16>.IsComplexNumber(BFloat16 value) => false; 1462public static bool IsEvenInteger(BFloat16 value) => float.IsEvenInteger((float)value); 1465static bool INumberBase<BFloat16>.IsImaginaryNumber(BFloat16 value) => false; 1468public static bool IsInteger(BFloat16 value) => float.IsInteger((float)value); 1471public static bool IsOddInteger(BFloat16 value) => float.IsOddInteger((float)value); 1474public static bool IsPositive(BFloat16 value) => (short)(value._value) >= 0; 1477public static bool IsRealNumber(BFloat16 value) 1488static bool INumberBase<BFloat16>.IsZero(BFloat16 value) => IsZero(value); 1491public static BFloat16 MaxMagnitude(BFloat16 x, BFloat16 y) => (BFloat16)float.MaxMagnitude((float)x, (float)y); 1494public static BFloat16 MaxMagnitudeNumber(BFloat16 x, BFloat16 y) 1502BFloat16 ax = Abs(x); 1503BFloat16 ay = Abs(y); 1519public static BFloat16 MinMagnitude(BFloat16 x, BFloat16 y) => (BFloat16)float.MinMagnitude((float)x, (float)y); 1522public static BFloat16 MinMagnitudeNumber(BFloat16 x, BFloat16 y) 1530BFloat16 ax = Abs(x); 1531BFloat16 ay = Abs(y); 1548static bool INumberBase<BFloat16>.TryConvertFromChecked<TOther>(TOther value, out BFloat16 result) 1555static bool INumberBase<BFloat16>.TryConvertFromSaturating<TOther>(TOther value, out BFloat16 result) 1562static bool INumberBase<BFloat16>.TryConvertFromTruncating<TOther>(TOther value, out BFloat16 result) 1568private static bool TryConvertFrom<TOther>(TOther value, out BFloat16 result) 1577result = (BFloat16)actualValue; 1583result = (BFloat16)actualValue; 1589result = (BFloat16)actualValue; 1601result = (BFloat16)actualValue; 1607result = (BFloat16)actualValue; 1613result = (BFloat16)actualValue; 1619result = (BFloat16)actualValue; 1625result = (BFloat16)actualValue; 1631result = (BFloat16)actualValue; 1637result = (BFloat16)actualValue; 1643result = (BFloat16)actualValue; 1649result = (BFloat16)actualValue; 1655result = (BFloat16)actualValue; 1661result = (BFloat16)actualValue; 1667result = (BFloat16)actualValue; 1673result = (BFloat16)actualValue; 1685static bool INumberBase<BFloat16>.TryConvertToChecked<TOther>(BFloat16 value, [MaybeNullWhen(false)] out TOther result) 1801static bool INumberBase<BFloat16>.TryConvertToSaturating<TOther>(BFloat16 value, [MaybeNullWhen(false)] out TOther result) 1808static bool INumberBase<BFloat16>.TryConvertToTruncating<TOther>(BFloat16 value, [MaybeNullWhen(false)] out TOther result) 1814private static bool TryConvertTo<TOther>(BFloat16 value, [MaybeNullWhen(false)] out TOther result) 1945public static bool TryParsePartial([NotNullWhen(true)] string? s, NumberStyles style, IFormatProvider? provider, out BFloat16 result, out int charsConsumed) 1952public static bool TryParsePartial(ReadOnlySpan<char> s, NumberStyles style, IFormatProvider? provider, out BFloat16 result, out int charsConsumed) 1959public static bool TryParsePartial(ReadOnlySpan<byte> utf8Text, NumberStyles style, IFormatProvider? provider, out BFloat16 result, out int bytesConsumed) 1970public static bool TryParse([NotNullWhen(true)] string? s, IFormatProvider? provider, out BFloat16 result) => TryParse(s, DefaultParseStyle, provider, out result); 1977public static BFloat16 Pow(BFloat16 x, BFloat16 y) => (BFloat16)float.Pow((float)x, (float)y); 1984public static BFloat16 Cbrt(BFloat16 x) => (BFloat16)float.Cbrt((float)x); 1987public static BFloat16 Hypot(BFloat16 x, BFloat16 y) => (BFloat16)float.Hypot((float)x, (float)y); 1990public static BFloat16 RootN(BFloat16 x, int n) => (BFloat16)float.RootN((float)x, n); 1993public static BFloat16 Sqrt(BFloat16 x) => (BFloat16)float.Sqrt((float)x); 2000public static BFloat16 NegativeOne => new BFloat16(NegativeOneBits); 2007public static BFloat16 Parse(ReadOnlySpan<char> s, IFormatProvider? provider) => Parse(s, DefaultParseStyle, provider); 2010public static bool TryParse(ReadOnlySpan<char> s, IFormatProvider? provider, out BFloat16 result) => TryParse(s, DefaultParseStyle, provider, out result); 2017public static BFloat16 operator -(BFloat16 left, BFloat16 right) => (BFloat16)((float)left - (float)right); 2024public static BFloat16 Acos(BFloat16 x) => (BFloat16)float.Acos((float)x); 2027public static BFloat16 AcosPi(BFloat16 x) => (BFloat16)float.AcosPi((float)x); 2030public static BFloat16 Asin(BFloat16 x) => (BFloat16)float.Asin((float)x); 2033public static BFloat16 AsinPi(BFloat16 x) => (BFloat16)float.AsinPi((float)x); 2036public static BFloat16 Atan(BFloat16 x) => (BFloat16)float.Atan((float)x); 2039public static BFloat16 AtanPi(BFloat16 x) => (BFloat16)float.AtanPi((float)x); 2042public static BFloat16 Cos(BFloat16 x) => (BFloat16)float.Cos((float)x); 2045public static BFloat16 CosPi(BFloat16 x) => (BFloat16)float.CosPi((float)x); 2048public static BFloat16 DegreesToRadians(BFloat16 degrees) 2053return (BFloat16)float.DegreesToRadians((float)degrees); 2057public static BFloat16 RadiansToDegrees(BFloat16 radians) 2062return (BFloat16)float.RadiansToDegrees((float)radians); 2066public static BFloat16 Sin(BFloat16 x) => (BFloat16)float.Sin((float)x); 2069public static (BFloat16 Sin, BFloat16 Cos) SinCos(BFloat16 x) 2072return ((BFloat16)sin, (BFloat16)cos); 2076public static (BFloat16 SinPi, BFloat16 CosPi) SinCosPi(BFloat16 x) 2079return ((BFloat16)sinPi, (BFloat16)cosPi); 2083public static BFloat16 SinPi(BFloat16 x) => (BFloat16)float.SinPi((float)x); 2086public static BFloat16 Tan(BFloat16 x) => (BFloat16)float.Tan((float)x); 2089public static BFloat16 TanPi(BFloat16 x) => (BFloat16)float.TanPi((float)x); 2096public static BFloat16 operator -(BFloat16 value) => (BFloat16)(-(float)value); 2103public static BFloat16 operator +(BFloat16 value) => value; 2110public static BFloat16 Parse(ReadOnlySpan<byte> utf8Text, NumberStyles style = DefaultParseStyle, IFormatProvider? provider = null) 2113return Number.ParseFloat<byte, BFloat16>(utf8Text, style, NumberFormatInfo.GetInstance(provider)); 2117public static bool TryParse(ReadOnlySpan<byte> utf8Text, NumberStyles style, IFormatProvider? provider, out BFloat16 result) 2124public static BFloat16 Parse(ReadOnlySpan<byte> utf8Text, IFormatProvider? provider) => Parse(utf8Text, DefaultParseStyle, provider); 2127public static bool TryParse(ReadOnlySpan<byte> utf8Text, IFormatProvider? provider, out BFloat16 result) => TryParse(utf8Text, DefaultParseStyle, provider, out result); 2133static int IBinaryFloatParseAndFormatInfo<BFloat16>.NumberBufferLength => 96 + 1 + 1; // 96 for the longest input + 1 for rounding (+1 for the null terminator) 2135static ulong IBinaryFloatParseAndFormatInfo<BFloat16>.ZeroBits => 0; 2136static ulong IBinaryFloatParseAndFormatInfo<BFloat16>.InfinityBits => PositiveInfinityBits; 2138static ulong IBinaryFloatParseAndFormatInfo<BFloat16>.NormalMantissaMask => (1UL << SignificandLength) - 1; 2139static ulong IBinaryFloatParseAndFormatInfo<BFloat16>.DenormalMantissaMask => TrailingSignificandMask; 2141static int IBinaryFloatParseAndFormatInfo<BFloat16>.MinBinaryExponent => 1 - MaxExponent; 2142static int IBinaryFloatParseAndFormatInfo<BFloat16>.MaxBinaryExponent => MaxExponent; 2144static int IBinaryFloatParseAndFormatInfo<BFloat16>.MinDecimalExponent => -41; 2145static int IBinaryFloatParseAndFormatInfo<BFloat16>.MaxDecimalExponent => 39; 2147static int IBinaryFloatParseAndFormatInfo<BFloat16>.ExponentBias => ExponentBias; 2148static ushort IBinaryFloatParseAndFormatInfo<BFloat16>.ExponentBits => BiasedExponentLength; 2150static int IBinaryFloatParseAndFormatInfo<BFloat16>.OverflowDecimalExponent => (MaxExponent + (2 * SignificandLength)) / 3; 2151static int IBinaryFloatParseAndFormatInfo<BFloat16>.InfinityExponent => MaxBiasedExponent; 2153static ushort IBinaryFloatParseAndFormatInfo<BFloat16>.NormalMantissaBits => SignificandLength; 2154static ushort IBinaryFloatParseAndFormatInfo<BFloat16>.DenormalMantissaBits => TrailingSignificandLength; 2156static int IBinaryFloatParseAndFormatInfo<BFloat16>.MinFastFloatDecimalExponent => -59; 2157static int IBinaryFloatParseAndFormatInfo<BFloat16>.MaxFastFloatDecimalExponent => 38; 2159static int IBinaryFloatParseAndFormatInfo<BFloat16>.MinExponentRoundToEven => -24; 2160static int IBinaryFloatParseAndFormatInfo<BFloat16>.MaxExponentRoundToEven => 3; 2162static int IBinaryFloatParseAndFormatInfo<BFloat16>.MaxExponentFastPath => 3; 2163static ulong IBinaryFloatParseAndFormatInfo<BFloat16>.MaxMantissaFastPath => 2UL << TrailingSignificandLength; 2165static int IBinaryFloatParseAndFormatInfo<BFloat16>.MaxRoundTripDigits => 4; 2167static int IBinaryFloatParseAndFormatInfo<BFloat16>.MaxPrecisionCustomFormat => 4; 2169static BFloat16 IBinaryFloatParseAndFormatInfo<BFloat16>.BitsToFloat(ulong bits) => new BFloat16((ushort)(bits)); 2171static ulong IBinaryFloatParseAndFormatInfo<BFloat16>.FloatToBits(BFloat16 value) => value._value;
src\runtime\src\libraries\System.Private.CoreLib\src\System\Numerics\TotalOrderIeee754Comparer.cs (5)
66else if (typeof(T) == typeof(BFloat16)) 68return CompareIntegerSemantic(Unsafe.BitCast<BFloat16, short>((BFloat16)(object)x!), Unsafe.BitCast<BFloat16, short>((BFloat16)(object)y!));
System.Runtime (1)
src\runtime\artifacts\obj\System.Runtime\Release\net11.0\System.Runtime.Forwards.cs (1)
376[assembly: System.Runtime.CompilerServices.TypeForwardedTo(typeof(System.Numerics.BFloat16))]
System.Runtime.Numerics (31)
System\Numerics\BigInteger.cs (29)
2217/// <summary>Explicitly converts a big integer to a <see cref="BFloat16" /> value.</summary> 2219/// <returns><paramref name="value" /> converted to <see cref="BFloat16" /> value.</returns> 2220public static explicit operator BFloat16(BigInteger value) 2227return (BFloat16)sign; 2235BFloat16 result = (BFloat16)ToUInt64(bits); 2239return (BFloat16)ConvertToDouble(value, precision: 8); 2494/// <summary>Explicitly converts a <see cref="BFloat16" /> value to a big integer.</summary> 2497public static explicit operator BigInteger(BFloat16 value) => new BigInteger((float)value); 4305else if (typeof(TOther) == typeof(BFloat16)) 4307BFloat16 actualValue = (BFloat16)(object)value; 4428else if (typeof(TOther) == typeof(BFloat16)) 4430BFloat16 actualValue = (BFloat16)(object)value; 4431result = BFloat16.IsNaN(actualValue) ? Zero : (BigInteger)actualValue; 4551else if (typeof(TOther) == typeof(BFloat16)) 4553BFloat16 actualValue = (BFloat16)(object)value; 4554result = BFloat16.IsNaN(actualValue) ? Zero : (BigInteger)actualValue; 4670else if (typeof(TOther) == typeof(BFloat16)) 4672BFloat16 actualResult = (BFloat16)value; 4818else if (typeof(TOther) == typeof(BFloat16)) 4820BFloat16 actualResult = (BFloat16)value; 5029else if (typeof(TOther) == typeof(BFloat16)) 5031BFloat16 actualResult = (BFloat16)value;
System\Numerics\Complex.cs (2)
412/// <summary>Implicitly converts a <see cref="BFloat16" /> value to a double-precision complex number.</summary> 415public static implicit operator Complex(BFloat16 value)