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