Add SIMD acceleration for Matrix4x4.Invert #34394 (#36323)
authorErhan Atesoglu <47518605+eanova@users.noreply.github.com>
Tue, 26 May 2020 14:51:23 +0000 (07:51 -0700)
committerGitHub <noreply@github.com>
Tue, 26 May 2020 14:51:23 +0000 (07:51 -0700)
commit639f06df970c6772a0cad5dbde9cb71335b61ab5
treed9fceee5d61f394b2c5bc1338f2f6b395b2faa09
parentc5b55f06d6d65c4673734198a87a31f7ace789c2
Add SIMD acceleration for Matrix4x4.Invert #34394 (#36323)

* Add SIMD acceleration for Matrix4x4.Invert #34394

Fix for #34394.

Added SIMD hardware acceleration support to the Matrix4x4.Invert function.

* Add link to source and update THIRD-PARTY-NOTICES.TXT

Added the link to Microsoft/DirectXMath source code and appended license to THIRD-PARTY-NOTICES.TXT

* Add test for non-invertable matrix.

Given a Matrix4x4 of only rank 3 test to see the matrix is non-invertable.

* Typo fixed in new test case

* Fixed formating for test matrix.

* Fix for missing return statement.

* Add suggested fixes to Matrix4x4.Invert

Update containing all suggested fixes.

* Added missing using statement

Added missing using statement for Internal.Runtime.CompilerServices.Unknown static object.

* Use abbreviated constructor for Vector128

* Moved implementations into local functions

Moved the SSE implementation and SoftwareFallback to local functions of Invert.
THIRD-PARTY-NOTICES.TXT
src/libraries/System.Numerics.Vectors/tests/Matrix4x4Tests.cs
src/libraries/System.Private.CoreLib/src/System/Numerics/Matrix4x4.cs