Use vectorized T=byte implementations to optimize all MemoryExtensions APIs for T...
authorAhson Khan <ahkha@microsoft.com>
Fri, 16 Mar 2018 18:05:14 +0000 (11:05 -0700)
committerJan Kotas <jkotas@microsoft.com>
Sat, 17 Mar 2018 01:51:16 +0000 (18:51 -0700)
commitcea438a8e885cc11f96671367bebf23137f45a5a
tree77c37a4053bfdf170a16655fdc1923b0701d5df3
parent5cdf8755129b79fa040b10c4d621e822346c3ab6
Use vectorized T=byte implementations to optimize all MemoryExtensions APIs for T != byte (#28080)

* Adding IsTypeNumeric helper

* Add more NUint operations and use IsTypeNumeric everywhere.

* Revert addition of LangVersion 7.2

* Fix formatting

* Revert use of nuint and IsNumericType for *IndexOf* APIs

* Fix comment, undo leftover changes, and fix indentation.

* Address PR feedback - use nuint where possible.

* PR feedback - Cleanup SequenceEqual just like SequenceCompareTo

* Add new NUInt operations for netcoreapp/coreclr mirror.

* Address PR feedback

* Add T = char and T = long tests for StartsWith and EndsWith

Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
src/mscorlib/shared/System/MemoryExtensions.cs
src/mscorlib/shared/System/SpanHelpers.Byte.cs
src/mscorlib/shared/System/SpanHelpers.T.cs