496
|
1 // $HeadURL$
|
|
2 // $Date$
|
|
3 // $Author$
|
|
4
|
|
5 module dstress.run.ieee_754_zerosdq_01;
|
|
6
|
|
7 // Check whether IEEE 754 signed zero is correctly supported.
|
|
8
|
|
9 union S{
|
|
10 float f;
|
|
11 uint[1] i;
|
|
12 }
|
|
13
|
|
14 int main(){
|
|
15 S s;
|
|
16 int top=0;
|
|
17
|
|
18
|
|
19 s.f = 0.0f;
|
|
20 assert(s.i[top]==0x00000000);
|
|
21
|
|
22 s.f = -0.0f;
|
|
23 assert(s.i[top]==0x80000000);
|
|
24
|
|
25 s.f = 0.0f - 0.0f;
|
|
26 assert(s.i[top]==0x00000000);
|
|
27
|
|
28 s.f = (-0.0f) - 0.0f;
|
|
29 assert(s.i[top]==0x80000000);
|
|
30
|
|
31 s.f = 0.0f;
|
|
32 s.f *= 1.0f;
|
|
33 assert(s.i[top]==0x00000000);
|
|
34
|
|
35 s.f = 0.0f;
|
|
36 s.f *= -1.0f;
|
|
37 assert(s.i[top]==0x80000000);
|
|
38
|
|
39 return 0;
|
|
40 }
|