4 implementations of IBinaryFloatParseAndFormatInfo
System.Private.CoreLib (4)
src\runtime\src\libraries\System.Private.CoreLib\src\System\Double.cs (1)
32IBinaryFloatParseAndFormatInfo<double>
src\runtime\src\libraries\System.Private.CoreLib\src\System\Half.cs (1)
31IBinaryFloatParseAndFormatInfo<Half>
src\runtime\src\libraries\System.Private.CoreLib\src\System\Numerics\BFloat16.cs (1)
23IBinaryFloatParseAndFormatInfo<BFloat16>
src\runtime\src\libraries\System.Private.CoreLib\src\System\Single.cs (1)
30IBinaryFloatParseAndFormatInfo<float>
128 references to IBinaryFloatParseAndFormatInfo
System.Private.CoreLib (128)
src\runtime\src\libraries\System.Private.CoreLib\src\System\Decimal.DecCalc.cs (2)
1612where TNumber : unmanaged, IBinaryFloatParseAndFormatInfo<TNumber> 1737where TFloat : unmanaged, IBinaryFloatParseAndFormatInfo<TFloat>
src\runtime\src\libraries\System.Private.CoreLib\src\System\Double.cs (25)
2557static int IBinaryFloatParseAndFormatInfo<double>.NumberBufferLength => Number.DoubleNumberBufferLength; 2559static ulong IBinaryFloatParseAndFormatInfo<double>.ZeroBits => 0; 2560static ulong IBinaryFloatParseAndFormatInfo<double>.InfinityBits => 0x7FF00000_00000000; 2562static ulong IBinaryFloatParseAndFormatInfo<double>.NormalMantissaMask => (1UL << SignificandLength) - 1; 2563static ulong IBinaryFloatParseAndFormatInfo<double>.DenormalMantissaMask => TrailingSignificandMask; 2565static int IBinaryFloatParseAndFormatInfo<double>.MinBinaryExponent => 1 - MaxExponent; 2566static int IBinaryFloatParseAndFormatInfo<double>.MaxBinaryExponent => MaxExponent; 2568static int IBinaryFloatParseAndFormatInfo<double>.MinDecimalExponent => -324; 2569static int IBinaryFloatParseAndFormatInfo<double>.MaxDecimalExponent => 309; 2571static int IBinaryFloatParseAndFormatInfo<double>.ExponentBias => ExponentBias; 2572static ushort IBinaryFloatParseAndFormatInfo<double>.ExponentBits => 11; 2574static int IBinaryFloatParseAndFormatInfo<double>.OverflowDecimalExponent => (MaxExponent + (2 * SignificandLength)) / 3; 2575static int IBinaryFloatParseAndFormatInfo<double>.InfinityExponent => 0x7FF; 2577static ushort IBinaryFloatParseAndFormatInfo<double>.NormalMantissaBits => SignificandLength; 2578static ushort IBinaryFloatParseAndFormatInfo<double>.DenormalMantissaBits => TrailingSignificandLength; 2580static int IBinaryFloatParseAndFormatInfo<double>.MinFastFloatDecimalExponent => -342; 2581static int IBinaryFloatParseAndFormatInfo<double>.MaxFastFloatDecimalExponent => 308; 2583static int IBinaryFloatParseAndFormatInfo<double>.MinExponentRoundToEven => -4; 2584static int IBinaryFloatParseAndFormatInfo<double>.MaxExponentRoundToEven => 23; 2586static int IBinaryFloatParseAndFormatInfo<double>.MaxExponentFastPath => 22; 2587static ulong IBinaryFloatParseAndFormatInfo<double>.MaxMantissaFastPath => 2UL << TrailingSignificandLength; 2589static double IBinaryFloatParseAndFormatInfo<double>.BitsToFloat(ulong bits) => BitConverter.UInt64BitsToDouble(bits); 2591static ulong IBinaryFloatParseAndFormatInfo<double>.FloatToBits(double value) => BitConverter.DoubleToUInt64Bits(value); 2593static int IBinaryFloatParseAndFormatInfo<double>.MaxRoundTripDigits => 17; 2595static int IBinaryFloatParseAndFormatInfo<double>.MaxPrecisionCustomFormat => 15;
src\runtime\src\libraries\System.Private.CoreLib\src\System\Half.cs (25)
2400static int IBinaryFloatParseAndFormatInfo<Half>.NumberBufferLength => Number.HalfNumberBufferLength; 2402static ulong IBinaryFloatParseAndFormatInfo<Half>.ZeroBits => 0; 2403static ulong IBinaryFloatParseAndFormatInfo<Half>.InfinityBits => PositiveInfinityBits; 2405static ulong IBinaryFloatParseAndFormatInfo<Half>.NormalMantissaMask => (1UL << SignificandLength) - 1; 2406static ulong IBinaryFloatParseAndFormatInfo<Half>.DenormalMantissaMask => TrailingSignificandMask; 2408static int IBinaryFloatParseAndFormatInfo<Half>.MinBinaryExponent => 1 - MaxExponent; 2409static int IBinaryFloatParseAndFormatInfo<Half>.MaxBinaryExponent => MaxExponent; 2411static int IBinaryFloatParseAndFormatInfo<Half>.MinDecimalExponent => -8; 2412static int IBinaryFloatParseAndFormatInfo<Half>.MaxDecimalExponent => 5; 2414static int IBinaryFloatParseAndFormatInfo<Half>.ExponentBias => ExponentBias; 2415static ushort IBinaryFloatParseAndFormatInfo<Half>.ExponentBits => BiasedExponentLength; 2417static int IBinaryFloatParseAndFormatInfo<Half>.OverflowDecimalExponent => (MaxExponent + (2 * SignificandLength)) / 3; 2418static int IBinaryFloatParseAndFormatInfo<Half>.InfinityExponent => MaxBiasedExponent; 2420static ushort IBinaryFloatParseAndFormatInfo<Half>.NormalMantissaBits => SignificandLength; 2421static ushort IBinaryFloatParseAndFormatInfo<Half>.DenormalMantissaBits => TrailingSignificandLength; 2423static int IBinaryFloatParseAndFormatInfo<Half>.MinFastFloatDecimalExponent => -26; 2424static int IBinaryFloatParseAndFormatInfo<Half>.MaxFastFloatDecimalExponent => 4; 2426static int IBinaryFloatParseAndFormatInfo<Half>.MinExponentRoundToEven => -21; 2427static int IBinaryFloatParseAndFormatInfo<Half>.MaxExponentRoundToEven => 5; 2429static int IBinaryFloatParseAndFormatInfo<Half>.MaxExponentFastPath => 4; 2430static ulong IBinaryFloatParseAndFormatInfo<Half>.MaxMantissaFastPath => 2UL << TrailingSignificandLength; 2432static Half IBinaryFloatParseAndFormatInfo<Half>.BitsToFloat(ulong bits) => BitConverter.UInt16BitsToHalf((ushort)(bits)); 2434static ulong IBinaryFloatParseAndFormatInfo<Half>.FloatToBits(Half value) => BitConverter.HalfToUInt16Bits(value); 2436static int IBinaryFloatParseAndFormatInfo<Half>.MaxRoundTripDigits => 5; 2438static int IBinaryFloatParseAndFormatInfo<Half>.MaxPrecisionCustomFormat => 5;
src\runtime\src\libraries\System.Private.CoreLib\src\System\Number.DecimalIeee754.cs (2)
3717where TFloat : unmanaged, IBinaryFloatParseAndFormatInfo<TFloat> 3791where TFloat : unmanaged, IBinaryFloatParseAndFormatInfo<TFloat>
src\runtime\src\libraries\System.Private.CoreLib\src\System\Number.DiyFp.cs (2)
33where TNumber : unmanaged, IBinaryFloatParseAndFormatInfo<TNumber> 41where TNumber : unmanaged, IBinaryFloatParseAndFormatInfo<TNumber>
src\runtime\src\libraries\System.Private.CoreLib\src\System\Number.Dragon4.cs (2)
15where TNumber : unmanaged, IBinaryFloatParseAndFormatInfo<TNumber> 21where TNumber : unmanaged, IBinaryFloatParseAndFormatInfo<TNumber>
src\runtime\src\libraries\System.Private.CoreLib\src\System\Number.Formatting.cs (5)
770where TNumber : unmanaged, IBinaryFloatParseAndFormatInfo<TNumber> 973where TNumber : unmanaged, IBinaryFloatParseAndFormatInfo<TNumber> 982where TNumber : unmanaged, IBinaryFloatParseAndFormatInfo<TNumber> 1005where TNumber : unmanaged, IBinaryFloatParseAndFormatInfo<TNumber> 3023where TNumber : unmanaged, IBinaryFloatParseAndFormatInfo<TNumber>
src\runtime\src\libraries\System.Private.CoreLib\src\System\Number.Grisu3.cs (1)
325where TNumber : unmanaged, IBinaryFloatParseAndFormatInfo<TNumber>
src\runtime\src\libraries\System.Private.CoreLib\src\System\Number.NumberToFloatingPointBits.cs (6)
735where TFloat : unmanaged, IBinaryFloatParseAndFormatInfo<TFloat> 854where TFloat : unmanaged, IBinaryFloatParseAndFormatInfo<TFloat> 955where TFloat : unmanaged, IBinaryFloatParseAndFormatInfo<TFloat> 1005where TFloat : unmanaged, IBinaryFloatParseAndFormatInfo<TFloat> 1045where TFloat : unmanaged, IBinaryFloatParseAndFormatInfo<TFloat> 1265where TFloat : unmanaged, IBinaryFloatParseAndFormatInfo<TFloat>
src\runtime\src\libraries\System.Private.CoreLib\src\System\Number.Parsing.cs (5)
50where TSelf : unmanaged, IBinaryFloatParseAndFormatInfo<TSelf> 963where TFloat : unmanaged, IBinaryFloatParseAndFormatInfo<TFloat> 1200where TFloat : unmanaged, IBinaryFloatParseAndFormatInfo<TFloat> 1579where TFloat : unmanaged, IBinaryFloatParseAndFormatInfo<TFloat> 1747where TFloat : unmanaged, IBinaryFloatParseAndFormatInfo<TFloat>
src\runtime\src\libraries\System.Private.CoreLib\src\System\Number.Rounding.cs (3)
51where TNumber : unmanaged, IBinaryFloatParseAndFormatInfo<TNumber> 271where TNumber : unmanaged, IBinaryFloatParseAndFormatInfo<TNumber> 297where TNumber : unmanaged, IBinaryFloatParseAndFormatInfo<TNumber>
src\runtime\src\libraries\System.Private.CoreLib\src\System\Numerics\BFloat16.cs (25)
2121static int IBinaryFloatParseAndFormatInfo<BFloat16>.NumberBufferLength => 96 + 1 + 1; // 96 for the longest input + 1 for rounding (+1 for the null terminator) 2123static ulong IBinaryFloatParseAndFormatInfo<BFloat16>.ZeroBits => 0; 2124static ulong IBinaryFloatParseAndFormatInfo<BFloat16>.InfinityBits => PositiveInfinityBits; 2126static ulong IBinaryFloatParseAndFormatInfo<BFloat16>.NormalMantissaMask => (1UL << SignificandLength) - 1; 2127static ulong IBinaryFloatParseAndFormatInfo<BFloat16>.DenormalMantissaMask => TrailingSignificandMask; 2129static int IBinaryFloatParseAndFormatInfo<BFloat16>.MinBinaryExponent => 1 - MaxExponent; 2130static int IBinaryFloatParseAndFormatInfo<BFloat16>.MaxBinaryExponent => MaxExponent; 2132static int IBinaryFloatParseAndFormatInfo<BFloat16>.MinDecimalExponent => -41; 2133static int IBinaryFloatParseAndFormatInfo<BFloat16>.MaxDecimalExponent => 39; 2135static int IBinaryFloatParseAndFormatInfo<BFloat16>.ExponentBias => ExponentBias; 2136static ushort IBinaryFloatParseAndFormatInfo<BFloat16>.ExponentBits => BiasedExponentLength; 2138static int IBinaryFloatParseAndFormatInfo<BFloat16>.OverflowDecimalExponent => (MaxExponent + (2 * SignificandLength)) / 3; 2139static int IBinaryFloatParseAndFormatInfo<BFloat16>.InfinityExponent => MaxBiasedExponent; 2141static ushort IBinaryFloatParseAndFormatInfo<BFloat16>.NormalMantissaBits => SignificandLength; 2142static ushort IBinaryFloatParseAndFormatInfo<BFloat16>.DenormalMantissaBits => TrailingSignificandLength; 2144static int IBinaryFloatParseAndFormatInfo<BFloat16>.MinFastFloatDecimalExponent => -59; 2145static int IBinaryFloatParseAndFormatInfo<BFloat16>.MaxFastFloatDecimalExponent => 38; 2147static int IBinaryFloatParseAndFormatInfo<BFloat16>.MinExponentRoundToEven => -24; 2148static int IBinaryFloatParseAndFormatInfo<BFloat16>.MaxExponentRoundToEven => 3; 2150static int IBinaryFloatParseAndFormatInfo<BFloat16>.MaxExponentFastPath => 3; 2151static ulong IBinaryFloatParseAndFormatInfo<BFloat16>.MaxMantissaFastPath => 2UL << TrailingSignificandLength; 2153static int IBinaryFloatParseAndFormatInfo<BFloat16>.MaxRoundTripDigits => 4; 2155static int IBinaryFloatParseAndFormatInfo<BFloat16>.MaxPrecisionCustomFormat => 4; 2157static BFloat16 IBinaryFloatParseAndFormatInfo<BFloat16>.BitsToFloat(ulong bits) => new BFloat16((ushort)(bits)); 2159static ulong IBinaryFloatParseAndFormatInfo<BFloat16>.FloatToBits(BFloat16 value) => value._value;
src\runtime\src\libraries\System.Private.CoreLib\src\System\Single.cs (25)
2245static int IBinaryFloatParseAndFormatInfo<float>.NumberBufferLength => Number.SingleNumberBufferLength; 2247static ulong IBinaryFloatParseAndFormatInfo<float>.ZeroBits => 0; 2248static ulong IBinaryFloatParseAndFormatInfo<float>.InfinityBits => 0x7F800000; 2250static ulong IBinaryFloatParseAndFormatInfo<float>.NormalMantissaMask => (1UL << SignificandLength) - 1; 2251static ulong IBinaryFloatParseAndFormatInfo<float>.DenormalMantissaMask => TrailingSignificandMask; 2253static int IBinaryFloatParseAndFormatInfo<float>.MinBinaryExponent => 1 - MaxExponent; 2254static int IBinaryFloatParseAndFormatInfo<float>.MaxBinaryExponent => MaxExponent; 2256static int IBinaryFloatParseAndFormatInfo<float>.MinDecimalExponent => -45; 2257static int IBinaryFloatParseAndFormatInfo<float>.MaxDecimalExponent => 39; 2259static int IBinaryFloatParseAndFormatInfo<float>.ExponentBias => ExponentBias; 2260static ushort IBinaryFloatParseAndFormatInfo<float>.ExponentBits => 8; 2262static int IBinaryFloatParseAndFormatInfo<float>.OverflowDecimalExponent => (MaxExponent + (2 * SignificandLength)) / 3; 2263static int IBinaryFloatParseAndFormatInfo<float>.InfinityExponent => 0xFF; 2265static ushort IBinaryFloatParseAndFormatInfo<float>.NormalMantissaBits => SignificandLength; 2266static ushort IBinaryFloatParseAndFormatInfo<float>.DenormalMantissaBits => TrailingSignificandLength; 2268static int IBinaryFloatParseAndFormatInfo<float>.MinFastFloatDecimalExponent => -64; 2269static int IBinaryFloatParseAndFormatInfo<float>.MaxFastFloatDecimalExponent => 38; 2271static int IBinaryFloatParseAndFormatInfo<float>.MinExponentRoundToEven => -17; 2272static int IBinaryFloatParseAndFormatInfo<float>.MaxExponentRoundToEven => 10; 2274static int IBinaryFloatParseAndFormatInfo<float>.MaxExponentFastPath => 10; 2275static ulong IBinaryFloatParseAndFormatInfo<float>.MaxMantissaFastPath => 2UL << TrailingSignificandLength; 2277static float IBinaryFloatParseAndFormatInfo<float>.BitsToFloat(ulong bits) => BitConverter.UInt32BitsToSingle((uint)(bits)); 2279static ulong IBinaryFloatParseAndFormatInfo<float>.FloatToBits(float value) => BitConverter.SingleToUInt32Bits(value); 2281static int IBinaryFloatParseAndFormatInfo<float>.MaxRoundTripDigits => 9; 2283static int IBinaryFloatParseAndFormatInfo<float>.MaxPrecisionCustomFormat => 7;