Closed
Description
The UnsignedInteger, just like the default (signed) Integer should be checked in Debug and ReleaseSafe mode for overflow (from both sides). In Release mode they are not checked for performance.
We have to carefully check that this design fixes all the pitfalls at https://github.com/lcompilers/lpython/wiki/ASR-Design#unsigned-integers, but it looks like it might.
If wraparound is required, then the design at #1578 should be used.
Implementation:
- Initial implementation: Add unsigned int types #1764
- Add tests for all corner cases, harden the implementation
- Debug time wraparound check -> implement later: Implement Debug time wraparound check for signed and unsigned integers #1776
Metadata
Metadata
Assignees
Labels
No labels