www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - How to check for overflow when adding/multiplying numbers?

reply Dave P. <dave287091 gmail.com> writes:
I’m porting some C code which uses the gcc intrinsics to do a 
multiply/add with overflow checking. See 
[here](https://gcc.gnu.org/onlinedocs/gcc/Integer-Overflow-Builtins.html) for
reference. Is there a D equivalent?
Dec 06 2021
parent reply Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= <ola.fosheim.grostad gmail.com> writes:
On Monday, 6 December 2021 at 17:46:35 UTC, Dave P. wrote:
 I’m porting some C code which uses the gcc intrinsics to do a 
 multiply/add with overflow checking. See 
 [here](https://gcc.gnu.org/onlinedocs/gcc/Integer-Overflow-Builtins.html) for
reference. Is there a D equivalent?
There is: https://dlang.org/phobos/core_checkedint.html I have never used it, so I don't know how well it performs.
Dec 06 2021
parent Dave P. <dave287091 gmail.com> writes:
On Monday, 6 December 2021 at 18:38:37 UTC, Ola Fosheim Grøstad 
wrote:
 On Monday, 6 December 2021 at 17:46:35 UTC, Dave P. wrote:
 I’m porting some C code which uses the gcc intrinsics to do a 
 multiply/add with overflow checking. See 
 [here](https://gcc.gnu.org/onlinedocs/gcc/Integer-Overflow-Builtins.html) for
reference. Is there a D equivalent?
There is: https://dlang.org/phobos/core_checkedint.html I have never used it, so I don't know how well it performs.
That seems to fit the bill. Thanks!
Dec 06 2021