31 instantiations of BFloat16
System.Private.CoreLib (31)
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\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); 507return new BFloat16((ushort)bitValue); 554return new BFloat16((ushort)(roundedValueBits >> 16)); 596return new BFloat16((ushort)(!float.IsNaN(value) ? roundedBits : (bits >> 16))); 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)); 1077public static BFloat16 E => new BFloat16(EBits); 1080public static BFloat16 Pi => new BFloat16(PiBits); 1083public static BFloat16 Tau => new BFloat16(TauBits); 1090public static BFloat16 NegativeZero => new BFloat16(NegativeZeroBits); 1128return new BFloat16((ushort)bits); 1161return new BFloat16((ushort)bits); 1281public static BFloat16 MultiplicativeIdentity => new BFloat16(PositiveOneBits); 1307return new BFloat16((ushort)((xbits & ~SignMask) | (ybits & SignMask))); 1385public static BFloat16 One => new BFloat16(PositiveOneBits); 1391public static BFloat16 Zero => new BFloat16(PositiveZeroBits); 1394public static BFloat16 Abs(BFloat16 value) => new BFloat16((ushort)(value._value & ~SignMask)); 1977public static BFloat16 NegativeOne => new BFloat16(NegativeOneBits); 2146static BFloat16 IBinaryFloatParseAndFormatInfo<BFloat16>.BitsToFloat(ulong bits) => new BFloat16((ushort)(bits));
680 references to BFloat16
System.Private.CoreLib (638)
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\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\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\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\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\libraries\System.Private.CoreLib\src\System\Numerics\BFloat16.cs (587)
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) 321/// Tries to parse a <see cref="BFloat16"/> from a <see cref="ReadOnlySpan{Char}"/> with the given <see cref="NumberStyles"/> and <see cref="IFormatProvider"/>. 326/// <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> 328public static bool TryParse(ReadOnlySpan<char> s, NumberStyles style, IFormatProvider? provider, out BFloat16 result) 340/// <exception cref="ArgumentException">Thrown when <paramref name="obj"/> is not of type <see cref="BFloat16"/>.</exception> 343if (obj is not BFloat16 other) 354public int CompareTo(BFloat16 other) => ((float)this).CompareTo((float)other); 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; 369public static bool operator <=(BFloat16 left, BFloat16 right) => (float)left <= (float)right; 372public static bool operator >=(BFloat16 left, BFloat16 right) => (float)left >= (float)right; 379public bool Equals(BFloat16 other) => ((float)this).Equals((float)other); 384public override bool Equals(object? obj) => obj is BFloat16 other && Equals(other); 443/// <summary>Explicitly converts a <see cref="char" /> value to its nearest representable <see cref="BFloat16"/> value.</summary> 445/// <returns><paramref name="value" /> converted to its nearest representable <see cref="BFloat16"/> value.</returns> 446public static explicit operator BFloat16(char value) => (BFloat16)(float)value; 448/// <summary>Explicitly converts a <see cref="decimal" /> value to its nearest representable <see cref="BFloat16"/> value.</summary> 450/// <returns><paramref name="value" /> converted to its nearest representable <see cref="BFloat16"/> value.</returns> 451public static explicit operator BFloat16(decimal value) => (BFloat16)(float)value; 453/// <summary>Explicitly converts a <see cref="double" /> value to its nearest representable <see cref="BFloat16"/> value.</summary> 455/// <returns><paramref name="value" /> converted to its nearest representable <see cref="BFloat16"/> value.</returns> 456public static explicit operator BFloat16(double value) 535private static unsafe BFloat16 RoundFromSigned<TInteger>(TInteger value) 557/// <summary>Explicitly converts a <see cref="short" /> value to its nearest representable <see cref="BFloat16"/> value.</summary> 559/// <returns><paramref name="value" /> converted to its nearest representable <see cref="BFloat16"/> value.</returns> 560public static explicit operator BFloat16(short value) => (BFloat16)(float)value; 562/// <summary>Explicitly converts a <see cref="Half" /> value to its nearest representable <see cref="BFloat16"/> value.</summary> 564/// <returns><paramref name="value" /> converted to its nearest representable <see cref="BFloat16"/> value.</returns> 565public static explicit operator BFloat16(Half value) => (BFloat16)(float)value; 567/// <summary>Explicitly converts a <see cref="int" /> value to its nearest representable <see cref="BFloat16"/> value.</summary> 569/// <returns><paramref name="value" /> converted to its nearest representable <see cref="BFloat16"/> value.</returns> 570public static explicit operator BFloat16(int value) => RoundFromSigned(value); 572/// <summary>Explicitly converts a <see cref="long" /> value to its nearest representable <see cref="BFloat16"/> value.</summary> 574/// <returns><paramref name="value" /> converted to its nearest representable <see cref="BFloat16"/> value.</returns> 575public static explicit operator BFloat16(long value) => RoundFromSigned(value); 577/// <summary>Explicitly converts a <see cref="Int128" /> value to its nearest representable <see cref="BFloat16"/> value.</summary> 579/// <returns><paramref name="value" /> converted to its nearest representable <see cref="BFloat16"/> value.</returns> 580public static explicit operator BFloat16(Int128 value) => RoundFromSigned(value); 582/// <summary>Explicitly converts a <see cref="nint" /> value to its nearest representable <see cref="BFloat16"/> value.</summary> 584/// <returns><paramref name="value" /> converted to its nearest representable <see cref="BFloat16"/> value.</returns> 585public static explicit operator BFloat16(nint value) => RoundFromSigned(value); 587/// <summary>Explicitly converts a <see cref="float" /> value to its nearest representable <see cref="BFloat16"/> value.</summary> 589/// <returns><paramref name="value" /> converted to its nearest representable <see cref="BFloat16"/> value.</returns> 590public 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(ushort); 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) 1060bool IFloatingPoint<BFloat16>.TryWriteSignificandLittleEndian(Span<byte> destination, out int bytesWritten) 1077public static BFloat16 E => new BFloat16(EBits); 1080public static BFloat16 Pi => new BFloat16(PiBits); 1083public static BFloat16 Tau => new BFloat16(TauBits); 1090public static BFloat16 NegativeZero => new BFloat16(NegativeZeroBits); 1093public static BFloat16 Atan2(BFloat16 y, BFloat16 x) => (BFloat16)float.Atan2((float)y, (float)x); 1096public static BFloat16 Atan2Pi(BFloat16 y, BFloat16 x) => (BFloat16)float.Atan2Pi((float)y, (float)x); 1099public static BFloat16 BitDecrement(BFloat16 x) 1132public static BFloat16 BitIncrement(BFloat16 x) 1165public static BFloat16 FusedMultiplyAdd(BFloat16 left, BFloat16 right, BFloat16 addend) => (BFloat16)float.FusedMultiplyAdd((float)left, (float)right, (float)addend); 1168public static BFloat16 Ieee754Remainder(BFloat16 left, BFloat16 right) => (BFloat16)float.Ieee754Remainder((float)left, (float)right); 1171public static int ILogB(BFloat16 x) 1199public static BFloat16 Lerp(BFloat16 value1, BFloat16 value2, BFloat16 amount) => (BFloat16)float.Lerp((float)value1, (float)value2, (float)amount); 1202public static BFloat16 ReciprocalEstimate(BFloat16 x) => (BFloat16)float.ReciprocalEstimate((float)x); 1205public static BFloat16 ReciprocalSqrtEstimate(BFloat16 x) => (BFloat16)float.ReciprocalSqrtEstimate((float)x); 1208public static BFloat16 ScaleB(BFloat16 x, int n) => (BFloat16)float.ScaleB((float)x, n); 1218public static BFloat16 Acosh(BFloat16 x) => (BFloat16)float.Acosh((float)x); 1221public static BFloat16 Asinh(BFloat16 x) => (BFloat16)float.Asinh((float)x); 1224public static BFloat16 Atanh(BFloat16 x) => (BFloat16)float.Atanh((float)x); 1227public static BFloat16 Cosh(BFloat16 x) => (BFloat16)float.Cosh((float)x); 1230public static BFloat16 Sinh(BFloat16 x) => (BFloat16)float.Sinh((float)x); 1233public static BFloat16 Tanh(BFloat16 x) => (BFloat16)float.Tanh((float)x); 1240public static BFloat16 operator ++(BFloat16 value) 1244return (BFloat16)tmp; 1252public static BFloat16 Log(BFloat16 x) => (BFloat16)float.Log((float)x); 1255public static BFloat16 Log(BFloat16 x, BFloat16 newBase) => (BFloat16)float.Log((float)x, (float)newBase); 1258public static BFloat16 Log10(BFloat16 x) => (BFloat16)float.Log10((float)x); 1261public static BFloat16 LogP1(BFloat16 x) => (BFloat16)float.LogP1((float)x); 1264public static BFloat16 Log2P1(BFloat16 x) => (BFloat16)float.Log2P1((float)x); 1267public static BFloat16 Log10P1(BFloat16 x) => (BFloat16)float.Log10P1((float)x); 1274public static BFloat16 operator %(BFloat16 left, BFloat16 right) => (BFloat16)((float)left % (float)right); 1281public static BFloat16 MultiplicativeIdentity => new BFloat16(PositiveOneBits); 1288public static BFloat16 operator *(BFloat16 left, BFloat16 right) => (BFloat16)((float)left * (float)right); 1295public static BFloat16 Clamp(BFloat16 value, BFloat16 min, BFloat16 max) => (BFloat16)Math.Clamp((float)value, (float)min, (float)max); 1298public static BFloat16 CopySign(BFloat16 value, BFloat16 sign) 1311public static BFloat16 Max(BFloat16 x, BFloat16 y) => (BFloat16)float.Max((float)x, (float)y); 1314public static BFloat16 MaxNumber(BFloat16 x, BFloat16 y) 1336public static BFloat16 Min(BFloat16 x, BFloat16 y) => (BFloat16)float.Min((float)x, (float)y); 1339public static BFloat16 MinNumber(BFloat16 x, BFloat16 y) 1361public static int Sign(BFloat16 value) 1385public static BFloat16 One => new BFloat16(PositiveOneBits); 1388static int INumberBase<BFloat16>.Radix => 2; 1391public static BFloat16 Zero => new BFloat16(PositiveZeroBits); 1394public static BFloat16 Abs(BFloat16 value) => new BFloat16((ushort)(value._value & ~SignMask)); 1398public static BFloat16 CreateChecked<TOther>(TOther value) 1401BFloat16 result; 1403if (typeof(TOther) == typeof(BFloat16)) 1405result = (BFloat16)(object)value; 1417public static BFloat16 CreateSaturating<TOther>(TOther value) 1420BFloat16 result; 1422if (typeof(TOther) == typeof(BFloat16)) 1424result = (BFloat16)(object)value; 1436public static BFloat16 CreateTruncating<TOther>(TOther value) 1439BFloat16 result; 1441if (typeof(TOther) == typeof(BFloat16)) 1443result = (BFloat16)(object)value; 1454static bool INumberBase<BFloat16>.IsCanonical(BFloat16 value) => true; 1457static bool INumberBase<BFloat16>.IsComplexNumber(BFloat16 value) => false; 1460public static bool IsEvenInteger(BFloat16 value) => float.IsEvenInteger((float)value); 1463static bool INumberBase<BFloat16>.IsImaginaryNumber(BFloat16 value) => false; 1466public static bool IsInteger(BFloat16 value) => float.IsInteger((float)value); 1469public static bool IsOddInteger(BFloat16 value) => float.IsOddInteger((float)value); 1472public static bool IsPositive(BFloat16 value) => (short)(value._value) >= 0; 1475public static bool IsRealNumber(BFloat16 value) 1486static bool INumberBase<BFloat16>.IsZero(BFloat16 value) => IsZero(value); 1489public static BFloat16 MaxMagnitude(BFloat16 x, BFloat16 y) => (BFloat16)float.MaxMagnitude((float)x, (float)y); 1492public static BFloat16 MaxMagnitudeNumber(BFloat16 x, BFloat16 y) 1500BFloat16 ax = Abs(x); 1501BFloat16 ay = Abs(y); 1517public static BFloat16 MinMagnitude(BFloat16 x, BFloat16 y) => (BFloat16)float.MinMagnitude((float)x, (float)y); 1520public static BFloat16 MinMagnitudeNumber(BFloat16 x, BFloat16 y) 1528BFloat16 ax = Abs(x); 1529BFloat16 ay = Abs(y); 1546static bool INumberBase<BFloat16>.TryConvertFromChecked<TOther>(TOther value, out BFloat16 result) 1553static bool INumberBase<BFloat16>.TryConvertFromSaturating<TOther>(TOther value, out BFloat16 result) 1560static bool INumberBase<BFloat16>.TryConvertFromTruncating<TOther>(TOther value, out BFloat16 result) 1566private static bool TryConvertFrom<TOther>(TOther value, out BFloat16 result) 1575result = (BFloat16)actualValue; 1581result = (BFloat16)actualValue; 1587result = (BFloat16)actualValue; 1599result = (BFloat16)actualValue; 1605result = (BFloat16)actualValue; 1611result = (BFloat16)actualValue; 1617result = (BFloat16)actualValue; 1623result = (BFloat16)actualValue; 1629result = (BFloat16)actualValue; 1635result = (BFloat16)actualValue; 1641result = (BFloat16)actualValue; 1647result = (BFloat16)actualValue; 1653result = (BFloat16)actualValue; 1659result = (BFloat16)actualValue; 1665result = (BFloat16)actualValue; 1671result = (BFloat16)actualValue; 1683static bool INumberBase<BFloat16>.TryConvertToChecked<TOther>(BFloat16 value, [MaybeNullWhen(false)] out TOther result) 1799static bool INumberBase<BFloat16>.TryConvertToSaturating<TOther>(BFloat16 value, [MaybeNullWhen(false)] out TOther result) 1806static bool INumberBase<BFloat16>.TryConvertToTruncating<TOther>(BFloat16 value, [MaybeNullWhen(false)] out TOther result) 1812private static bool TryConvertTo<TOther>(BFloat16 value, [MaybeNullWhen(false)] out TOther result) 1947public static bool TryParse([NotNullWhen(true)] string? s, IFormatProvider? provider, out BFloat16 result) => TryParse(s, DefaultParseStyle, provider, out result); 1954public static BFloat16 Pow(BFloat16 x, BFloat16 y) => (BFloat16)float.Pow((float)x, (float)y); 1961public static BFloat16 Cbrt(BFloat16 x) => (BFloat16)float.Cbrt((float)x); 1964public static BFloat16 Hypot(BFloat16 x, BFloat16 y) => (BFloat16)float.Hypot((float)x, (float)y); 1967public static BFloat16 RootN(BFloat16 x, int n) => (BFloat16)float.RootN((float)x, n); 1970public static BFloat16 Sqrt(BFloat16 x) => (BFloat16)float.Sqrt((float)x); 1977public static BFloat16 NegativeOne => new BFloat16(NegativeOneBits); 1984public static BFloat16 Parse(ReadOnlySpan<char> s, IFormatProvider? provider) => Parse(s, DefaultParseStyle, provider); 1987public static bool TryParse(ReadOnlySpan<char> s, IFormatProvider? provider, out BFloat16 result) => TryParse(s, DefaultParseStyle, provider, out result); 1994public static BFloat16 operator -(BFloat16 left, BFloat16 right) => (BFloat16)((float)left - (float)right); 2001public static BFloat16 Acos(BFloat16 x) => (BFloat16)float.Acos((float)x); 2004public static BFloat16 AcosPi(BFloat16 x) => (BFloat16)float.AcosPi((float)x); 2007public static BFloat16 Asin(BFloat16 x) => (BFloat16)float.Asin((float)x); 2010public static BFloat16 AsinPi(BFloat16 x) => (BFloat16)float.AsinPi((float)x); 2013public static BFloat16 Atan(BFloat16 x) => (BFloat16)float.Atan((float)x); 2016public static BFloat16 AtanPi(BFloat16 x) => (BFloat16)float.AtanPi((float)x); 2019public static BFloat16 Cos(BFloat16 x) => (BFloat16)float.Cos((float)x); 2022public static BFloat16 CosPi(BFloat16 x) => (BFloat16)float.CosPi((float)x); 2025public static BFloat16 DegreesToRadians(BFloat16 degrees) 2030return (BFloat16)float.DegreesToRadians((float)degrees); 2034public static BFloat16 RadiansToDegrees(BFloat16 radians) 2039return (BFloat16)float.RadiansToDegrees((float)radians); 2043public static BFloat16 Sin(BFloat16 x) => (BFloat16)float.Sin((float)x); 2046public static (BFloat16 Sin, BFloat16 Cos) SinCos(BFloat16 x) 2049return ((BFloat16)sin, (BFloat16)cos); 2053public static (BFloat16 SinPi, BFloat16 CosPi) SinCosPi(BFloat16 x) 2056return ((BFloat16)sinPi, (BFloat16)cosPi); 2060public static BFloat16 SinPi(BFloat16 x) => (BFloat16)float.SinPi((float)x); 2063public static BFloat16 Tan(BFloat16 x) => (BFloat16)float.Tan((float)x); 2066public static BFloat16 TanPi(BFloat16 x) => (BFloat16)float.TanPi((float)x); 2073public static BFloat16 operator -(BFloat16 value) => (BFloat16)(-(float)value); 2080public static BFloat16 operator +(BFloat16 value) => value; 2087public static BFloat16 Parse(ReadOnlySpan<byte> utf8Text, NumberStyles style = DefaultParseStyle, IFormatProvider? provider = null) 2090return Number.ParseFloat<byte, BFloat16>(utf8Text, style, NumberFormatInfo.GetInstance(provider)); 2094public static bool TryParse(ReadOnlySpan<byte> utf8Text, NumberStyles style, IFormatProvider? provider, out BFloat16 result) 2101public static BFloat16 Parse(ReadOnlySpan<byte> utf8Text, IFormatProvider? provider) => Parse(utf8Text, DefaultParseStyle, provider); 2104public static bool TryParse(ReadOnlySpan<byte> utf8Text, IFormatProvider? provider, out BFloat16 result) => TryParse(utf8Text, DefaultParseStyle, provider, out result); 2110static int IBinaryFloatParseAndFormatInfo<BFloat16>.NumberBufferLength => 96 + 1 + 1; // 96 for the longest input + 1 for rounding (+1 for the null terminator) 2112static ulong IBinaryFloatParseAndFormatInfo<BFloat16>.ZeroBits => 0; 2113static ulong IBinaryFloatParseAndFormatInfo<BFloat16>.InfinityBits => PositiveInfinityBits; 2115static ulong IBinaryFloatParseAndFormatInfo<BFloat16>.NormalMantissaMask => (1UL << SignificandLength) - 1; 2116static ulong IBinaryFloatParseAndFormatInfo<BFloat16>.DenormalMantissaMask => TrailingSignificandMask; 2118static int IBinaryFloatParseAndFormatInfo<BFloat16>.MinBinaryExponent => 1 - MaxExponent; 2119static int IBinaryFloatParseAndFormatInfo<BFloat16>.MaxBinaryExponent => MaxExponent; 2121static int IBinaryFloatParseAndFormatInfo<BFloat16>.MinDecimalExponent => -41; 2122static int IBinaryFloatParseAndFormatInfo<BFloat16>.MaxDecimalExponent => 39; 2124static int IBinaryFloatParseAndFormatInfo<BFloat16>.ExponentBias => ExponentBias; 2125static ushort IBinaryFloatParseAndFormatInfo<BFloat16>.ExponentBits => BiasedExponentLength; 2127static int IBinaryFloatParseAndFormatInfo<BFloat16>.OverflowDecimalExponent => (MaxExponent + (2 * SignificandLength)) / 3; 2128static int IBinaryFloatParseAndFormatInfo<BFloat16>.InfinityExponent => MaxBiasedExponent; 2130static ushort IBinaryFloatParseAndFormatInfo<BFloat16>.NormalMantissaBits => SignificandLength; 2131static ushort IBinaryFloatParseAndFormatInfo<BFloat16>.DenormalMantissaBits => TrailingSignificandLength; 2133static int IBinaryFloatParseAndFormatInfo<BFloat16>.MinFastFloatDecimalExponent => -59; 2134static int IBinaryFloatParseAndFormatInfo<BFloat16>.MaxFastFloatDecimalExponent => 38; 2136static int IBinaryFloatParseAndFormatInfo<BFloat16>.MinExponentRoundToEven => -24; 2137static int IBinaryFloatParseAndFormatInfo<BFloat16>.MaxExponentRoundToEven => 3; 2139static int IBinaryFloatParseAndFormatInfo<BFloat16>.MaxExponentFastPath => 3; 2140static ulong IBinaryFloatParseAndFormatInfo<BFloat16>.MaxMantissaFastPath => 2UL << TrailingSignificandLength; 2142static int IBinaryFloatParseAndFormatInfo<BFloat16>.MaxRoundTripDigits => 4; 2144static int IBinaryFloatParseAndFormatInfo<BFloat16>.MaxPrecisionCustomFormat => 4; 2146static BFloat16 IBinaryFloatParseAndFormatInfo<BFloat16>.BitsToFloat(ulong bits) => new BFloat16((ushort)(bits)); 2148static ulong IBinaryFloatParseAndFormatInfo<BFloat16>.FloatToBits(BFloat16 value) => value._value;
System.Runtime (1)
artifacts\obj\System.Runtime\Debug\net11.0\System.Runtime.Forwards.cs (1)
371[assembly: System.Runtime.CompilerServices.TypeForwardedTo(typeof(System.Numerics.BFloat16))]
System.Runtime.Numerics (41)
System\Numerics\BigInteger.cs (26)
1920/// <summary>Explicitly converts a big integer to a <see cref="BFloat16" /> value.</summary> 1922/// <returns><paramref name="value" /> converted to <see cref="BFloat16" /> value.</returns> 1923public static explicit operator BFloat16(BigInteger value) 1925return (BFloat16)(double)value; 2181/// <summary>Explicitly converts a <see cref="BFloat16" /> value to a big integer.</summary> 2184public static explicit operator BigInteger(BFloat16 value) 4021else if (typeof(TOther) == typeof(BFloat16)) 4023BFloat16 actualValue = (BFloat16)(object)value; 4144else if (typeof(TOther) == typeof(BFloat16)) 4146BFloat16 actualValue = (BFloat16)(object)value; 4147result = BFloat16.IsNaN(actualValue) ? Zero : (BigInteger)actualValue; 4267else if (typeof(TOther) == typeof(BFloat16)) 4269BFloat16 actualValue = (BFloat16)(object)value; 4270result = BFloat16.IsNaN(actualValue) ? Zero : (BigInteger)actualValue; 4386else if (typeof(TOther) == typeof(BFloat16)) 4388BFloat16 actualResult = (BFloat16)value; 4534else if (typeof(TOther) == typeof(BFloat16)) 4536BFloat16 actualResult = (BFloat16)value; 4745else if (typeof(TOther) == typeof(BFloat16)) 4747BFloat16 actualResult = (BFloat16)value;
System\Numerics\Complex.cs (15)
837/// <summary>Implicitly converts a <see cref="BFloat16" /> value to a double-precision complex number.</summary> 840public static implicit operator Complex(BFloat16 value) 1551else if (typeof(TOther) == typeof(BFloat16)) 1553BFloat16 actualValue = (BFloat16)(object)value; 1690else if (typeof(TOther) == typeof(BFloat16)) 1692BFloat16 actualResult = (value.m_imaginary != 0) ? BFloat16.NaN : (BFloat16)value.m_real; 1889else if (typeof(TOther) == typeof(BFloat16)) 1891BFloat16 actualResult = (BFloat16)value.m_real; 2031else if (typeof(TOther) == typeof(BFloat16)) 2033BFloat16 actualResult = (BFloat16)value.m_real;