digitalmars.D.learn - Using std.math: FloatingPointControl.enableExceptions
- Shriramana Sharma (16/16) Dec 10 2015 Hello. I'm trying to figure out how to use
- rumbu (3/16) Dec 10 2015 Constant folding: a is evaluated at compile time to + infinity.
- Shriramana Sharma (6/7) Dec 11 2015 Hmm... I guess the compiler figures that if someone is hardcoding that
Hello. I'm trying to figure out how to use FloatingPointControl.enableExceptions. Upon enabling severeExceptions I would expect the division by zero to be signaled, but neither do I get a SIGFPE nor does ieeeFlags show the exception having been signaled. What am I doing wrong? import std.stdio; import std.math; void main() { FloatingPointControl fc; fc.enableExceptions(fc.severeExceptions); real a = 1.0 / 0.0; writeln(ieeeFlags.divByZero); } --
Dec 10 2015
On Friday, 11 December 2015 at 06:28:09 UTC, Shriramana Sharma wrote:Hello. I'm trying to figure out how to use FloatingPointControl.enableExceptions. Upon enabling severeExceptions I would expect the division by zero to be signaled, but neither do I get a SIGFPE nor does ieeeFlags show the exception having been signaled. What am I doing wrong? import std.stdio; import std.math; void main() { FloatingPointControl fc; fc.enableExceptions(fc.severeExceptions); real a = 1.0 / 0.0; writeln(ieeeFlags.divByZero);Constant folding: a is evaluated at compile time to + infinity.
Dec 10 2015
rumbu wrote:Constant folding: a is evaluated at compile time to + infinity.Hmm... I guess the compiler figures that if someone is hardcoding that expression then they don't want to see an exception. Thanks for the explanation. --
Dec 11 2015