core: Enable some features neede for a port of python3's decimal module #3377
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
bit_length and 3-arg pow() are needed for a reduced port I'm making of desktop Python's
Decimal
library. Enable them everywhere we want a FULL_BUILD.The added code is +100 bytes for int.bit_length() and +476 bytes for 3-arg pow(). It would be possible to eliminate the use of 3-arg pow() from jepler_udecimal (decimal has had its 3-arg-pow support removed, but there's one other calculation that makes use of 3-arg pow of regulat integers), but eliminating .bit_length() is infeasible.
The jepler_udecimal package is at https://jepler-udecimal.readthedocs.io/en/latest/
Incidentally, it took about 51kB to load this work-in-progress code on an nrf52840 based board: