Is there a formula for overflow?

Salih Dincer salihdb at hotmail.com
Wed Nov 30 04:30:08 UTC 2022


On Wednesday, 30 November 2022 at 03:07:44 UTC, thebluepandabear 
wrote:
>
> I am curious as to what formula the D compiler uses for 
> calculating 'overflowed' values, if such thing exists? :)
>
> Regards,
> thebluepandabear

**Source:** 
http://ddili.org/ders/d.en/cast.html?#ix_cast.arithmetic%20conversion

1. If one of the values is real, then the other value is 
converted to **real**
2. Else, if one of the values is **double**, then the other value 
is converted to **double**
3. Else, if one of the values is **float**, then the other value 
is converted to **float**
4. Else, first integer promotions are applied according to the 
table above, and then the following rules are followed:
**A.** If both types are the same, then no more steps needed
**B.** If both types are signed or both types are unsigned, then 
the narrower value is converted to the wider type
**C.** If the signed type is wider than the unsigned type, then 
the unsigned value is converted to the signed type
**D.** Otherwise the signed type is converted to the unsigned type

SDB at 79



More information about the Digitalmars-d-learn mailing list