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