1 interface inheriting from IFloatingPoint
System.Private.CoreLib (1)
src\runtime\src\libraries\System.Private.CoreLib\src\System\Numerics\IFloatingPointIeee754.cs (1)
10IFloatingPoint<TSelf>,
1 implementation of IFloatingPoint
System.Private.CoreLib (1)
src\runtime\src\libraries\System.Private.CoreLib\src\System\Decimal.cs (1)
70IFloatingPoint<decimal>,
196 references to IFloatingPoint
System.Numerics.Tensors (43)
System\Numerics\Tensors\netcore\Tensor.cs (18)
386public static ref readonly TensorSpan<T> FillGaussianNormalDistribution<T>(in TensorSpan<T> destination, Random? random = null) where T : IFloatingPoint<T> 424public static ref readonly TensorSpan<T> FillUniformDistribution<T>(in TensorSpan<T> destination, Random? random = null) where T : IFloatingPoint<T> 3012where T : IFloatingPoint<T> 3025where T : IFloatingPoint<T> 3508where T : IFloatingPoint<T> 3519where T : IFloatingPoint<T> 4667where T : IFloatingPoint<T> 4678where T : IFloatingPoint<T> 4769where T : IFloatingPoint<T> 4780where T : IFloatingPoint<T> 4792where T : IFloatingPoint<T> 4805where T : IFloatingPoint<T> 4816where T : IFloatingPoint<T> 4828where T : IFloatingPoint<T> 4839where T : IFloatingPoint<T> 4851where T : IFloatingPoint<T> 5154where T : IFloatingPoint<T> 5165where T : IFloatingPoint<T>
System\Numerics\Tensors\netcore\TensorOperation.cs (5)
819where T : IFloatingPoint<T> 1146where T : IFloatingPoint<T> 1804where T : IFloatingPoint<T> 1863where T : IFloatingPoint<T> 2223where T : IFloatingPoint<T>
System\Numerics\Tensors\netcore\TensorPrimitives.Ceiling.cs (2)
22where T : IFloatingPoint<T> 32private readonly struct CeilingOperator<T> : IUnaryOperator<T, T> where T : IFloatingPoint<T>
System\Numerics\Tensors\netcore\TensorPrimitives.ConvertToInteger.cs (2)
23where TFrom : IFloatingPoint<TFrom> 29where TFrom : IFloatingPoint<TFrom>
System\Numerics\Tensors\netcore\TensorPrimitives.ConvertToIntegerNative.cs (2)
23where TFrom : IFloatingPoint<TFrom> 29where TFrom : IFloatingPoint<TFrom>
System\Numerics\Tensors\netcore\TensorPrimitives.Floor.cs (2)
22where T : IFloatingPoint<T> 32private readonly struct FloorOperator<T> : IUnaryOperator<T, T> where T : IFloatingPoint<T>
System\Numerics\Tensors\netcore\TensorPrimitives.Reciprocal.cs (2)
24where T : IFloatingPoint<T> 100private readonly struct ReciprocalOperator<T> : IUnaryOperator<T, T> where T : IFloatingPoint<T>
System\Numerics\Tensors\netcore\TensorPrimitives.Round.cs (8)
23where T : IFloatingPoint<T> 45where T : IFloatingPoint<T> 90public static void Round<T>(ReadOnlySpan<T> x, int digits, Span<T> destination) where T : IFloatingPoint<T> => 108where T : IFloatingPoint<T> 173private readonly struct RoundToEvenOperator<T> : IUnaryOperator<T, T> where T : IFloatingPoint<T> 231private readonly struct RoundAwayFromZeroOperator<T> : IUnaryOperator<T, T> where T : IFloatingPoint<T> 289where T : IFloatingPoint<T> 340where T : IFloatingPoint<T>
System\Numerics\Tensors\netcore\TensorPrimitives.Truncate.cs (2)
24where T : IFloatingPoint<T> 34private readonly struct TruncateOperator<T> : IUnaryOperator<T, T> where T : IFloatingPoint<T>
System.Private.CoreLib (150)
src\runtime\src\libraries\System.Private.CoreLib\src\System\Decimal.cs (18)
1121/// <inheritdoc cref="IFloatingPoint{TSelf}.ConvertToInteger{TInteger}(TSelf)" /> 1125/// <inheritdoc cref="IFloatingPoint{TSelf}.ConvertToIntegerNative{TInteger}(TSelf)" /> 1129/// <inheritdoc cref="IFloatingPoint{TSelf}.GetExponentByteCount()" /> 1130int IFloatingPoint<decimal>.GetExponentByteCount() => sizeof(sbyte); 1132/// <inheritdoc cref="IFloatingPoint{TSelf}.GetExponentShortestBitLength()" /> 1133int IFloatingPoint<decimal>.GetExponentShortestBitLength() 1139/// <inheritdoc cref="IFloatingPoint{TSelf}.GetSignificandByteCount()" /> 1140int IFloatingPoint<decimal>.GetSignificandByteCount() => sizeof(ulong) + sizeof(uint); 1142/// <inheritdoc cref="IFloatingPoint{TSelf}.GetSignificandBitLength()" /> 1143int IFloatingPoint<decimal>.GetSignificandBitLength() => 96; 1145/// <inheritdoc cref="IFloatingPoint{TSelf}.TryWriteExponentBigEndian(Span{byte}, out int)" /> 1146bool IFloatingPoint<decimal>.TryWriteExponentBigEndian(Span<byte> destination, out int bytesWritten) 1159/// <inheritdoc cref="IFloatingPoint{TSelf}.TryWriteExponentLittleEndian(Span{byte}, out int)" /> 1160bool IFloatingPoint<decimal>.TryWriteExponentLittleEndian(Span<byte> destination, out int bytesWritten) 1173/// <inheritdoc cref="IFloatingPoint{TSelf}.TryWriteSignificandBigEndian(Span{byte}, out int)" /> 1174bool IFloatingPoint<decimal>.TryWriteSignificandBigEndian(Span<byte> destination, out int bytesWritten) 1191/// <inheritdoc cref="IFloatingPoint{TSelf}.TryWriteSignificandLittleEndian(Span{byte}, out int)" /> 1192bool IFloatingPoint<decimal>.TryWriteSignificandLittleEndian(Span<byte> destination, out int bytesWritten)
src\runtime\src\libraries\System.Private.CoreLib\src\System\Double.cs (25)
656/// <inheritdoc cref="IFloatingPoint{TSelf}.Ceiling(TSelf)" /> 660/// <inheritdoc cref="IFloatingPoint{TSelf}.ConvertToInteger{TInteger}(TSelf)" /> 665/// <inheritdoc cref="IFloatingPoint{TSelf}.ConvertToIntegerNative{TInteger}(TSelf)" /> 679/// <inheritdoc cref="IFloatingPoint{TSelf}.Floor(TSelf)" /> 683/// <inheritdoc cref="IFloatingPoint{TSelf}.Round(TSelf)" /> 687/// <inheritdoc cref="IFloatingPoint{TSelf}.Round(TSelf, int)" /> 690/// <inheritdoc cref="IFloatingPoint{TSelf}.Round(TSelf, MidpointRounding)" /> 693/// <inheritdoc cref="IFloatingPoint{TSelf}.Round(TSelf, int, MidpointRounding)" /> 696/// <inheritdoc cref="IFloatingPoint{TSelf}.Truncate(TSelf)" /> 700/// <inheritdoc cref="IFloatingPoint{TSelf}.GetExponentByteCount()" /> 701int IFloatingPoint<double>.GetExponentByteCount() => sizeof(short); 703/// <inheritdoc cref="IFloatingPoint{TSelf}.GetExponentShortestBitLength()" /> 704int IFloatingPoint<double>.GetExponentShortestBitLength() 718/// <inheritdoc cref="IFloatingPoint{TSelf}.GetSignificandByteCount()" /> 719int IFloatingPoint<double>.GetSignificandByteCount() => sizeof(ulong); 721/// <inheritdoc cref="IFloatingPoint{TSelf}.GetSignificandBitLength()" /> 722int IFloatingPoint<double>.GetSignificandBitLength() => 53; 736/// <inheritdoc cref="IFloatingPoint{TSelf}.TryWriteExponentBigEndian(Span{byte}, out int)" /> 737bool IFloatingPoint<double>.TryWriteExponentBigEndian(Span<byte> destination, out int bytesWritten) 754/// <inheritdoc cref="IFloatingPoint{TSelf}.TryWriteExponentLittleEndian(Span{byte}, out int)" /> 755bool IFloatingPoint<double>.TryWriteExponentLittleEndian(Span<byte> destination, out int bytesWritten) 772/// <inheritdoc cref="IFloatingPoint{TSelf}.TryWriteSignificandBigEndian(Span{byte}, out int)" /> 773bool IFloatingPoint<double>.TryWriteSignificandBigEndian(Span<byte> destination, out int bytesWritten) 790/// <inheritdoc cref="IFloatingPoint{TSelf}.TryWriteSignificandLittleEndian(Span{byte}, out int)" /> 791bool IFloatingPoint<double>.TryWriteSignificandLittleEndian(Span<byte> destination, out int bytesWritten)
src\runtime\src\libraries\System.Private.CoreLib\src\System\Half.cs (25)
1311/// <inheritdoc cref="IFloatingPoint{TSelf}.Ceiling(TSelf)" /> 1314/// <inheritdoc cref="IFloatingPoint{TSelf}.ConvertToInteger{TInteger}(TSelf)" /> 1318/// <inheritdoc cref="IFloatingPoint{TSelf}.ConvertToIntegerNative{TInteger}(TSelf)" /> 1322/// <inheritdoc cref="IFloatingPoint{TSelf}.Floor(TSelf)" /> 1325/// <inheritdoc cref="IFloatingPoint{TSelf}.Round(TSelf)" /> 1328/// <inheritdoc cref="IFloatingPoint{TSelf}.Round(TSelf, int)" /> 1331/// <inheritdoc cref="IFloatingPoint{TSelf}.Round(TSelf, MidpointRounding)" /> 1334/// <inheritdoc cref="IFloatingPoint{TSelf}.Round(TSelf, int, MidpointRounding)" /> 1337/// <inheritdoc cref="IFloatingPoint{TSelf}.Truncate(TSelf)" /> 1340/// <inheritdoc cref="IFloatingPoint{TSelf}.GetExponentByteCount()" /> 1341int IFloatingPoint<Half>.GetExponentByteCount() => sizeof(sbyte); 1343/// <inheritdoc cref="IFloatingPoint{TSelf}.GetExponentShortestBitLength()" /> 1344int IFloatingPoint<Half>.GetExponentShortestBitLength() 1358/// <inheritdoc cref="IFloatingPoint{TSelf}.GetSignificandByteCount()" /> 1359int IFloatingPoint<Half>.GetSignificandByteCount() => sizeof(ushort); 1361/// <inheritdoc cref="IFloatingPoint{TSelf}.GetSignificandBitLength()" /> 1362int IFloatingPoint<Half>.GetSignificandBitLength() => SignificandLength; 1364/// <inheritdoc cref="IFloatingPoint{TSelf}.TryWriteExponentBigEndian(Span{byte}, out int)" /> 1365bool IFloatingPoint<Half>.TryWriteExponentBigEndian(Span<byte> destination, out int bytesWritten) 1378/// <inheritdoc cref="IFloatingPoint{TSelf}.TryWriteExponentLittleEndian(Span{byte}, out int)" /> 1379bool IFloatingPoint<Half>.TryWriteExponentLittleEndian(Span<byte> destination, out int bytesWritten) 1392/// <inheritdoc cref="IFloatingPoint{TSelf}.TryWriteSignificandBigEndian(Span{byte}, out int)" /> 1393bool IFloatingPoint<Half>.TryWriteSignificandBigEndian(Span<byte> destination, out int bytesWritten) 1405/// <inheritdoc cref="IFloatingPoint{TSelf}.TryWriteSignificandLittleEndian(Span{byte}, out int)" /> 1406bool IFloatingPoint<Half>.TryWriteSignificandLittleEndian(Span<byte> destination, out int bytesWritten)
src\runtime\src\libraries\System.Private.CoreLib\src\System\Numerics\BFloat16.cs (23)
973/// <inheritdoc cref="IFloatingPoint{TSelf}.Ceiling(TSelf)" /> 976/// <inheritdoc cref="IFloatingPoint{TSelf}.Floor(TSelf)" /> 979/// <inheritdoc cref="IFloatingPoint{TSelf}.Round(TSelf)" /> 982/// <inheritdoc cref="IFloatingPoint{TSelf}.Round(TSelf, int)" /> 985/// <inheritdoc cref="IFloatingPoint{TSelf}.Round(TSelf, MidpointRounding)" /> 988/// <inheritdoc cref="IFloatingPoint{TSelf}.Round(TSelf, int, MidpointRounding)" /> 991/// <inheritdoc cref="IFloatingPoint{TSelf}.Truncate(TSelf)" /> 994/// <inheritdoc cref="IFloatingPoint{TSelf}.GetExponentByteCount()" /> 995int IFloatingPoint<BFloat16>.GetExponentByteCount() => sizeof(sbyte); 997/// <inheritdoc cref="IFloatingPoint{TSelf}.GetExponentShortestBitLength()" /> 998int IFloatingPoint<BFloat16>.GetExponentShortestBitLength() 1012/// <inheritdoc cref="IFloatingPoint{TSelf}.GetSignificandByteCount()" /> 1013int IFloatingPoint<BFloat16>.GetSignificandByteCount() => sizeof(byte); 1015/// <inheritdoc cref="IFloatingPoint{TSelf}.GetSignificandBitLength()" /> 1016int IFloatingPoint<BFloat16>.GetSignificandBitLength() => SignificandLength; 1018/// <inheritdoc cref="IFloatingPoint{TSelf}.TryWriteExponentBigEndian(Span{byte}, out int)" /> 1019bool IFloatingPoint<BFloat16>.TryWriteExponentBigEndian(Span<byte> destination, out int bytesWritten) 1032/// <inheritdoc cref="IFloatingPoint{TSelf}.TryWriteExponentLittleEndian(Span{byte}, out int)" /> 1033bool IFloatingPoint<BFloat16>.TryWriteExponentLittleEndian(Span<byte> destination, out int bytesWritten) 1046/// <inheritdoc cref="IFloatingPoint{TSelf}.TryWriteSignificandBigEndian(Span{byte}, out int)" /> 1047bool IFloatingPoint<BFloat16>.TryWriteSignificandBigEndian(Span<byte> destination, out int bytesWritten) 1060/// <inheritdoc cref="IFloatingPoint{TSelf}.TryWriteSignificandLittleEndian(Span{byte}, out int)" /> 1061bool IFloatingPoint<BFloat16>.TryWriteSignificandLittleEndian(Span<byte> destination, out int bytesWritten)
src\runtime\src\libraries\System.Private.CoreLib\src\System\Numerics\IFloatingPoint.cs (1)
12where TSelf : IFloatingPoint<TSelf>?
src\runtime\src\libraries\System.Private.CoreLib\src\System\Numerics\INumber.cs (4)
81/// <remarks>For <see cref="IFloatingPoint{TSelf}" /> this method matches the IEEE 754:2019 <c>maximum</c> function. This requires NaN inputs to be propagated back to the caller and for <c>-0.0</c> to be treated as less than <c>+0.0</c>.</remarks> 116/// <remarks>For <see cref="IFloatingPoint{TSelf}" /> this method matches the IEEE 754:2019 <c>maximumNumber</c> function. This requires NaN inputs to not be propagated back to the caller and for <c>-0.0</c> to be treated as less than <c>+0.0</c>.</remarks> 142/// <remarks>For <see cref="IFloatingPoint{TSelf}" /> this method matches the IEEE 754:2019 <c>minimum</c> function. This requires NaN inputs to be propagated back to the caller and for <c>-0.0</c> to be treated as less than <c>+0.0</c>.</remarks> 177/// <remarks>For <see cref="IFloatingPoint{TSelf}" /> this method matches the IEEE 754:2019 <c>minimumNumber</c> function. This requires NaN inputs to not be propagated back to the caller and for <c>-0.0</c> to be treated as less than <c>+0.0</c>.</remarks>
src\runtime\src\libraries\System.Private.CoreLib\src\System\Runtime\InteropServices\NFloat.cs (25)
979/// <inheritdoc cref="IFloatingPoint{TSelf}.Ceiling(TSelf)" /> 982/// <inheritdoc cref="IFloatingPoint{TSelf}.ConvertToInteger{TInteger}(TSelf)" /> 986/// <inheritdoc cref="IFloatingPoint{TSelf}.ConvertToIntegerNative{TInteger}(TSelf)" /> 990/// <inheritdoc cref="IFloatingPoint{TSelf}.Floor(TSelf)" /> 993/// <inheritdoc cref="IFloatingPoint{TSelf}.Round(TSelf)" /> 996/// <inheritdoc cref="IFloatingPoint{TSelf}.Round(TSelf, int)" /> 999/// <inheritdoc cref="IFloatingPoint{TSelf}.Round(TSelf, MidpointRounding)" /> 1002/// <inheritdoc cref="IFloatingPoint{TSelf}.Round(TSelf, int, MidpointRounding)" /> 1005/// <inheritdoc cref="IFloatingPoint{TSelf}.Truncate(TSelf)" /> 1008/// <inheritdoc cref="IFloatingPoint{TSelf}.GetExponentByteCount()" /> 1009int IFloatingPoint<NFloat>.GetExponentByteCount() => sizeof(NativeExponentType); 1011/// <inheritdoc cref="IFloatingPoint{TSelf}.GetExponentShortestBitLength()" /> 1012int IFloatingPoint<NFloat>.GetExponentShortestBitLength() 1026/// <inheritdoc cref="IFloatingPoint{TSelf}.GetSignificandByteCount()" /> 1027int IFloatingPoint<NFloat>.GetSignificandByteCount() => sizeof(NativeSignificandType); 1029/// <inheritdoc cref="IFloatingPoint{TSelf}.GetSignificandBitLength()" /> 1030int IFloatingPoint<NFloat>.GetSignificandBitLength() 1039/// <inheritdoc cref="IFloatingPoint{TSelf}.TryWriteExponentBigEndian(Span{byte}, out int)" /> 1040bool IFloatingPoint<NFloat>.TryWriteExponentBigEndian(Span<byte> destination, out int bytesWritten) 1045/// <inheritdoc cref="IFloatingPoint{TSelf}.TryWriteExponentLittleEndian(Span{byte}, out int)" /> 1046bool IFloatingPoint<NFloat>.TryWriteExponentLittleEndian(Span<byte> destination, out int bytesWritten) 1051/// <inheritdoc cref="IFloatingPoint{TSelf}.TryWriteSignificandBigEndian(Span{byte}, out int)" /> 1052bool IFloatingPoint<NFloat>.TryWriteSignificandBigEndian(Span<byte> destination, out int bytesWritten) 1057/// <inheritdoc cref="IFloatingPoint{TSelf}.TryWriteSignificandLittleEndian(Span{byte}, out int)" /> 1058bool IFloatingPoint<NFloat>.TryWriteSignificandLittleEndian(Span<byte> destination, out int bytesWritten)
src\runtime\src\libraries\System.Private.CoreLib\src\System\Runtime\Intrinsics\ISimdVector_2.cs (4)
564/// <remarks>For <see cref ="IFloatingPoint{T}" /> this method matches the IEEE 754:2019 <c>maximum</c> function.This requires NaN inputs to be propagated back to the caller and for <c>-0.0</c> to be treated as less than <c>+0.0</c>.</remarks> 595/// <remarks>For <see cref="IFloatingPoint{T}" /> this method matches the IEEE 754:2019 <c>maximumNumber</c> function. This requires NaN inputs to not be propagated back to the caller and for <c>-0.0</c> to be treated as less than <c>+0.0</c>.</remarks> 603/// <remarks>For <see cref ="IFloatingPoint{T}" /> this method matches the IEEE 754:2019 <c>minimum</c> function.This requires NaN inputs to be propagated back to the caller and for <c>-0.0</c> to be treated as less than <c>+0.0</c>.</remarks> 634/// <remarks>For <see cref="IFloatingPoint{T}" /> this method matches the IEEE 754:2019 <c>minimumNumber</c> function. This requires NaN inputs to not be propagated back to the caller and for <c>-0.0</c> to be treated as less than <c>+0.0</c>.</remarks>
src\runtime\src\libraries\System.Private.CoreLib\src\System\Single.cs (25)
651/// <inheritdoc cref="IFloatingPoint{TSelf}.Ceiling(TSelf)" /> 655/// <inheritdoc cref="IFloatingPoint{TSelf}.ConvertToInteger{TInteger}(TSelf)" /> 660/// <inheritdoc cref="IFloatingPoint{TSelf}.ConvertToIntegerNative{TInteger}(TSelf)" /> 674/// <inheritdoc cref="IFloatingPoint{TSelf}.Floor(TSelf)" /> 678/// <inheritdoc cref="IFloatingPoint{TSelf}.Round(TSelf)" /> 682/// <inheritdoc cref="IFloatingPoint{TSelf}.Round(TSelf, int)" /> 685/// <inheritdoc cref="IFloatingPoint{TSelf}.Round(TSelf, MidpointRounding)" /> 688/// <inheritdoc cref="IFloatingPoint{TSelf}.Round(TSelf, int, MidpointRounding)" /> 691/// <inheritdoc cref="IFloatingPoint{TSelf}.Truncate(TSelf)" /> 695/// <inheritdoc cref="IFloatingPoint{TSelf}.GetExponentByteCount()" /> 696int IFloatingPoint<float>.GetExponentByteCount() => sizeof(sbyte); 698/// <inheritdoc cref="IFloatingPoint{TSelf}.GetExponentShortestBitLength()" /> 699int IFloatingPoint<float>.GetExponentShortestBitLength() 713/// <inheritdoc cref="IFloatingPoint{TSelf}.GetSignificandByteCount()" /> 714int IFloatingPoint<float>.GetSignificandByteCount() => sizeof(uint); 716/// <inheritdoc cref="IFloatingPoint{TSelf}.GetSignificandBitLength()" /> 717int IFloatingPoint<float>.GetSignificandBitLength() => 24; 732/// <inheritdoc cref="IFloatingPoint{TSelf}.TryWriteExponentBigEndian(Span{byte}, out int)" /> 733bool IFloatingPoint<float>.TryWriteExponentBigEndian(Span<byte> destination, out int bytesWritten) 751/// <inheritdoc cref="IFloatingPoint{TSelf}.TryWriteExponentLittleEndian(Span{byte}, out int)" /> 752bool IFloatingPoint<float>.TryWriteExponentLittleEndian(Span<byte> destination, out int bytesWritten) 769/// <inheritdoc cref="IFloatingPoint{TSelf}.TryWriteSignificandBigEndian(Span{byte}, out int)" /> 770bool IFloatingPoint<float>.TryWriteSignificandBigEndian(Span<byte> destination, out int bytesWritten) 787/// <inheritdoc cref="IFloatingPoint{TSelf}.TryWriteSignificandLittleEndian(Span{byte}, out int)" /> 788bool IFloatingPoint<float>.TryWriteSignificandLittleEndian(Span<byte> destination, out int bytesWritten)
System.Private.Windows.Core.TestUtilities (2)
ComparisonHelpers.cs (1)
20where T : struct, IFloatingPoint<T>
XUnit\FloatingPointToleranceComparerer.cs (1)
13where T : struct, IFloatingPoint<T>
System.Runtime (1)
src\runtime\artifacts\obj\System.Runtime\Release\net11.0\System.Runtime.Forwards.cs (1)
387[assembly: System.Runtime.CompilerServices.TypeForwardedTo(typeof(System.Numerics.IFloatingPoint<>))]