diff --git a/src/libraries/System.Private.CoreLib/src/System/Numerics/Matrix3x2.cs b/src/libraries/System.Private.CoreLib/src/System/Numerics/Matrix3x2.cs index 5f65ddd3fd00af..a70b3d776c2a1b 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Numerics/Matrix3x2.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Numerics/Matrix3x2.cs @@ -2,12 +2,14 @@ // The .NET Foundation licenses this file to you under the MIT license. using System.Globalization; +using System.Runtime.CompilerServices; namespace System.Numerics { /// /// A structure encapsulating a 3x2 matrix. /// + [Intrinsic] public struct Matrix3x2 : IEquatable { private const float RotationEpsilon = 0.001f * MathF.PI / 180f; // 0.1% of a degree diff --git a/src/libraries/System.Private.CoreLib/src/System/Numerics/Matrix4x4.cs b/src/libraries/System.Private.CoreLib/src/System/Numerics/Matrix4x4.cs index d009951583d8e6..cfd16ad73e7b59 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Numerics/Matrix4x4.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Numerics/Matrix4x4.cs @@ -14,7 +14,7 @@ namespace System.Numerics /// /// A structure encapsulating a 4x4 matrix. /// - [StructLayout(LayoutKind.Sequential)] + [Intrinsic] public struct Matrix4x4 : IEquatable { private const float BillboardEpsilon = 1e-4f; diff --git a/src/libraries/System.Private.CoreLib/src/System/Numerics/Plane.cs b/src/libraries/System.Private.CoreLib/src/System/Numerics/Plane.cs index f03d5698efe896..631f6da2cef89a 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Numerics/Plane.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Numerics/Plane.cs @@ -9,6 +9,7 @@ namespace System.Numerics /// /// A structure encapsulating a 3D Plane /// + [Intrinsic] public struct Plane : IEquatable { private const float NormalizeEpsilon = 1.192092896e-07f; // smallest such that 1.0+NormalizeEpsilon != 1.0 diff --git a/src/libraries/System.Private.CoreLib/src/System/Numerics/Quaternion.cs b/src/libraries/System.Private.CoreLib/src/System/Numerics/Quaternion.cs index 34e06ac7311ca3..b7a5bc39765506 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Numerics/Quaternion.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Numerics/Quaternion.cs @@ -2,6 +2,7 @@ // The .NET Foundation licenses this file to you under the MIT license. using System.Globalization; +using System.Runtime.CompilerServices; namespace System.Numerics { @@ -9,6 +10,7 @@ namespace System.Numerics /// A structure encapsulating a four-dimensional vector (x,y,z,w), /// which is used to efficiently rotate an object about the (x,y,z) vector by the angle theta, where w = cos(theta/2). /// + [Intrinsic] public struct Quaternion : IEquatable { private const float SlerpEpsilon = 1e-6f;