Mercurial > projects > dstress
diff run/ieee_754_zerosdq_01.d @ 496:e720ce827c1c
added IEEE 754 tests for 0-handing
author | thomask |
---|---|
date | Thu, 28 Apr 2005 15:53:12 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/ieee_754_zerosdq_01.d Thu Apr 28 15:53:12 2005 +0000 @@ -0,0 +1,40 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.ieee_754_zerosdq_01; + +// Check whether IEEE 754 signed zero is correctly supported. + +union S{ + float f; + uint[1] i; +} + +int main(){ + S s; + int top=0; + + + s.f = 0.0f; + assert(s.i[top]==0x00000000); + + s.f = -0.0f; + assert(s.i[top]==0x80000000); + + s.f = 0.0f - 0.0f; + assert(s.i[top]==0x00000000); + + s.f = (-0.0f) - 0.0f; + assert(s.i[top]==0x80000000); + + s.f = 0.0f; + s.f *= 1.0f; + assert(s.i[top]==0x00000000); + + s.f = 0.0f; + s.f *= -1.0f; + assert(s.i[top]==0x80000000); + + return 0; +}