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.
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: