This commit is contained in:
hsutter 2016-01-07 07:17:14 -08:00
parent e4f908093d
commit 935a5ee325

View File

@ -7459,8 +7459,8 @@ Statement rules:
Arithmetic rules:
* [ES.100: Don't mix signed and unsigned arithmetic](#Res-mix)
* [ES.101: use unsigned types for bit manipulation](#Res-unsigned)
* [ES.102: Used signed types for arithmetic](#Res-signed)
* [ES.101: Use unsigned types for bit manipulation](#Res-unsigned)
* [ES.102: Use signed types for arithmetic](#Res-signed)
* [ES.103: Don't overflow](#Res-overflow)
* [ES.104: Don't underflow](#Res-underflow)
* [ES.105: Don't divide by zero](#Res-zero)
@ -9229,7 +9229,7 @@ This precludes consistency.
Compilers already know and sometimes warn.
### <a name="Res-unsigned"></a>ES.101: use unsigned types for bit manipulation
### <a name="Res-unsigned"></a>ES.101: Use unsigned types for bit manipulation
##### Reason
@ -9239,23 +9239,23 @@ Unsigned types support bit manipulation without surprises from sign bits.
???
**Exception**: Use unsigned types if you really want modulo arithmetic.
**Exception**: Use signed types if you really want modulo arithmetic.
##### Enforcement
???
### <a name="Res-signed"></a>ES.102: Used signed types for arithmetic
### <a name="Res-signed"></a>ES.102: Use signed types for arithmetic
##### Reason
Unsigned types support bit manipulation without surprises from sign bits.
Signed types support modulo arithmetic without surprises from lack of sign bits.
##### Example
???
**Exception**: Use unsigned types if you really want modulo arithmetic.
**Exception**: Use unsigned types if you really want bit manipulation.
##### Enforcement