gh-144087: Add support for unicode MINUS SIGN in int, float and complex#144095
gh-144087: Add support for unicode MINUS SIGN in int, float and complex#144095johnslavik wants to merge 31 commits into
int, float and complex#144095Conversation
|
LGTM. Needs tests and blurb. Maybe consider making the assignment a constant instead of a comment, though I don't feel strongly about it. |
Sorry, something went wrong.
Yep! Work in progress. Thanks for chiming in :) |
Sorry, something went wrong.
|
This also needs documentation. I would guess, it will take major part of the PR. |
Sorry, something went wrong.
How about only checking for the first non whitespace character? signs should not appear in the middle of a number unless they are in the e/E/p suffix I guess? |
Sorry, something went wrong.
Hardly this optimizes something.
Yes. _PyUnicode_TransformDecimalAndSpaceToASCII() used for floats and complexes (which gives another case of "sign in the middle") too. |
Sorry, something went wrong.
Some tests are failing!
- `CAPIFloatTest.test_fromstring` doesn't test for minus signs - I can't find `complex` C API tests
I think that reads better
|
This seems like something we could add to the "What's New" log. I'll do that. |
Sorry, something went wrong.
|
@picnixz, @skirpichev, I tagged you for reviews because I thought you may be interested now that it is ready :-) I'm particularly unsure about whether I missed or added unnecessary tests, and whether the documentation changes are good. |
Sorry, something went wrong.
skirpichev
left a comment
There was a problem hiding this comment.
LGTM, with minor nitpicks.
Maybe you can do docs more compact. See suggestions as an example.
Alternatively, omit just "(ASCII plus sign)" clarifications. There shouldn't be much confusion. Visual difference for '-' and '−' is less apparent.
Sorry, something went wrong.
Co-authored-by: Petr Viktorin <encukou@gmail.com>
Co-authored-by: Sergey B Kirpichev <skirpichev@gmail.com>
Co-authored-by: Sergey B Kirpichev <skirpichev@gmail.com>
skirpichev
left a comment
There was a problem hiding this comment.
Note also, that we have a separate parsing from string code in the fromhex() class method.
I don't see good reasons to reject new sign character here, if we are going to support in the float constructor.
Sorry, something went wrong.
Co-authored-by: Sergey B Kirpichev <skirpichev@gmail.com>
|
Please do not merge this. I need to collect more feedback on the idea. |
Sorry, something went wrong.
|
This PR is stale because it has been open for 30 days with no activity. |
Sorry, something went wrong.
I don't see a different approach to solving this that is equally or more optimal in terms of trade-offs. If there's any alternative approach that I've missed, please let me know.