4 implementations of IBinaryFloatParseAndFormatInfo
System.Private.CoreLib (4)
src\libraries\System.Private.CoreLib\src\System\Double.cs (1)
30IBinaryFloatParseAndFormatInfo<double>
src\libraries\System.Private.CoreLib\src\System\Half.cs (1)
28IBinaryFloatParseAndFormatInfo<Half>
src\libraries\System.Private.CoreLib\src\System\Numerics\BFloat16.cs (1)
23IBinaryFloatParseAndFormatInfo<BFloat16>
src\libraries\System.Private.CoreLib\src\System\Single.cs (1)
30IBinaryFloatParseAndFormatInfo<float>
117 references to IBinaryFloatParseAndFormatInfo
System.Private.CoreLib (117)
src\libraries\System.Private.CoreLib\src\System\Double.cs (25)
2288static int IBinaryFloatParseAndFormatInfo<double>.NumberBufferLength => Number.DoubleNumberBufferLength; 2290static ulong IBinaryFloatParseAndFormatInfo<double>.ZeroBits => 0; 2291static ulong IBinaryFloatParseAndFormatInfo<double>.InfinityBits => 0x7FF00000_00000000; 2293static ulong IBinaryFloatParseAndFormatInfo<double>.NormalMantissaMask => (1UL << SignificandLength) - 1; 2294static ulong IBinaryFloatParseAndFormatInfo<double>.DenormalMantissaMask => TrailingSignificandMask; 2296static int IBinaryFloatParseAndFormatInfo<double>.MinBinaryExponent => 1 - MaxExponent; 2297static int IBinaryFloatParseAndFormatInfo<double>.MaxBinaryExponent => MaxExponent; 2299static int IBinaryFloatParseAndFormatInfo<double>.MinDecimalExponent => -324; 2300static int IBinaryFloatParseAndFormatInfo<double>.MaxDecimalExponent => 309; 2302static int IBinaryFloatParseAndFormatInfo<double>.ExponentBias => ExponentBias; 2303static ushort IBinaryFloatParseAndFormatInfo<double>.ExponentBits => 11; 2305static int IBinaryFloatParseAndFormatInfo<double>.OverflowDecimalExponent => (MaxExponent + (2 * SignificandLength)) / 3; 2306static int IBinaryFloatParseAndFormatInfo<double>.InfinityExponent => 0x7FF; 2308static ushort IBinaryFloatParseAndFormatInfo<double>.NormalMantissaBits => SignificandLength; 2309static ushort IBinaryFloatParseAndFormatInfo<double>.DenormalMantissaBits => TrailingSignificandLength; 2311static int IBinaryFloatParseAndFormatInfo<double>.MinFastFloatDecimalExponent => -342; 2312static int IBinaryFloatParseAndFormatInfo<double>.MaxFastFloatDecimalExponent => 308; 2314static int IBinaryFloatParseAndFormatInfo<double>.MinExponentRoundToEven => -4; 2315static int IBinaryFloatParseAndFormatInfo<double>.MaxExponentRoundToEven => 23; 2317static int IBinaryFloatParseAndFormatInfo<double>.MaxExponentFastPath => 22; 2318static ulong IBinaryFloatParseAndFormatInfo<double>.MaxMantissaFastPath => 2UL << TrailingSignificandLength; 2320static double IBinaryFloatParseAndFormatInfo<double>.BitsToFloat(ulong bits) => BitConverter.UInt64BitsToDouble(bits); 2322static ulong IBinaryFloatParseAndFormatInfo<double>.FloatToBits(double value) => BitConverter.DoubleToUInt64Bits(value); 2324static int IBinaryFloatParseAndFormatInfo<double>.MaxRoundTripDigits => 17; 2326static int IBinaryFloatParseAndFormatInfo<double>.MaxPrecisionCustomFormat => 15;
src\libraries\System.Private.CoreLib\src\System\Half.cs (25)
2335static int IBinaryFloatParseAndFormatInfo<Half>.NumberBufferLength => Number.HalfNumberBufferLength; 2337static ulong IBinaryFloatParseAndFormatInfo<Half>.ZeroBits => 0; 2338static ulong IBinaryFloatParseAndFormatInfo<Half>.InfinityBits => PositiveInfinityBits; 2340static ulong IBinaryFloatParseAndFormatInfo<Half>.NormalMantissaMask => (1UL << SignificandLength) - 1; 2341static ulong IBinaryFloatParseAndFormatInfo<Half>.DenormalMantissaMask => TrailingSignificandMask; 2343static int IBinaryFloatParseAndFormatInfo<Half>.MinBinaryExponent => 1 - MaxExponent; 2344static int IBinaryFloatParseAndFormatInfo<Half>.MaxBinaryExponent => MaxExponent; 2346static int IBinaryFloatParseAndFormatInfo<Half>.MinDecimalExponent => -8; 2347static int IBinaryFloatParseAndFormatInfo<Half>.MaxDecimalExponent => 5; 2349static int IBinaryFloatParseAndFormatInfo<Half>.ExponentBias => ExponentBias; 2350static ushort IBinaryFloatParseAndFormatInfo<Half>.ExponentBits => BiasedExponentLength; 2352static int IBinaryFloatParseAndFormatInfo<Half>.OverflowDecimalExponent => (MaxExponent + (2 * SignificandLength)) / 3; 2353static int IBinaryFloatParseAndFormatInfo<Half>.InfinityExponent => MaxBiasedExponent; 2355static ushort IBinaryFloatParseAndFormatInfo<Half>.NormalMantissaBits => SignificandLength; 2356static ushort IBinaryFloatParseAndFormatInfo<Half>.DenormalMantissaBits => TrailingSignificandLength; 2358static int IBinaryFloatParseAndFormatInfo<Half>.MinFastFloatDecimalExponent => -26; 2359static int IBinaryFloatParseAndFormatInfo<Half>.MaxFastFloatDecimalExponent => 4; 2361static int IBinaryFloatParseAndFormatInfo<Half>.MinExponentRoundToEven => -21; 2362static int IBinaryFloatParseAndFormatInfo<Half>.MaxExponentRoundToEven => 5; 2364static int IBinaryFloatParseAndFormatInfo<Half>.MaxExponentFastPath => 4; 2365static ulong IBinaryFloatParseAndFormatInfo<Half>.MaxMantissaFastPath => 2UL << TrailingSignificandLength; 2367static Half IBinaryFloatParseAndFormatInfo<Half>.BitsToFloat(ulong bits) => BitConverter.UInt16BitsToHalf((ushort)(bits)); 2369static ulong IBinaryFloatParseAndFormatInfo<Half>.FloatToBits(Half value) => BitConverter.HalfToUInt16Bits(value); 2371static int IBinaryFloatParseAndFormatInfo<Half>.MaxRoundTripDigits => 5; 2373static int IBinaryFloatParseAndFormatInfo<Half>.MaxPrecisionCustomFormat => 5;
src\libraries\System.Private.CoreLib\src\System\Number.DiyFp.cs (2)
33where TNumber : unmanaged, IBinaryFloatParseAndFormatInfo<TNumber> 41where TNumber : unmanaged, IBinaryFloatParseAndFormatInfo<TNumber>
src\libraries\System.Private.CoreLib\src\System\Number.Dragon4.cs (1)
15where TNumber : unmanaged, IBinaryFloatParseAndFormatInfo<TNumber>
src\libraries\System.Private.CoreLib\src\System\Number.Formatting.cs (4)
544where TNumber : unmanaged, IBinaryFloatParseAndFormatInfo<TNumber> 553where TNumber : unmanaged, IBinaryFloatParseAndFormatInfo<TNumber> 576where TNumber : unmanaged, IBinaryFloatParseAndFormatInfo<TNumber> 2586where TNumber : unmanaged, IBinaryFloatParseAndFormatInfo<TNumber>
src\libraries\System.Private.CoreLib\src\System\Number.Grisu3.cs (1)
325where TNumber : unmanaged, IBinaryFloatParseAndFormatInfo<TNumber>
src\libraries\System.Private.CoreLib\src\System\Number.NumberToFloatingPointBits.cs (5)
720where TFloat : unmanaged, IBinaryFloatParseAndFormatInfo<TFloat> 839where TFloat : unmanaged, IBinaryFloatParseAndFormatInfo<TFloat> 973where TFloat : unmanaged, IBinaryFloatParseAndFormatInfo<TFloat> 1055where TFloat : unmanaged, IBinaryFloatParseAndFormatInfo<TFloat> 1275where TFloat : unmanaged, IBinaryFloatParseAndFormatInfo<TFloat>
src\libraries\System.Private.CoreLib\src\System\Number.Parsing.cs (4)
51where TSelf : unmanaged, IBinaryFloatParseAndFormatInfo<TSelf> 892where TFloat : unmanaged, IBinaryFloatParseAndFormatInfo<TFloat> 984where TFloat : unmanaged, IBinaryFloatParseAndFormatInfo<TFloat> 1117where TFloat : unmanaged, IBinaryFloatParseAndFormatInfo<TFloat>
src\libraries\System.Private.CoreLib\src\System\Numerics\BFloat16.cs (25)
2112static int IBinaryFloatParseAndFormatInfo<BFloat16>.NumberBufferLength => 96 + 1 + 1; // 96 for the longest input + 1 for rounding (+1 for the null terminator) 2114static ulong IBinaryFloatParseAndFormatInfo<BFloat16>.ZeroBits => 0; 2115static ulong IBinaryFloatParseAndFormatInfo<BFloat16>.InfinityBits => PositiveInfinityBits; 2117static ulong IBinaryFloatParseAndFormatInfo<BFloat16>.NormalMantissaMask => (1UL << SignificandLength) - 1; 2118static ulong IBinaryFloatParseAndFormatInfo<BFloat16>.DenormalMantissaMask => TrailingSignificandMask; 2120static int IBinaryFloatParseAndFormatInfo<BFloat16>.MinBinaryExponent => 1 - MaxExponent; 2121static int IBinaryFloatParseAndFormatInfo<BFloat16>.MaxBinaryExponent => MaxExponent; 2123static int IBinaryFloatParseAndFormatInfo<BFloat16>.MinDecimalExponent => -41; 2124static int IBinaryFloatParseAndFormatInfo<BFloat16>.MaxDecimalExponent => 39; 2126static int IBinaryFloatParseAndFormatInfo<BFloat16>.ExponentBias => ExponentBias; 2127static ushort IBinaryFloatParseAndFormatInfo<BFloat16>.ExponentBits => BiasedExponentLength; 2129static int IBinaryFloatParseAndFormatInfo<BFloat16>.OverflowDecimalExponent => (MaxExponent + (2 * SignificandLength)) / 3; 2130static int IBinaryFloatParseAndFormatInfo<BFloat16>.InfinityExponent => MaxBiasedExponent; 2132static ushort IBinaryFloatParseAndFormatInfo<BFloat16>.NormalMantissaBits => SignificandLength; 2133static ushort IBinaryFloatParseAndFormatInfo<BFloat16>.DenormalMantissaBits => TrailingSignificandLength; 2135static int IBinaryFloatParseAndFormatInfo<BFloat16>.MinFastFloatDecimalExponent => -59; 2136static int IBinaryFloatParseAndFormatInfo<BFloat16>.MaxFastFloatDecimalExponent => 38; 2138static int IBinaryFloatParseAndFormatInfo<BFloat16>.MinExponentRoundToEven => -24; 2139static int IBinaryFloatParseAndFormatInfo<BFloat16>.MaxExponentRoundToEven => 3; 2141static int IBinaryFloatParseAndFormatInfo<BFloat16>.MaxExponentFastPath => 3; 2142static ulong IBinaryFloatParseAndFormatInfo<BFloat16>.MaxMantissaFastPath => 2UL << TrailingSignificandLength; 2144static int IBinaryFloatParseAndFormatInfo<BFloat16>.MaxRoundTripDigits => 4; 2146static int IBinaryFloatParseAndFormatInfo<BFloat16>.MaxPrecisionCustomFormat => 4; 2148static BFloat16 IBinaryFloatParseAndFormatInfo<BFloat16>.BitsToFloat(ulong bits) => new BFloat16((ushort)(bits)); 2150static ulong IBinaryFloatParseAndFormatInfo<BFloat16>.FloatToBits(BFloat16 value) => value._value;
src\libraries\System.Private.CoreLib\src\System\Single.cs (25)
2204static int IBinaryFloatParseAndFormatInfo<float>.NumberBufferLength => Number.SingleNumberBufferLength; 2206static ulong IBinaryFloatParseAndFormatInfo<float>.ZeroBits => 0; 2207static ulong IBinaryFloatParseAndFormatInfo<float>.InfinityBits => 0x7F800000; 2209static ulong IBinaryFloatParseAndFormatInfo<float>.NormalMantissaMask => (1UL << SignificandLength) - 1; 2210static ulong IBinaryFloatParseAndFormatInfo<float>.DenormalMantissaMask => TrailingSignificandMask; 2212static int IBinaryFloatParseAndFormatInfo<float>.MinBinaryExponent => 1 - MaxExponent; 2213static int IBinaryFloatParseAndFormatInfo<float>.MaxBinaryExponent => MaxExponent; 2215static int IBinaryFloatParseAndFormatInfo<float>.MinDecimalExponent => -45; 2216static int IBinaryFloatParseAndFormatInfo<float>.MaxDecimalExponent => 39; 2218static int IBinaryFloatParseAndFormatInfo<float>.ExponentBias => ExponentBias; 2219static ushort IBinaryFloatParseAndFormatInfo<float>.ExponentBits => 8; 2221static int IBinaryFloatParseAndFormatInfo<float>.OverflowDecimalExponent => (MaxExponent + (2 * SignificandLength)) / 3; 2222static int IBinaryFloatParseAndFormatInfo<float>.InfinityExponent => 0xFF; 2224static ushort IBinaryFloatParseAndFormatInfo<float>.NormalMantissaBits => SignificandLength; 2225static ushort IBinaryFloatParseAndFormatInfo<float>.DenormalMantissaBits => TrailingSignificandLength; 2227static int IBinaryFloatParseAndFormatInfo<float>.MinFastFloatDecimalExponent => -64; 2228static int IBinaryFloatParseAndFormatInfo<float>.MaxFastFloatDecimalExponent => 38; 2230static int IBinaryFloatParseAndFormatInfo<float>.MinExponentRoundToEven => -17; 2231static int IBinaryFloatParseAndFormatInfo<float>.MaxExponentRoundToEven => 10; 2233static int IBinaryFloatParseAndFormatInfo<float>.MaxExponentFastPath => 10; 2234static ulong IBinaryFloatParseAndFormatInfo<float>.MaxMantissaFastPath => 2UL << TrailingSignificandLength; 2236static float IBinaryFloatParseAndFormatInfo<float>.BitsToFloat(ulong bits) => BitConverter.UInt32BitsToSingle((uint)(bits)); 2238static ulong IBinaryFloatParseAndFormatInfo<float>.FloatToBits(float value) => BitConverter.SingleToUInt32Bits(value); 2240static int IBinaryFloatParseAndFormatInfo<float>.MaxRoundTripDigits => 9; 2242static int IBinaryFloatParseAndFormatInfo<float>.MaxPrecisionCustomFormat => 7;