This is a rebased version of "simplify amount_split by iterating over amount bits"
#851
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.
This is a rebased version of #245
Original author: @theStack
Changes: Rebased onto main and resolved conflicts.
Closes #245
Original message:
Small optimization: rather than involving a string data type here (which needs to also be reversed and sliced), we can just directly operate on the amount integer variable by iterating over all the bits and add 2^i to the return list if bit i is set.
Also, add type hints to the parameter / return value and assert that the passed value must not be negative.
Updated notes:
With all of the changes over the years the only bit needed from the original PR was the change from string manipulation of binary number to the Bitwise operations. There had been talk around failing tests due to assertions, and negative amounts. All of that has been updated / resolved in other commits.