Proposal: fixing the 'pure' floating point problem.

Walter Bright newshound1 at digitalmars.com
Fri Mar 13 11:29:28 PDT 2009


While it's a good suggestion, I think there's a fundamental problem with 
it. Suppose a function in the floatingpoint module calls foo() in a 
non-floatingpoint module which calls std.math.sin(x). std.math.sin(x) is 
marked as "pure" in a non-floatingpoint module. So, inside foo(), it is 
assuming that sin(x) is pure and caches the value, while its caller is 
manipulating the rounding mode and making repeated calls to foo() 
expecting different answers.



More information about the Digitalmars-d mailing list