Mercurial > projects > dstress
view run/double_22.d @ 1623:04022926a4d5
Fix dstress.run.b.bug_cod1_2528_C as reported by Don Clugston
Quoting Don's words from Ticket #8:
Fails because it returns 3 instead of 0.
The DStress test case is incorrect. The arrray literal is an int, so
it's 4 bytes. Casting it to void[] should give a length of 4 -- and
that's exactly what it does. Should be "return x.length - 4;".
author | Leandro Lucarella <llucax@gmail.com> |
---|---|
date | Fri, 05 Nov 2010 10:10:51 -0300 |
parents | eaf0a0d20b60 |
children |
line wrap: on
line source
// $HeadURL$ // $Date$ // $Author$ // @author@ Derek Parnell <derek@psych.ward> // @date@ 2005-04-02 // @uri@ news:5efpfwr0e1l5$.ks45nx0xz2zf$.dlg@40tude.net // For floating point operations and expression intermediate values, // a greater precision can be used than the type of the expression. // Only the minimum precision is set by the types of the operands, // not the maximum. module dstress.run.double_22; int main(){ double f = 0.0000195; assert(typeid(typeof(0.0000195)) == typeid(double)); real diff = (0.5 + f * 1e6) - (0.5 + 0.0000195 * 1e6); if(diff < 0){ diff *= -1; } if(diff < double.epsilon * 8){ return 0; } }