KEMBAR78
Add binary parsing support to integer types by stephentoub · Pull Request #84998 · dotnet/runtime · GitHub
Skip to content

Conversation

@stephentoub
Copy link
Member

Contributes to #83619

@ghost ghost added needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners new-api-needs-documentation labels Apr 18, 2023
@ghost
Copy link

ghost commented Apr 18, 2023

Note regarding the new-api-needs-documentation label:

This serves as a reminder for when your PR is modifying a ref *.cs file and adding/modifying public APIs, please make sure the API implementation in the src *.cs file is documented with triple slash comments, so the PR reviewers can sign off that change.

public static TInteger ShiftLeftForNextDigit(TInteger value) => TInteger.MultiplyBy16(value);
}

private readonly struct BinaryParser<TInteger> : IHexOrBinaryParser<TInteger> where TInteger : unmanaged, IBinaryIntegerParseAndFormatInfo<TInteger>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder if its worth optimizing for processing multiple bits at a time. Doing up to 64-iterations for -1L is a lot for example.

-- Not something that needs to be in this PR, but might be worth an up-for-grabs issue if anyone is interested in optimizing it further.

@tannergooding
Copy link
Member

Seems the tests in

public void ValidateParseStyle_Float(NumberStyles style, bool valid, string paramName)

are unhappy and surprisingly its not the one that's checking unchecked((NumberStyles)0xFFFFFC00) is not valid...

@stephentoub
Copy link
Member Author

Thanks. Yeah, it doesn't like that I added a parameter name to the exception (it's upset the name isn't null) . Will fix the test.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners new-api-needs-documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants