diff --git a/src/libraries/System.Numerics.Vectors/System.Numerics.Vectors.sln b/src/libraries/System.Numerics.Vectors/System.Numerics.Vectors.sln
index c829f21df46ba..e05d844d41695 100644
--- a/src/libraries/System.Numerics.Vectors/System.Numerics.Vectors.sln
+++ b/src/libraries/System.Numerics.Vectors/System.Numerics.Vectors.sln
@@ -26,18 +26,27 @@ EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ref", "ref", "{ED90FF1C-59D4-4AB0-860E-2872ECA1BFEC}"
EndProject
Global
+ GlobalSection(SharedMSBuildProjectFiles) = preSolution
+ ..\System.Private.CoreLib\src\System.Private.CoreLib.Shared.projitems*{634a3b2b-09f5-4810-b630-ade4d36c47df}*SharedItemsImports = 5
+ EndGlobalSection
GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Checked|Any CPU = Checked|Any CPU
+ Checked|x64 = Checked|x64
+ Checked|x86 = Checked|x86
Debug|Any CPU = Debug|Any CPU
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|x64 = Release|x64
Release|x86 = Release|x86
- Checked|Any CPU = Checked|Any CPU
- Checked|x64 = Checked|x64
- Checked|x86 = Checked|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {634A3B2B-09F5-4810-B630-ADE4D36C47DF}.Checked|Any CPU.ActiveCfg = Checked|x64
+ {634A3B2B-09F5-4810-B630-ADE4D36C47DF}.Checked|Any CPU.Build.0 = Checked|x64
+ {634A3B2B-09F5-4810-B630-ADE4D36C47DF}.Checked|x64.ActiveCfg = Checked|x64
+ {634A3B2B-09F5-4810-B630-ADE4D36C47DF}.Checked|x64.Build.0 = Checked|x64
+ {634A3B2B-09F5-4810-B630-ADE4D36C47DF}.Checked|x86.ActiveCfg = Checked|x86
+ {634A3B2B-09F5-4810-B630-ADE4D36C47DF}.Checked|x86.Build.0 = Checked|x86
{634A3B2B-09F5-4810-B630-ADE4D36C47DF}.Debug|Any CPU.ActiveCfg = Debug|x64
{634A3B2B-09F5-4810-B630-ADE4D36C47DF}.Debug|Any CPU.Build.0 = Debug|x64
{634A3B2B-09F5-4810-B630-ADE4D36C47DF}.Debug|x64.ActiveCfg = Debug|x64
@@ -50,12 +59,12 @@ Global
{634A3B2B-09F5-4810-B630-ADE4D36C47DF}.Release|x64.Build.0 = Release|x64
{634A3B2B-09F5-4810-B630-ADE4D36C47DF}.Release|x86.ActiveCfg = Release|x86
{634A3B2B-09F5-4810-B630-ADE4D36C47DF}.Release|x86.Build.0 = Release|x86
- {634A3B2B-09F5-4810-B630-ADE4D36C47DF}.Checked|Any CPU.ActiveCfg = Checked|x64
- {634A3B2B-09F5-4810-B630-ADE4D36C47DF}.Checked|Any CPU.Build.0 = Checked|x64
- {634A3B2B-09F5-4810-B630-ADE4D36C47DF}.Checked|x64.ActiveCfg = Checked|x64
- {634A3B2B-09F5-4810-B630-ADE4D36C47DF}.Checked|x64.Build.0 = Checked|x64
- {634A3B2B-09F5-4810-B630-ADE4D36C47DF}.Checked|x86.ActiveCfg = Checked|x86
- {634A3B2B-09F5-4810-B630-ADE4D36C47DF}.Checked|x86.Build.0 = Checked|x86
+ {9EDBE037-EFE0-4B72-B602-E4C3F0C05F2F}.Checked|Any CPU.ActiveCfg = Debug|Any CPU
+ {9EDBE037-EFE0-4B72-B602-E4C3F0C05F2F}.Checked|Any CPU.Build.0 = Debug|Any CPU
+ {9EDBE037-EFE0-4B72-B602-E4C3F0C05F2F}.Checked|x64.ActiveCfg = Debug|Any CPU
+ {9EDBE037-EFE0-4B72-B602-E4C3F0C05F2F}.Checked|x64.Build.0 = Debug|Any CPU
+ {9EDBE037-EFE0-4B72-B602-E4C3F0C05F2F}.Checked|x86.ActiveCfg = Debug|Any CPU
+ {9EDBE037-EFE0-4B72-B602-E4C3F0C05F2F}.Checked|x86.Build.0 = Debug|Any CPU
{9EDBE037-EFE0-4B72-B602-E4C3F0C05F2F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9EDBE037-EFE0-4B72-B602-E4C3F0C05F2F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9EDBE037-EFE0-4B72-B602-E4C3F0C05F2F}.Debug|x64.ActiveCfg = Debug|Any CPU
@@ -68,12 +77,12 @@ Global
{9EDBE037-EFE0-4B72-B602-E4C3F0C05F2F}.Release|x64.Build.0 = Release|Any CPU
{9EDBE037-EFE0-4B72-B602-E4C3F0C05F2F}.Release|x86.ActiveCfg = Release|Any CPU
{9EDBE037-EFE0-4B72-B602-E4C3F0C05F2F}.Release|x86.Build.0 = Release|Any CPU
- {9EDBE037-EFE0-4B72-B602-E4C3F0C05F2F}.Checked|Any CPU.ActiveCfg = Debug|Any CPU
- {9EDBE037-EFE0-4B72-B602-E4C3F0C05F2F}.Checked|Any CPU.Build.0 = Debug|Any CPU
- {9EDBE037-EFE0-4B72-B602-E4C3F0C05F2F}.Checked|x64.ActiveCfg = Debug|Any CPU
- {9EDBE037-EFE0-4B72-B602-E4C3F0C05F2F}.Checked|x64.Build.0 = Debug|Any CPU
- {9EDBE037-EFE0-4B72-B602-E4C3F0C05F2F}.Checked|x86.ActiveCfg = Debug|Any CPU
- {9EDBE037-EFE0-4B72-B602-E4C3F0C05F2F}.Checked|x86.Build.0 = Debug|Any CPU
+ {5B2027FA-F43A-4E80-880F-B3A7A2720AA7}.Checked|Any CPU.ActiveCfg = Debug|Any CPU
+ {5B2027FA-F43A-4E80-880F-B3A7A2720AA7}.Checked|Any CPU.Build.0 = Debug|Any CPU
+ {5B2027FA-F43A-4E80-880F-B3A7A2720AA7}.Checked|x64.ActiveCfg = Debug|Any CPU
+ {5B2027FA-F43A-4E80-880F-B3A7A2720AA7}.Checked|x64.Build.0 = Debug|Any CPU
+ {5B2027FA-F43A-4E80-880F-B3A7A2720AA7}.Checked|x86.ActiveCfg = Debug|Any CPU
+ {5B2027FA-F43A-4E80-880F-B3A7A2720AA7}.Checked|x86.Build.0 = Debug|Any CPU
{5B2027FA-F43A-4E80-880F-B3A7A2720AA7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5B2027FA-F43A-4E80-880F-B3A7A2720AA7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5B2027FA-F43A-4E80-880F-B3A7A2720AA7}.Debug|x64.ActiveCfg = Debug|Any CPU
@@ -86,12 +95,12 @@ Global
{5B2027FA-F43A-4E80-880F-B3A7A2720AA7}.Release|x64.Build.0 = Release|Any CPU
{5B2027FA-F43A-4E80-880F-B3A7A2720AA7}.Release|x86.ActiveCfg = Release|Any CPU
{5B2027FA-F43A-4E80-880F-B3A7A2720AA7}.Release|x86.Build.0 = Release|Any CPU
- {5B2027FA-F43A-4E80-880F-B3A7A2720AA7}.Checked|Any CPU.ActiveCfg = Debug|Any CPU
- {5B2027FA-F43A-4E80-880F-B3A7A2720AA7}.Checked|Any CPU.Build.0 = Debug|Any CPU
- {5B2027FA-F43A-4E80-880F-B3A7A2720AA7}.Checked|x64.ActiveCfg = Debug|Any CPU
- {5B2027FA-F43A-4E80-880F-B3A7A2720AA7}.Checked|x64.Build.0 = Debug|Any CPU
- {5B2027FA-F43A-4E80-880F-B3A7A2720AA7}.Checked|x86.ActiveCfg = Debug|Any CPU
- {5B2027FA-F43A-4E80-880F-B3A7A2720AA7}.Checked|x86.Build.0 = Debug|Any CPU
+ {ED450846-85A0-4CED-B4D9-9EB769CF794B}.Checked|Any CPU.ActiveCfg = Debug|Any CPU
+ {ED450846-85A0-4CED-B4D9-9EB769CF794B}.Checked|Any CPU.Build.0 = Debug|Any CPU
+ {ED450846-85A0-4CED-B4D9-9EB769CF794B}.Checked|x64.ActiveCfg = Debug|Any CPU
+ {ED450846-85A0-4CED-B4D9-9EB769CF794B}.Checked|x64.Build.0 = Debug|Any CPU
+ {ED450846-85A0-4CED-B4D9-9EB769CF794B}.Checked|x86.ActiveCfg = Debug|Any CPU
+ {ED450846-85A0-4CED-B4D9-9EB769CF794B}.Checked|x86.Build.0 = Debug|Any CPU
{ED450846-85A0-4CED-B4D9-9EB769CF794B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{ED450846-85A0-4CED-B4D9-9EB769CF794B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{ED450846-85A0-4CED-B4D9-9EB769CF794B}.Debug|x64.ActiveCfg = Debug|Any CPU
@@ -104,12 +113,12 @@ Global
{ED450846-85A0-4CED-B4D9-9EB769CF794B}.Release|x64.Build.0 = Release|Any CPU
{ED450846-85A0-4CED-B4D9-9EB769CF794B}.Release|x86.ActiveCfg = Release|Any CPU
{ED450846-85A0-4CED-B4D9-9EB769CF794B}.Release|x86.Build.0 = Release|Any CPU
- {ED450846-85A0-4CED-B4D9-9EB769CF794B}.Checked|Any CPU.ActiveCfg = Debug|Any CPU
- {ED450846-85A0-4CED-B4D9-9EB769CF794B}.Checked|Any CPU.Build.0 = Debug|Any CPU
- {ED450846-85A0-4CED-B4D9-9EB769CF794B}.Checked|x64.ActiveCfg = Debug|Any CPU
- {ED450846-85A0-4CED-B4D9-9EB769CF794B}.Checked|x64.Build.0 = Debug|Any CPU
- {ED450846-85A0-4CED-B4D9-9EB769CF794B}.Checked|x86.ActiveCfg = Debug|Any CPU
- {ED450846-85A0-4CED-B4D9-9EB769CF794B}.Checked|x86.Build.0 = Debug|Any CPU
+ {B38797B1-BB45-4B30-9D4F-79D9F4B3735B}.Checked|Any CPU.ActiveCfg = Debug|Any CPU
+ {B38797B1-BB45-4B30-9D4F-79D9F4B3735B}.Checked|Any CPU.Build.0 = Debug|Any CPU
+ {B38797B1-BB45-4B30-9D4F-79D9F4B3735B}.Checked|x64.ActiveCfg = Debug|Any CPU
+ {B38797B1-BB45-4B30-9D4F-79D9F4B3735B}.Checked|x64.Build.0 = Debug|Any CPU
+ {B38797B1-BB45-4B30-9D4F-79D9F4B3735B}.Checked|x86.ActiveCfg = Debug|Any CPU
+ {B38797B1-BB45-4B30-9D4F-79D9F4B3735B}.Checked|x86.Build.0 = Debug|Any CPU
{B38797B1-BB45-4B30-9D4F-79D9F4B3735B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B38797B1-BB45-4B30-9D4F-79D9F4B3735B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B38797B1-BB45-4B30-9D4F-79D9F4B3735B}.Debug|x64.ActiveCfg = Debug|Any CPU
@@ -122,12 +131,12 @@ Global
{B38797B1-BB45-4B30-9D4F-79D9F4B3735B}.Release|x64.Build.0 = Release|Any CPU
{B38797B1-BB45-4B30-9D4F-79D9F4B3735B}.Release|x86.ActiveCfg = Release|Any CPU
{B38797B1-BB45-4B30-9D4F-79D9F4B3735B}.Release|x86.Build.0 = Release|Any CPU
- {B38797B1-BB45-4B30-9D4F-79D9F4B3735B}.Checked|Any CPU.ActiveCfg = Debug|Any CPU
- {B38797B1-BB45-4B30-9D4F-79D9F4B3735B}.Checked|Any CPU.Build.0 = Debug|Any CPU
- {B38797B1-BB45-4B30-9D4F-79D9F4B3735B}.Checked|x64.ActiveCfg = Debug|Any CPU
- {B38797B1-BB45-4B30-9D4F-79D9F4B3735B}.Checked|x64.Build.0 = Debug|Any CPU
- {B38797B1-BB45-4B30-9D4F-79D9F4B3735B}.Checked|x86.ActiveCfg = Debug|Any CPU
- {B38797B1-BB45-4B30-9D4F-79D9F4B3735B}.Checked|x86.Build.0 = Debug|Any CPU
+ {88F4A78E-4EF9-4EB6-995E-CD24152C4704}.Checked|Any CPU.ActiveCfg = Debug|Any CPU
+ {88F4A78E-4EF9-4EB6-995E-CD24152C4704}.Checked|Any CPU.Build.0 = Debug|Any CPU
+ {88F4A78E-4EF9-4EB6-995E-CD24152C4704}.Checked|x64.ActiveCfg = Debug|Any CPU
+ {88F4A78E-4EF9-4EB6-995E-CD24152C4704}.Checked|x64.Build.0 = Debug|Any CPU
+ {88F4A78E-4EF9-4EB6-995E-CD24152C4704}.Checked|x86.ActiveCfg = Debug|Any CPU
+ {88F4A78E-4EF9-4EB6-995E-CD24152C4704}.Checked|x86.Build.0 = Debug|Any CPU
{88F4A78E-4EF9-4EB6-995E-CD24152C4704}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{88F4A78E-4EF9-4EB6-995E-CD24152C4704}.Debug|Any CPU.Build.0 = Debug|Any CPU
{88F4A78E-4EF9-4EB6-995E-CD24152C4704}.Debug|x64.ActiveCfg = Debug|Any CPU
@@ -140,12 +149,12 @@ Global
{88F4A78E-4EF9-4EB6-995E-CD24152C4704}.Release|x64.Build.0 = Release|Any CPU
{88F4A78E-4EF9-4EB6-995E-CD24152C4704}.Release|x86.ActiveCfg = Release|Any CPU
{88F4A78E-4EF9-4EB6-995E-CD24152C4704}.Release|x86.Build.0 = Release|Any CPU
- {88F4A78E-4EF9-4EB6-995E-CD24152C4704}.Checked|Any CPU.ActiveCfg = Debug|Any CPU
- {88F4A78E-4EF9-4EB6-995E-CD24152C4704}.Checked|Any CPU.Build.0 = Debug|Any CPU
- {88F4A78E-4EF9-4EB6-995E-CD24152C4704}.Checked|x64.ActiveCfg = Debug|Any CPU
- {88F4A78E-4EF9-4EB6-995E-CD24152C4704}.Checked|x64.Build.0 = Debug|Any CPU
- {88F4A78E-4EF9-4EB6-995E-CD24152C4704}.Checked|x86.ActiveCfg = Debug|Any CPU
- {88F4A78E-4EF9-4EB6-995E-CD24152C4704}.Checked|x86.Build.0 = Debug|Any CPU
+ {DFC21F4E-EC4F-4310-A4DA-B7094AA4D237}.Checked|Any CPU.ActiveCfg = Debug|Any CPU
+ {DFC21F4E-EC4F-4310-A4DA-B7094AA4D237}.Checked|Any CPU.Build.0 = Debug|Any CPU
+ {DFC21F4E-EC4F-4310-A4DA-B7094AA4D237}.Checked|x64.ActiveCfg = Debug|Any CPU
+ {DFC21F4E-EC4F-4310-A4DA-B7094AA4D237}.Checked|x64.Build.0 = Debug|Any CPU
+ {DFC21F4E-EC4F-4310-A4DA-B7094AA4D237}.Checked|x86.ActiveCfg = Debug|Any CPU
+ {DFC21F4E-EC4F-4310-A4DA-B7094AA4D237}.Checked|x86.Build.0 = Debug|Any CPU
{DFC21F4E-EC4F-4310-A4DA-B7094AA4D237}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DFC21F4E-EC4F-4310-A4DA-B7094AA4D237}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DFC21F4E-EC4F-4310-A4DA-B7094AA4D237}.Debug|x64.ActiveCfg = Debug|Any CPU
@@ -158,12 +167,12 @@ Global
{DFC21F4E-EC4F-4310-A4DA-B7094AA4D237}.Release|x64.Build.0 = Release|Any CPU
{DFC21F4E-EC4F-4310-A4DA-B7094AA4D237}.Release|x86.ActiveCfg = Release|Any CPU
{DFC21F4E-EC4F-4310-A4DA-B7094AA4D237}.Release|x86.Build.0 = Release|Any CPU
- {DFC21F4E-EC4F-4310-A4DA-B7094AA4D237}.Checked|Any CPU.ActiveCfg = Debug|Any CPU
- {DFC21F4E-EC4F-4310-A4DA-B7094AA4D237}.Checked|Any CPU.Build.0 = Debug|Any CPU
- {DFC21F4E-EC4F-4310-A4DA-B7094AA4D237}.Checked|x64.ActiveCfg = Debug|Any CPU
- {DFC21F4E-EC4F-4310-A4DA-B7094AA4D237}.Checked|x64.Build.0 = Debug|Any CPU
- {DFC21F4E-EC4F-4310-A4DA-B7094AA4D237}.Checked|x86.ActiveCfg = Debug|Any CPU
- {DFC21F4E-EC4F-4310-A4DA-B7094AA4D237}.Checked|x86.Build.0 = Debug|Any CPU
+ {7FAD5E59-D362-4ED6-B3D5-FAD9CD5A2598}.Checked|Any CPU.ActiveCfg = Debug|Any CPU
+ {7FAD5E59-D362-4ED6-B3D5-FAD9CD5A2598}.Checked|Any CPU.Build.0 = Debug|Any CPU
+ {7FAD5E59-D362-4ED6-B3D5-FAD9CD5A2598}.Checked|x64.ActiveCfg = Debug|Any CPU
+ {7FAD5E59-D362-4ED6-B3D5-FAD9CD5A2598}.Checked|x64.Build.0 = Debug|Any CPU
+ {7FAD5E59-D362-4ED6-B3D5-FAD9CD5A2598}.Checked|x86.ActiveCfg = Debug|Any CPU
+ {7FAD5E59-D362-4ED6-B3D5-FAD9CD5A2598}.Checked|x86.Build.0 = Debug|Any CPU
{7FAD5E59-D362-4ED6-B3D5-FAD9CD5A2598}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7FAD5E59-D362-4ED6-B3D5-FAD9CD5A2598}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7FAD5E59-D362-4ED6-B3D5-FAD9CD5A2598}.Debug|x64.ActiveCfg = Debug|Any CPU
@@ -176,12 +185,12 @@ Global
{7FAD5E59-D362-4ED6-B3D5-FAD9CD5A2598}.Release|x64.Build.0 = Release|Any CPU
{7FAD5E59-D362-4ED6-B3D5-FAD9CD5A2598}.Release|x86.ActiveCfg = Release|Any CPU
{7FAD5E59-D362-4ED6-B3D5-FAD9CD5A2598}.Release|x86.Build.0 = Release|Any CPU
- {7FAD5E59-D362-4ED6-B3D5-FAD9CD5A2598}.Checked|Any CPU.ActiveCfg = Debug|Any CPU
- {7FAD5E59-D362-4ED6-B3D5-FAD9CD5A2598}.Checked|Any CPU.Build.0 = Debug|Any CPU
- {7FAD5E59-D362-4ED6-B3D5-FAD9CD5A2598}.Checked|x64.ActiveCfg = Debug|Any CPU
- {7FAD5E59-D362-4ED6-B3D5-FAD9CD5A2598}.Checked|x64.Build.0 = Debug|Any CPU
- {7FAD5E59-D362-4ED6-B3D5-FAD9CD5A2598}.Checked|x86.ActiveCfg = Debug|Any CPU
- {7FAD5E59-D362-4ED6-B3D5-FAD9CD5A2598}.Checked|x86.Build.0 = Debug|Any CPU
+ {C6EDFA8A-956E-4398-B31F-FA87312BDF9B}.Checked|Any CPU.ActiveCfg = Debug|Any CPU
+ {C6EDFA8A-956E-4398-B31F-FA87312BDF9B}.Checked|Any CPU.Build.0 = Debug|Any CPU
+ {C6EDFA8A-956E-4398-B31F-FA87312BDF9B}.Checked|x64.ActiveCfg = Debug|Any CPU
+ {C6EDFA8A-956E-4398-B31F-FA87312BDF9B}.Checked|x64.Build.0 = Debug|Any CPU
+ {C6EDFA8A-956E-4398-B31F-FA87312BDF9B}.Checked|x86.ActiveCfg = Debug|Any CPU
+ {C6EDFA8A-956E-4398-B31F-FA87312BDF9B}.Checked|x86.Build.0 = Debug|Any CPU
{C6EDFA8A-956E-4398-B31F-FA87312BDF9B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C6EDFA8A-956E-4398-B31F-FA87312BDF9B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C6EDFA8A-956E-4398-B31F-FA87312BDF9B}.Debug|x64.ActiveCfg = Debug|Any CPU
@@ -194,12 +203,12 @@ Global
{C6EDFA8A-956E-4398-B31F-FA87312BDF9B}.Release|x64.Build.0 = Release|Any CPU
{C6EDFA8A-956E-4398-B31F-FA87312BDF9B}.Release|x86.ActiveCfg = Release|Any CPU
{C6EDFA8A-956E-4398-B31F-FA87312BDF9B}.Release|x86.Build.0 = Release|Any CPU
- {C6EDFA8A-956E-4398-B31F-FA87312BDF9B}.Checked|Any CPU.ActiveCfg = Debug|Any CPU
- {C6EDFA8A-956E-4398-B31F-FA87312BDF9B}.Checked|Any CPU.Build.0 = Debug|Any CPU
- {C6EDFA8A-956E-4398-B31F-FA87312BDF9B}.Checked|x64.ActiveCfg = Debug|Any CPU
- {C6EDFA8A-956E-4398-B31F-FA87312BDF9B}.Checked|x64.Build.0 = Debug|Any CPU
- {C6EDFA8A-956E-4398-B31F-FA87312BDF9B}.Checked|x86.ActiveCfg = Debug|Any CPU
- {C6EDFA8A-956E-4398-B31F-FA87312BDF9B}.Checked|x86.Build.0 = Debug|Any CPU
+ {F99EAF58-533E-4941-A0C5-5101309D8AB9}.Checked|Any CPU.ActiveCfg = Debug|Any CPU
+ {F99EAF58-533E-4941-A0C5-5101309D8AB9}.Checked|Any CPU.Build.0 = Debug|Any CPU
+ {F99EAF58-533E-4941-A0C5-5101309D8AB9}.Checked|x64.ActiveCfg = Debug|Any CPU
+ {F99EAF58-533E-4941-A0C5-5101309D8AB9}.Checked|x64.Build.0 = Debug|Any CPU
+ {F99EAF58-533E-4941-A0C5-5101309D8AB9}.Checked|x86.ActiveCfg = Debug|Any CPU
+ {F99EAF58-533E-4941-A0C5-5101309D8AB9}.Checked|x86.Build.0 = Debug|Any CPU
{F99EAF58-533E-4941-A0C5-5101309D8AB9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F99EAF58-533E-4941-A0C5-5101309D8AB9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F99EAF58-533E-4941-A0C5-5101309D8AB9}.Debug|x64.ActiveCfg = Debug|Any CPU
@@ -212,27 +221,21 @@ Global
{F99EAF58-533E-4941-A0C5-5101309D8AB9}.Release|x64.Build.0 = Release|Any CPU
{F99EAF58-533E-4941-A0C5-5101309D8AB9}.Release|x86.ActiveCfg = Release|Any CPU
{F99EAF58-533E-4941-A0C5-5101309D8AB9}.Release|x86.Build.0 = Release|Any CPU
- {F99EAF58-533E-4941-A0C5-5101309D8AB9}.Checked|Any CPU.ActiveCfg = Debug|Any CPU
- {F99EAF58-533E-4941-A0C5-5101309D8AB9}.Checked|Any CPU.Build.0 = Debug|Any CPU
- {F99EAF58-533E-4941-A0C5-5101309D8AB9}.Checked|x64.ActiveCfg = Debug|Any CPU
- {F99EAF58-533E-4941-A0C5-5101309D8AB9}.Checked|x64.Build.0 = Debug|Any CPU
- {F99EAF58-533E-4941-A0C5-5101309D8AB9}.Checked|x86.ActiveCfg = Debug|Any CPU
- {F99EAF58-533E-4941-A0C5-5101309D8AB9}.Checked|x86.Build.0 = Debug|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{634A3B2B-09F5-4810-B630-ADE4D36C47DF} = {FC10C682-DF71-4EEA-A3A5-E716C1C88AC0}
+ {9EDBE037-EFE0-4B72-B602-E4C3F0C05F2F} = {2C4425BA-8478-4BCB-B616-E6FC28ADEAB9}
+ {5B2027FA-F43A-4E80-880F-B3A7A2720AA7} = {ED90FF1C-59D4-4AB0-860E-2872ECA1BFEC}
{ED450846-85A0-4CED-B4D9-9EB769CF794B} = {FC10C682-DF71-4EEA-A3A5-E716C1C88AC0}
+ {B38797B1-BB45-4B30-9D4F-79D9F4B3735B} = {2C4425BA-8478-4BCB-B616-E6FC28ADEAB9}
{88F4A78E-4EF9-4EB6-995E-CD24152C4704} = {FC10C682-DF71-4EEA-A3A5-E716C1C88AC0}
+ {DFC21F4E-EC4F-4310-A4DA-B7094AA4D237} = {ED90FF1C-59D4-4AB0-860E-2872ECA1BFEC}
{7FAD5E59-D362-4ED6-B3D5-FAD9CD5A2598} = {FC10C682-DF71-4EEA-A3A5-E716C1C88AC0}
{C6EDFA8A-956E-4398-B31F-FA87312BDF9B} = {FC10C682-DF71-4EEA-A3A5-E716C1C88AC0}
{F99EAF58-533E-4941-A0C5-5101309D8AB9} = {FC10C682-DF71-4EEA-A3A5-E716C1C88AC0}
- {9EDBE037-EFE0-4B72-B602-E4C3F0C05F2F} = {2C4425BA-8478-4BCB-B616-E6FC28ADEAB9}
- {B38797B1-BB45-4B30-9D4F-79D9F4B3735B} = {2C4425BA-8478-4BCB-B616-E6FC28ADEAB9}
- {5B2027FA-F43A-4E80-880F-B3A7A2720AA7} = {ED90FF1C-59D4-4AB0-860E-2872ECA1BFEC}
- {DFC21F4E-EC4F-4310-A4DA-B7094AA4D237} = {ED90FF1C-59D4-4AB0-860E-2872ECA1BFEC}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {F9EDC1DC-52BE-4C40-90D2-41EE6FB7FA5C}
diff --git a/src/libraries/System.Numerics.Vectors/tests/GenericVectorTests.cs b/src/libraries/System.Numerics.Vectors/tests/GenericVectorTests.cs
index 556e6672b806c..b7fbaec38f14f 100644
--- a/src/libraries/System.Numerics.Vectors/tests/GenericVectorTests.cs
+++ b/src/libraries/System.Numerics.Vectors/tests/GenericVectorTests.cs
@@ -6,6 +6,7 @@
using System.Linq;
using System.Reflection;
using System.Runtime.InteropServices;
+using System.Runtime.Versioning;
using Xunit;
using Xunit.Sdk;
@@ -14,6 +15,7 @@ namespace System.Numerics.Tests
///
/// Vector{T} tests that use random number generation and a unified generic test structure
///
+ [RequiresPreviewFeatures]
public class GenericVectorTests
{
// Static constructor in top-level class\
@@ -515,7 +517,7 @@ private void TestIndexerOutOfRange() where T : struct
public void StaticOneVectorSingle() { TestStaticOneVector(); }
[Fact]
public void StaticOneVectorDouble() { TestStaticOneVector(); }
- private void TestStaticOneVector() where T : struct
+ private void TestStaticOneVector() where T : struct, INumber
{
Vector vector = Vector.One;
T oneValue = Util.One();
@@ -546,7 +548,7 @@ private void TestStaticOneVector() where T : struct
public void StaticZeroVectorSingle() { TestStaticZeroVector(); }
[Fact]
public void StaticZeroVectorDouble() { TestStaticZeroVector(); }
- private void TestStaticZeroVector() where T : struct
+ private void TestStaticZeroVector() where T : struct, INumber
{
Vector vector = Vector.Zero;
T zeroValue = Util.Zero();
@@ -812,7 +814,7 @@ private void TestEqualsObject() where T : struct
public void EqualsVectorSingle() { TestEqualsVector(); }
[Fact]
public void EqualsVectorDouble() { TestEqualsVector(); }
- private void TestEqualsVector() where T : struct
+ private void TestEqualsVector() where T : struct, INumber
{
T[] values = GenerateRandomValuesForVector();
Vector vector1 = new Vector(values);
@@ -963,7 +965,7 @@ private void TestToString(string format, IFormatProvider provider) where T :
[Fact]
[ActiveIssue("https://github.com/dotnet/runtime/issues/60347", typeof(PlatformDetection), nameof(PlatformDetection.IsMonoRuntime), nameof(PlatformDetection.IsX86Process))]
public void AdditionDouble() { TestAddition(); }
- private void TestAddition() where T : struct
+ private void TestAddition() where T : struct, INumber
{
T[] values1 = GenerateRandomValuesForVector();
T[] values2 = GenerateRandomValuesForVector();
@@ -993,7 +995,7 @@ private void TestAddition() where T : struct
public void AdditionOverflowUInt64() { TestAdditionOverflow(); }
[Fact]
public void AdditionOverflowInt64() { TestAdditionOverflow(); }
- private void TestAdditionOverflow() where T : struct
+ private void TestAdditionOverflow() where T : struct, INumber
{
T maxValue = GetMaxValueExact();
Vector maxValueVector = new Vector(maxValue);
@@ -1030,7 +1032,7 @@ private void TestAdditionOverflow() where T : struct
[Fact]
[ActiveIssue("https://github.com/dotnet/runtime/issues/60347", typeof(PlatformDetection), nameof(PlatformDetection.IsMonoRuntime), nameof(PlatformDetection.IsX86Process))]
public void SubtractionDouble() { TestSubtraction(); }
- private void TestSubtraction() where T : struct
+ private void TestSubtraction() where T : struct, INumber
{
T[] values1 = GenerateRandomValuesForVector();
T[] values2 = GenerateRandomValuesForVector();
@@ -1060,7 +1062,7 @@ private void TestSubtraction() where T : struct
public void SubtractionOverflowUInt64() { TestSubtractionOverflow(); }
[Fact]
public void SubtractionOverflowInt64() { TestSubtractionOverflow(); }
- private void TestSubtractionOverflow() where T : struct
+ private void TestSubtractionOverflow() where T : struct, INumber
{
T minValue = GetMinValueExact();
Vector minValueVector = new Vector(minValue);
@@ -1097,7 +1099,7 @@ private void TestSubtractionOverflow() where T : struct
[Fact]
[ActiveIssue("https://github.com/dotnet/runtime/issues/60347", typeof(PlatformDetection), nameof(PlatformDetection.IsMonoRuntime), nameof(PlatformDetection.IsX86Process))]
public void MultiplicationDouble() { TestMultiplication(); }
- private void TestMultiplication() where T : struct
+ private void TestMultiplication() where T : struct, INumber
{
T[] values1 = GenerateRandomValuesForVector();
T[] values2 = GenerateRandomValuesForVector();
@@ -1133,7 +1135,7 @@ private void TestMultiplication() where T : struct
[Fact]
[ActiveIssue("https://github.com/dotnet/runtime/issues/60347", typeof(PlatformDetection), nameof(PlatformDetection.IsMonoRuntime), nameof(PlatformDetection.IsX86Process))]
public void MultiplicationWithScalarDouble() { TestMultiplicationWithScalar(); }
- private void TestMultiplicationWithScalar() where T : struct
+ private void TestMultiplicationWithScalar() where T : struct, INumber
{
T[] values = GenerateRandomValuesForVector();
T factor = Util.GenerateSingleValue(GetMinValue(), GetMaxValue());
@@ -1177,7 +1179,7 @@ private void TestMultiplicationWithScalar() where T : struct
[Fact]
[ActiveIssue("https://github.com/dotnet/runtime/issues/60347", typeof(PlatformDetection), nameof(PlatformDetection.IsMonoRuntime), nameof(PlatformDetection.IsX86Process))]
public void DivisionDouble() { TestDivision(); }
- private void TestDivision() where T : struct
+ private void TestDivision() where T : struct, INumber
{
T[] values1 = GenerateRandomValuesForVector();
values1 = values1.Select(val => val.Equals(Util.Zero()) ? Util.One() : val).ToArray(); // Avoid divide-by-zero
@@ -1239,7 +1241,7 @@ private void TestDivisionByZeroException() where T : struct
[Fact]
[ActiveIssue("https://github.com/dotnet/runtime/issues/60347", typeof(PlatformDetection), nameof(PlatformDetection.IsMonoRuntime), nameof(PlatformDetection.IsX86Process))]
public void UnaryMinusDouble() { TestUnaryMinus(); }
- private void TestUnaryMinus() where T : struct
+ private void TestUnaryMinus() where T : struct, INumber
{
T[] values = GenerateRandomValuesForVector();
Vector vector = new Vector(values);
@@ -1336,7 +1338,7 @@ private void TestBitwiseOrOperator() where T : struct
public void BitwiseXorOperatorUInt64() { TestBitwiseXorOperator(); }
[Fact]
public void BitwiseXorOperatorInt64() { TestBitwiseXorOperator(); }
- private void TestBitwiseXorOperator() where T : struct
+ private void TestBitwiseXorOperator() where T : struct, IBitwiseOperators
{
T[] values1 = GenerateRandomValuesForVector();
T[] values2 = GenerateRandomValuesForVector();
@@ -1368,7 +1370,7 @@ private void TestBitwiseXorOperator() where T : struct
public void BitwiseOnesComplementOperatorUInt64() { TestBitwiseOnesComplementOperator(); }
[Fact]
public void BitwiseOnesComplementOperatorInt64() { TestBitwiseOnesComplementOperator(); }
- private void TestBitwiseOnesComplementOperator() where T : struct
+ private void TestBitwiseOnesComplementOperator() where T : struct, IBitwiseOperators
{
T[] values1 = GenerateRandomValuesForVector();
Vector randomVector1 = new Vector(values1);
@@ -1398,7 +1400,7 @@ private void TestBitwiseOnesComplementOperator() where T : struct
public void BitwiseAndNotUInt64() { TestBitwiseAndNot(); }
[Fact]
public void BitwiseAndNotInt64() { TestBitwiseAndNot(); }
- private void TestBitwiseAndNot() where T : struct
+ private void TestBitwiseAndNot() where T : struct, IBitwiseOperators
{
T[] values1 = GenerateRandomValuesForVector();
T[] values2 = GenerateRandomValuesForVector();
@@ -1441,7 +1443,7 @@ private void TestBitwiseAndNot() where T : struct
[Fact]
[ActiveIssue("https://github.com/dotnet/runtime/issues/60347", typeof(PlatformDetection), nameof(PlatformDetection.IsMonoRuntime), nameof(PlatformDetection.IsX86Process))]
public void VectorGreaterThanDouble() { TestVectorGreaterThan(); }
- private void TestVectorGreaterThan() where T : struct
+ private void TestVectorGreaterThan() where T : struct, INumber
{
var values1 = GenerateRandomValuesForVector();
var values2 = GenerateRandomValuesForVector();
@@ -1480,7 +1482,7 @@ private void TestVectorGreaterThan() where T : struct
[Fact]
[ActiveIssue("https://github.com/dotnet/runtime/issues/60347", typeof(PlatformDetection), nameof(PlatformDetection.IsMonoRuntime), nameof(PlatformDetection.IsX86Process))]
public void GreaterThanOrEqualDouble() { TestVectorGreaterThanOrEqual(); }
- private void TestVectorGreaterThanOrEqual() where T : struct
+ private void TestVectorGreaterThanOrEqual() where T : struct, INumber
{
T[] values1 = GenerateRandomValuesForVector();
T[] values2 = GenerateRandomValuesForVector();
@@ -1735,7 +1737,7 @@ private void TestVectorGreaterThanOrEqualAll() where T : struct
[Fact]
[ActiveIssue("https://github.com/dotnet/runtime/issues/60347", typeof(PlatformDetection), nameof(PlatformDetection.IsMonoRuntime), nameof(PlatformDetection.IsX86Process))]
public void LessThanDouble() { TestVectorLessThan(); }
- private void TestVectorLessThan() where T : struct
+ private void TestVectorLessThan() where T : struct, INumber
{
T[] values1 = GenerateRandomValuesForVector();
T[] values2 = GenerateRandomValuesForVector();
@@ -1774,7 +1776,7 @@ private void TestVectorLessThan() where T : struct
[Fact]
[ActiveIssue("https://github.com/dotnet/runtime/issues/60347", typeof(PlatformDetection), nameof(PlatformDetection.IsMonoRuntime), nameof(PlatformDetection.IsX86Process))]
public void LessThanOrEqualDouble() { TestVectorLessThanOrEqual(); }
- private void TestVectorLessThanOrEqual() where T : struct
+ private void TestVectorLessThanOrEqual() where T : struct, INumber
{
T[] values1 = GenerateRandomValuesForVector();
T[] values2 = GenerateRandomValuesForVector();
@@ -1813,7 +1815,7 @@ private void TestVectorLessThanOrEqual() where T : struct
[Fact]
[ActiveIssue("https://github.com/dotnet/runtime/issues/60347", typeof(PlatformDetection), nameof(PlatformDetection.IsMonoRuntime), nameof(PlatformDetection.IsX86Process))]
public void LessThanAnyDouble() { TestVectorLessThanAny(); }
- private void TestVectorLessThanAny() where T : struct
+ private void TestVectorLessThanAny() where T : struct, INumber
{
T[] values1 = new T[Vector.Count];
for (int g = 0; g < Vector.Count; g++)
@@ -1848,7 +1850,7 @@ private void TestVectorLessThanAny() where T : struct
public void LessThanAllSingle() { TestVectorLessThanAll(); }
[Fact]
public void LessThanAllDouble() { TestVectorLessThanAll(); }
- private void TestVectorLessThanAll() where T : struct
+ private void TestVectorLessThanAll() where T : struct, INumber
{
T[] values1 = new T[Vector.Count];
for (int g = 0; g < Vector.Count; g++)
@@ -2003,7 +2005,7 @@ private void TestVectorLessThanOrEqualAll() where T : struct
public void VectorEqualsSingle() { TestVectorEquals(); }
[Fact]
public void VectorEqualsDouble() { TestVectorEquals(); }
- private void TestVectorEquals() where T : struct
+ private void TestVectorEquals() where T : struct, INumber
{
T[] values1 = GenerateRandomValuesForVector();
T[] values2;
@@ -2048,7 +2050,7 @@ private void TestVectorEquals() where T : struct
public void VectorEqualsAnySingle() { TestVectorEqualsAny(); }
[Fact]
public void VectorEqualsAnyDouble() { TestVectorEqualsAny(); }
- private void TestVectorEqualsAny() where T : struct
+ private void TestVectorEqualsAny() where T : struct, INumber
{
T[] values1 = GenerateRandomValuesForVector();
T[] values2;
@@ -2096,7 +2098,7 @@ private void TestVectorEqualsAny() where T : struct
public void VectorEqualsAllSingle() { TestVectorEqualsAll(); }
[Fact]
public void VectorEqualsAllDouble() { TestVectorEqualsAll(); }
- private void TestVectorEqualsAll() where T : struct
+ private void TestVectorEqualsAll() where T : struct, INumber
{
T[] values1 = GenerateRandomValuesForVector();
T[] values2;
@@ -2141,7 +2143,7 @@ private void TestVectorEqualsAll() where T : struct
[Fact]
[ActiveIssue("https://github.com/dotnet/runtime/issues/60347", typeof(PlatformDetection), nameof(PlatformDetection.IsMonoRuntime), nameof(PlatformDetection.IsX86Process))]
public void ConditionalSelectDouble() { TestConditionalSelect(); }
- private void TestConditionalSelect() where T : struct
+ private void TestConditionalSelect() where T : struct, INumber
{
T[] values1 = GenerateRandomValuesForVector();
T[] values2 = GenerateRandomValuesForVector();
@@ -2195,7 +2197,7 @@ private void TestConditionalSelect() where T : struct
[Fact]
[ActiveIssue("https://github.com/dotnet/runtime/issues/60347", typeof(PlatformDetection), nameof(PlatformDetection.IsMonoRuntime), nameof(PlatformDetection.IsX86Process))]
public void DotProductDouble() { TestDotProduct(); }
- private void TestDotProduct() where T : struct
+ private void TestDotProduct() where T : struct, INumber
{
T[] values1 = Util.GenerateRandomValues(Vector.Count);
T[] values2 = Util.GenerateRandomValues(Vector.Count);
@@ -2233,7 +2235,7 @@ private void TestDotProduct() where T : struct
[Fact]
[ActiveIssue("https://github.com/dotnet/runtime/issues/60347", typeof(PlatformDetection), nameof(PlatformDetection.IsMonoRuntime), nameof(PlatformDetection.IsX86Process))]
public void MaxDouble() { TestMax(); }
- private void TestMax() where T : struct
+ private void TestMax() where T : struct, INumber
{
T[] values1 = GenerateRandomValuesForVector();
T[] values2 = GenerateRandomValuesForVector();
@@ -2271,7 +2273,7 @@ private void TestMax() where T : struct
[Fact]
[ActiveIssue("https://github.com/dotnet/runtime/issues/60347", typeof(PlatformDetection), nameof(PlatformDetection.IsMonoRuntime), nameof(PlatformDetection.IsX86Process))]
public void MinDouble() { TestMin(); }
- private void TestMin() where T : struct
+ private void TestMin() where T : struct, INumber
{
T[] values1 = GenerateRandomValuesForVector();
T[] values2 = GenerateRandomValuesForVector();
@@ -2309,7 +2311,7 @@ private void TestMin() where T : struct
[Fact]
[ActiveIssue("https://github.com/dotnet/runtime/issues/60347", typeof(PlatformDetection), nameof(PlatformDetection.IsMonoRuntime), nameof(PlatformDetection.IsX86Process))]
public void SquareRootDouble() { TestSquareRoot(15); }
- private void TestSquareRoot(int precision = -1) where T : struct, IEquatable
+ private void TestSquareRoot(int precision = -1) where T : struct, INumber, IEquatable
{
T[] values = GenerateRandomValuesForVector();
Vector vector = new Vector(values);
@@ -2405,7 +2407,7 @@ public void FloorDouble()
[Fact]
[ActiveIssue("https://github.com/dotnet/runtime/issues/60347", typeof(PlatformDetection), nameof(PlatformDetection.IsMonoRuntime), nameof(PlatformDetection.IsX86Process))]
public void AbsDouble() { TestAbs(); }
- private void TestAbs() where T : struct
+ private void TestAbs() where T : struct, INumber
{
T[] values = Util.GenerateRandomValues(Vector.Count, GetMinValue() + 1, GetMaxValue());
Vector vector = new Vector(values);
@@ -2445,7 +2447,7 @@ private void TestAbs() where T : struct
[Fact]
[ActiveIssue("https://github.com/dotnet/runtime/issues/60347", typeof(PlatformDetection), nameof(PlatformDetection.IsMonoRuntime), nameof(PlatformDetection.IsX86Process))]
public void MultiplicationReflectionDouble() { TestMultiplicationReflection(); }
- private void TestMultiplicationReflection() where T : struct
+ private void TestMultiplicationReflection() where T : struct, INumber
{
T[] values1 = GenerateRandomValuesForVector();
T[] values2 = GenerateRandomValuesForVector();
@@ -2484,7 +2486,7 @@ private void TestMultiplicationReflection() where T : struct
[Fact]
[ActiveIssue("https://github.com/dotnet/runtime/issues/60347", typeof(PlatformDetection), nameof(PlatformDetection.IsMonoRuntime), nameof(PlatformDetection.IsX86Process))]
public void AdditionReflectionDouble() { TestAdditionReflection(); }
- private void TestAdditionReflection() where T : struct
+ private void TestAdditionReflection() where T : struct, INumber
{
T[] values1 = GenerateRandomValuesForVector();
T[] values2 = GenerateRandomValuesForVector();
@@ -2523,7 +2525,7 @@ private void TestAdditionReflection() where T : struct
[Fact]
[ActiveIssue("https://github.com/dotnet/runtime/issues/60347", typeof(PlatformDetection), nameof(PlatformDetection.IsMonoRuntime), nameof(PlatformDetection.IsX86Process))]
public void DivisionReflectionDouble() { TestDivisionReflection(); }
- private void TestDivisionReflection() where T : struct
+ private void TestDivisionReflection() where T : struct, INumber
{
T[] values1 = GenerateRandomValuesForVector();
values1 = values1.Select(val => val.Equals(Util.Zero()) ? Util.One() : val).ToArray(); // Avoid divide-by-zero
diff --git a/src/libraries/System.Numerics.Vectors/tests/System.Numerics.Vectors.Tests.csproj b/src/libraries/System.Numerics.Vectors/tests/System.Numerics.Vectors.Tests.csproj
index c8cff8865d09d..ff4201deb1b70 100644
--- a/src/libraries/System.Numerics.Vectors/tests/System.Numerics.Vectors.Tests.csproj
+++ b/src/libraries/System.Numerics.Vectors/tests/System.Numerics.Vectors.Tests.csproj
@@ -17,4 +17,8 @@
+
+
+
+
diff --git a/src/libraries/System.Numerics.Vectors/tests/Util.cs b/src/libraries/System.Numerics.Vectors/tests/Util.cs
index 135b3fc0e65e4..74affb1bd52ab 100644
--- a/src/libraries/System.Numerics.Vectors/tests/Util.cs
+++ b/src/libraries/System.Numerics.Vectors/tests/Util.cs
@@ -1,6 +1,8 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
+using System.Runtime.Versioning;
+
namespace System.Numerics.Tests
{
public static class Util
@@ -89,150 +91,65 @@ public static T GenerateSingleValue(int min = 1, int max = 100) where T : str
return value;
}
- public static T Abs(T value) where T : struct
+ [RequiresPreviewFeatures]
+ public static T Abs