3 ms·
How does arithmetic work with NonZeroI16 and remain efficient? What's the codegen of adding/subtracting two NonZeroI16 values?
by planede 2y ago
How does arithmetic work with NonZeroI16 and remain efficient? What's the codegen of adding/subtracting two NonZeroI16 values?
- tialaramex 2y agoWhether we can efficiently do other arithmetic depends on what we're doing, but that's not necessarily on our critical path even if the division is.
- Measter 2y agoThey don't support general arithmetic. They do have member functions for abs, multiplication, negation and power operations, but they are all checked/saturating if they can result in 0. If you want to do actual arithmetic, you have to get the internal i16, perform the arithmetic, then rewrap it. https://godbolt.org/z/T5e36zzM5 https://godbolt.org/z/T5e36zzM5