On 21/10/2006, at 10:06 PM, Guillaume Melquiond wrote:
This is not correct. If the range is too small to be represented in single precision, it will be inflated until it can be represented. So you don't have to inflate the range one more time when you convert it back to double precision, as it already was.
Great, that works as I had hoped. On 22/10/2006, at 9:31 PM, Guillaume Melquiond wrote:
Following up on myself. There is a bug [*] in GCC 3.4 and later such that the compiler generates wrong code when converting from interval<double> to interval<float>. So, if your compiler is GCC, the behavior you observe is not surprising (although completely wrong).
You are correct; with gcc 4.0 the testcase fails as previously described, with gcc 3.3 it works as expected. Thanks for your help troubleshooting this. Sincerely, Tirath Ramdas