dotnet / runtime

.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
https://docs.microsoft.com/dotnet/core/
MIT License
15.36k stars 4.74k forks source link

Implement new generic math operator interfaces in System.Numeric types #58162

Open pziezio opened 3 years ago

pziezio commented 3 years ago

Vector, Matrix and Quaternion types form System.Numeric should implement newly added generic math interfaces like IMultiplyOperators, ISubtractionOperators etc.

Since these types already use hardware intrinsic instructions they have the possibility to become default standard for most of the math problems in .NET.

For now it's still required to implement custom Vector/Matrix types if we want to use both hardware intrinsics and generic math.

Preview Features in .NET 6 – Generic Math

ghost commented 3 years ago

Tagging subscribers to this area: @dotnet/area-system-numerics See info in area-owners.md if you want to be subscribed.

Issue Details
Vector, Matrix and Quaternion types form `System.Numeric` should implement newly added generic math interfaces like `IMultiplyOperators`, `ISubtractionOperators` etc. Since these types already use hardware intrinsic instructions they have the possibility to become default standard for most of the math problems in .NET. For now it's still required to implement custom Vector/Matrix types if we want to use both hardware intrinsics and generic math. [Preview Features in .NET 6 – Generic Math](https://devblogs.microsoft.com/dotnet/preview-features-in-net-6-generic-math/)
Author: pziezio
Assignees: -
Labels: `area-System.Numerics`, `untriaged`
Milestone: -
tannergooding commented 2 years ago

This is out of scope for .NET 7. Extending the vector and matrix types will be looked at in the future as they will likely require more extensive changes to make work and work as expected.