1 // Test floating-point to integer conversion.  We do this twice, once
2 // with literal conversions that can be optimized away and once using
3 // a static field that can't.
4 
5 public class Float_2
6 {
7   public static double zero = 0.0;
8 
main(String argv[])9   public static void main (String argv[])
10   {
11     {
12       int itest = (int)(float)(0.0/0.0);
13       if (itest != 0)
14 	System.err.println ("literal inf error 1: " + itest);
15     }
16     {
17       int itest = (int)(0.0/0.0);
18       if (itest != 0)
19 	System.err.println ("literal inf error 2" + itest);
20     }
21     {
22       long ltest = (long)(0.0/0.0);
23       if (ltest != 0)
24 	System.err.println ("literal inf error 3" + ltest);
25     }
26     {
27       long ltest = (long)(float)(0.0/0.0);
28       if (ltest != 0)
29 	System.err.println ("literal inf error 4" + ltest);
30     }
31 
32     {
33       int itest = (int)(float)(1.0/0.0);
34       if (itest != Integer.MAX_VALUE)
35 	System.err.println ("literal max error 1: " + itest);
36     }
37     {
38       int itest = (int)(1.0/0.0);
39       if (itest != Integer.MAX_VALUE)
40 	System.err.println ("literal max error 2" + itest);
41     }
42     {
43       long ltest = (long)(1.0/0.0);
44       if (ltest != Long.MAX_VALUE)
45 	System.err.println ("literal max error 3" + ltest);
46     }
47     {
48       long ltest = (long)(float)(1.0/0.0);
49       if (ltest != Long.MAX_VALUE)
50 	System.err.println ("literal max error 4" + ltest);
51     }
52 
53     {
54       int itest = (int)(float)(-1.0/0.0);
55       if (itest != Integer.MIN_VALUE)
56 	System.err.println ("literal min error 1: " + itest);
57     }
58     {
59       int itest = (int)(-1.0/0.0);
60       if (itest != Integer.MIN_VALUE)
61 	System.err.println ("literal min error 2" + itest);
62     }
63     {
64       long ltest = (long)(-1.0/0.0);
65       if (ltest != Long.MIN_VALUE)
66 	System.err.println ("literal min error 3" + ltest);
67     }
68     {
69       long ltest = (long)(float)(-1.0/0.0);
70       if (ltest != Long.MIN_VALUE)
71 	System.err.println ("literal min error 4" + ltest);
72     }
73 
74     {
75       int itest = (int)(float)(zero/zero);
76       if (itest != 0)
77 	System.err.println ("calc inf error 1: " + itest);
78     }
79     {
80       int itest = (int)(zero/zero);
81       if (itest != 0)
82 	System.err.println ("calc inf error 2" + itest);
83     }
84     {
85       long ltest = (long)(zero/zero);
86       if (ltest != 0)
87 	System.err.println ("calc inf error 3" + ltest);
88     }
89     {
90       long ltest = (long)(float)(zero/zero);
91       if (ltest != 0)
92 	System.err.println ("calc inf error 4" + ltest);
93     }
94 
95     {
96       int itest = (int)(float)(1.0/zero);
97       if (itest != Integer.MAX_VALUE)
98 	System.err.println ("calc max error 1: " + itest);
99     }
100     {
101       int itest = (int)(1.0/zero);
102       if (itest != Integer.MAX_VALUE)
103 	System.err.println ("calc max error 2" + itest);
104     }
105     {
106       long ltest = (long)(1.0/zero);
107       if (ltest != Long.MAX_VALUE)
108 	System.err.println ("calc max error 3" + ltest);
109     }
110     {
111       long ltest = (long)(float)(1.0/zero);
112       if (ltest != Long.MAX_VALUE)
113 	System.err.println ("calc max error 4" + ltest);
114     }
115 
116     {
117       int itest = (int)(float)(-1.0/zero);
118       if (itest != Integer.MIN_VALUE)
119 	System.err.println ("calc min error 1: " + itest);
120     }
121     {
122       int itest = (int)(-1.0/zero);
123       if (itest != Integer.MIN_VALUE)
124 	System.err.println ("calc min error 2" + itest);
125     }
126     {
127       long ltest = (long)(-1.0/zero);
128       if (ltest != Long.MIN_VALUE)
129 	System.err.println ("calc min error 3" + ltest);
130     }
131     {
132       long ltest = (long)(float)(-1.0/zero);
133       if (ltest != Long.MIN_VALUE)
134 	System.err.println ("calc min error 4" + ltest);
135     }
136 
137   }
138 }
139