This repository has been archived by the owner on May 31, 2020. It is now read-only.
Implemented sum() builtin functionality for other types. #749
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.
Changes
Implemented python sum() builtin functionality for other datatypes including Strings, Sets, FrozenSets, Dict, Range, Bytes and Bytearrays. Calling sum on these datatypes generally returns something type-specific (e.g. bytes returns the sum of each byte's ASCII value) .
N.B. The tests for Set and FrozenSet occasionally fail nondeterministically (though only when provided invalid input - specifically a mix of ints, floats and strings) due to fact that their values are are stored in Python dicts and dicts don't (yet) maintain order. If anyone can see a way around this, I'd love to know. In the interim I've disabled the tests for Set and FrozenSet, but kept the functionality (which works, it may just return a different TypeError message).
Problem
The unique sum() functionality across the less commonly used data types had not been implemented.
Fixes
Contributes to fixing #47
PR Checklist: