Tags: gfoidl/dotnet-runtime
Tags
Fixed renting buffer from pool in INumberBase (dotnet#102755)
Fixed xml-doc comments in OptionsServiceCollectionExtensions.AddOptio… …nsWithValidateOnStart (dotnet#94385)
Fixed wrong comment in Marshalling/*Marshaller.cs (dotnet#92563) For the BufferSize 0x200 the maximum size is 512 (dec).
Handle the remainder in MemoryExtensions.Count vectorized (dotnet#82687) * Re-use targetVector from Vector256 in Vector128 code-path Saves an additional vpbroadcastb. * Process remainder vectorized * Use unsigned division for remaining elements Avoids the signed integer division. * Process remainder vectorized only if more than half of vector remains Benchmarking showed that the cost is quite high, so for just a few elements the scalar loop seems better. * Added comment why / 2 got chosen
Optimizations for Ascii.Equals and Ascii.EqualsIgnoreCase (dotnet#85926)
Base64.Decode: fixed latent bug for invalid input that is less than a… … block-size (dotnet#79952) * Tests * Fix
Fixed relative links in Memory-model.md (dotnet#79785)
MemoryExtensions.Replace(Span<T>, T, T) implemented (dotnet#76337) * Defined API * Tests * Scalar implementation * Use EqualityComparer<T>.Default instead * Delegation to SpanHelpers.Replace * ReplaceValueType implemented * Use ushort instead of short, as it doesn't sign-extend for broadcast and in the scalar loop * Forward string.Replace(char, char) to SpanHelpers.ReplaceValueType * Process remainder vectorized only when not done already and with max width available * Split into inlineable scalar path and non-inlineable vectorized path * Replaced open coded loops with Replace * Don't use EqualityComparer<T>.Default Cf. dotnet#76337 (comment) * Remove guards for remainder Cf. dotnet#76337 (comment) * Don't split method into scalar and vectorized and don't force inlining of scalar-part * Fixed assert ReplaceValueType is called from string.Replace(char, char) so the Debug.Assert was on wrong position, as at entry to method non accelerated platforms are allowed to call it. * Better handling of remainder from the vectorized loop(s) Intentionally leave one iteration off, as the remaining elements are done vectorized anyway. This eliminates the less probable case (cf. dotnet#76337 (comment)) that the last vector is done twice. * PR feedback
[release/7.0] Base64.Decode: fixed latent bug for non-ASCII inputs (d… …otnet#76812) * Added test cases * Fix * Use unicode escape sequence in tests * Apply suggestions from code review Co-authored-by: Günther Foidl <[email protected]> Co-authored-by: Adam Sitnik <[email protected]>
Base64.Decode: fixed latent bug for non-ASCII inputs (dotnet#76795)
PreviousNext