1e5c31af7Sopenharmony_cigroup if "If Statements"
2e5c31af7Sopenharmony_ci
3e5c31af7Sopenharmony_ci	case single_statement
4e5c31af7Sopenharmony_ci		version 310 es
5e5c31af7Sopenharmony_ci		values
6e5c31af7Sopenharmony_ci		{
7e5c31af7Sopenharmony_ci			input float in0 = [ 0.0 | 1.0 | 2.0 ];
8e5c31af7Sopenharmony_ci			output float out0 = [ 0.0 | 1.0 | 1.0 ];
9e5c31af7Sopenharmony_ci		}
10e5c31af7Sopenharmony_ci
11e5c31af7Sopenharmony_ci		both ""
12e5c31af7Sopenharmony_ci			#version 310 es
13e5c31af7Sopenharmony_ci			precision highp float;
14e5c31af7Sopenharmony_ci			${DECLARATIONS}
15e5c31af7Sopenharmony_ci			void main()
16e5c31af7Sopenharmony_ci			{
17e5c31af7Sopenharmony_ci				out0 = 0.0;
18e5c31af7Sopenharmony_ci				if (in0 >= 1.0)
19e5c31af7Sopenharmony_ci					out0 = 1.0;
20e5c31af7Sopenharmony_ci				${OUTPUT}
21e5c31af7Sopenharmony_ci			}
22e5c31af7Sopenharmony_ci		""
23e5c31af7Sopenharmony_ci	end
24e5c31af7Sopenharmony_ci
25e5c31af7Sopenharmony_ci	case compound_statement
26e5c31af7Sopenharmony_ci		version 310 es
27e5c31af7Sopenharmony_ci		values
28e5c31af7Sopenharmony_ci		{
29e5c31af7Sopenharmony_ci			input float in0 = [ 0.0 | 1.0 | 2.0 ];
30e5c31af7Sopenharmony_ci			output float out0 = [ 0.0 | 1.0 | 1.0 ];
31e5c31af7Sopenharmony_ci			output float out1 = [ 1.0 | 0.0 | 0.0 ];
32e5c31af7Sopenharmony_ci		}
33e5c31af7Sopenharmony_ci
34e5c31af7Sopenharmony_ci		both ""
35e5c31af7Sopenharmony_ci			#version 310 es
36e5c31af7Sopenharmony_ci			precision highp float;
37e5c31af7Sopenharmony_ci			${DECLARATIONS}
38e5c31af7Sopenharmony_ci			void main()
39e5c31af7Sopenharmony_ci			{
40e5c31af7Sopenharmony_ci				out0 = 0.0;
41e5c31af7Sopenharmony_ci				out1 = 1.0;
42e5c31af7Sopenharmony_ci				if (in0 >= 1.0)
43e5c31af7Sopenharmony_ci				{
44e5c31af7Sopenharmony_ci					out0 = 1.0;
45e5c31af7Sopenharmony_ci					out1 = 0.0;
46e5c31af7Sopenharmony_ci				}
47e5c31af7Sopenharmony_ci				${OUTPUT}
48e5c31af7Sopenharmony_ci			}
49e5c31af7Sopenharmony_ci		""
50e5c31af7Sopenharmony_ci	end
51e5c31af7Sopenharmony_ci
52e5c31af7Sopenharmony_ci	case sequence_statements
53e5c31af7Sopenharmony_ci		version 310 es
54e5c31af7Sopenharmony_ci		values
55e5c31af7Sopenharmony_ci		{
56e5c31af7Sopenharmony_ci			input float in0 = [ 0.0 | 1.0 | 2.0 ];
57e5c31af7Sopenharmony_ci			output float out0 = [ 0.0 | 1.0 | 1.0 ];
58e5c31af7Sopenharmony_ci			output float out1 = [ 1.0 | 0.0 | 0.0 ];
59e5c31af7Sopenharmony_ci		}
60e5c31af7Sopenharmony_ci
61e5c31af7Sopenharmony_ci		both ""
62e5c31af7Sopenharmony_ci			#version 310 es
63e5c31af7Sopenharmony_ci			precision highp float;
64e5c31af7Sopenharmony_ci			${DECLARATIONS}
65e5c31af7Sopenharmony_ci			void main()
66e5c31af7Sopenharmony_ci			{
67e5c31af7Sopenharmony_ci				out0 = 0.0;
68e5c31af7Sopenharmony_ci				out1 = 1.0;
69e5c31af7Sopenharmony_ci				if (in0 >= 1.0)
70e5c31af7Sopenharmony_ci					out0 = 1.0, out1 = 0.0;
71e5c31af7Sopenharmony_ci				${OUTPUT}
72e5c31af7Sopenharmony_ci			}
73e5c31af7Sopenharmony_ci		""
74e5c31af7Sopenharmony_ci	end
75e5c31af7Sopenharmony_ci
76e5c31af7Sopenharmony_ci	case sequence_condition
77e5c31af7Sopenharmony_ci		version 310 es
78e5c31af7Sopenharmony_ci		values
79e5c31af7Sopenharmony_ci		{
80e5c31af7Sopenharmony_ci			input float in0 = [ 0.0 | 1.0 | 2.0 ];
81e5c31af7Sopenharmony_ci			output float out0 = [ 0.0 | 1.0 | 1.0 ];
82e5c31af7Sopenharmony_ci			output float out1 = [ 1.0 | 0.0 | 0.0 ];
83e5c31af7Sopenharmony_ci		}
84e5c31af7Sopenharmony_ci
85e5c31af7Sopenharmony_ci		both ""
86e5c31af7Sopenharmony_ci			#version 310 es
87e5c31af7Sopenharmony_ci			precision highp float;
88e5c31af7Sopenharmony_ci			${DECLARATIONS}
89e5c31af7Sopenharmony_ci			void main()
90e5c31af7Sopenharmony_ci			{
91e5c31af7Sopenharmony_ci				out0 = 0.0;
92e5c31af7Sopenharmony_ci				out1 = 1.0;
93e5c31af7Sopenharmony_ci				if (false, in0 >= 1.0)
94e5c31af7Sopenharmony_ci					out0 = 1.0, out1 = 0.0;
95e5c31af7Sopenharmony_ci				${OUTPUT}
96e5c31af7Sopenharmony_ci			}
97e5c31af7Sopenharmony_ci		""
98e5c31af7Sopenharmony_ci	end
99e5c31af7Sopenharmony_ci
100e5c31af7Sopenharmony_ci	case complex_condition
101e5c31af7Sopenharmony_ci		version 310 es
102e5c31af7Sopenharmony_ci		values
103e5c31af7Sopenharmony_ci		{
104e5c31af7Sopenharmony_ci			input float in0 = [ 0.0 | 1.0 | 2.0 ];
105e5c31af7Sopenharmony_ci			output float out0 = [ 0.0 | 1.0 | 1.0 ];
106e5c31af7Sopenharmony_ci			output float out1 = [ 1.0 | 0.0 | 0.0 ];
107e5c31af7Sopenharmony_ci		}
108e5c31af7Sopenharmony_ci
109e5c31af7Sopenharmony_ci		both ""
110e5c31af7Sopenharmony_ci			#version 310 es
111e5c31af7Sopenharmony_ci			precision highp float;
112e5c31af7Sopenharmony_ci			${DECLARATIONS}
113e5c31af7Sopenharmony_ci			void main()
114e5c31af7Sopenharmony_ci			{
115e5c31af7Sopenharmony_ci				out0 = 0.0;
116e5c31af7Sopenharmony_ci				out1 = 1.0;
117e5c31af7Sopenharmony_ci				if (false || (in0 >= 1.0) && (in0 - 2.0*in0 < 0.0))
118e5c31af7Sopenharmony_ci					out0 = 1.0, out1 = 0.0;
119e5c31af7Sopenharmony_ci				${OUTPUT}
120e5c31af7Sopenharmony_ci			}
121e5c31af7Sopenharmony_ci		""
122e5c31af7Sopenharmony_ci	end
123e5c31af7Sopenharmony_ci
124e5c31af7Sopenharmony_ci	case if_else
125e5c31af7Sopenharmony_ci		version 310 es
126e5c31af7Sopenharmony_ci		values
127e5c31af7Sopenharmony_ci		{
128e5c31af7Sopenharmony_ci			input float in0 = [ 0.0 | 1.0 | 2.0 ];
129e5c31af7Sopenharmony_ci			output float out0 = [ 0.0 | 1.0 | 1.0 ];
130e5c31af7Sopenharmony_ci		}
131e5c31af7Sopenharmony_ci
132e5c31af7Sopenharmony_ci		both ""
133e5c31af7Sopenharmony_ci			#version 310 es
134e5c31af7Sopenharmony_ci			precision highp float;
135e5c31af7Sopenharmony_ci			${DECLARATIONS}
136e5c31af7Sopenharmony_ci			void main()
137e5c31af7Sopenharmony_ci			{
138e5c31af7Sopenharmony_ci				if (in0 >= 1.0)
139e5c31af7Sopenharmony_ci					out0 = 1.0;
140e5c31af7Sopenharmony_ci				else
141e5c31af7Sopenharmony_ci					out0 = 0.0;
142e5c31af7Sopenharmony_ci				${OUTPUT}
143e5c31af7Sopenharmony_ci			}
144e5c31af7Sopenharmony_ci		""
145e5c31af7Sopenharmony_ci	end
146e5c31af7Sopenharmony_ci
147e5c31af7Sopenharmony_ci	case if_elseif
148e5c31af7Sopenharmony_ci		version 310 es
149e5c31af7Sopenharmony_ci		values
150e5c31af7Sopenharmony_ci		{
151e5c31af7Sopenharmony_ci			input float in0 = [ 0.0 | 1.0 | 2.0 ];
152e5c31af7Sopenharmony_ci			output float out0 = [ 0.0 | 1.0 | 2.0 ];
153e5c31af7Sopenharmony_ci		}
154e5c31af7Sopenharmony_ci
155e5c31af7Sopenharmony_ci		both ""
156e5c31af7Sopenharmony_ci			#version 310 es
157e5c31af7Sopenharmony_ci			precision highp float;
158e5c31af7Sopenharmony_ci			${DECLARATIONS}
159e5c31af7Sopenharmony_ci			void main()
160e5c31af7Sopenharmony_ci			{
161e5c31af7Sopenharmony_ci				out0 = 0.0;
162e5c31af7Sopenharmony_ci				if (in0 >= 2.0)
163e5c31af7Sopenharmony_ci					out0 = 2.0;
164e5c31af7Sopenharmony_ci				else if (in0 >= 1.0)
165e5c31af7Sopenharmony_ci					out0 = 1.0;
166e5c31af7Sopenharmony_ci				${OUTPUT}
167e5c31af7Sopenharmony_ci			}
168e5c31af7Sopenharmony_ci		""
169e5c31af7Sopenharmony_ci	end
170e5c31af7Sopenharmony_ci
171e5c31af7Sopenharmony_ci	case if_elseif_else
172e5c31af7Sopenharmony_ci		version 310 es
173e5c31af7Sopenharmony_ci		values
174e5c31af7Sopenharmony_ci		{
175e5c31af7Sopenharmony_ci			input float in0 = [ 0.0 | 1.0 | 2.0 ];
176e5c31af7Sopenharmony_ci			output float out0 = [ 0.0 | 1.0 | 2.0 ];
177e5c31af7Sopenharmony_ci		}
178e5c31af7Sopenharmony_ci
179e5c31af7Sopenharmony_ci		both ""
180e5c31af7Sopenharmony_ci			#version 310 es
181e5c31af7Sopenharmony_ci			precision highp float;
182e5c31af7Sopenharmony_ci			${DECLARATIONS}
183e5c31af7Sopenharmony_ci			void main()
184e5c31af7Sopenharmony_ci			{
185e5c31af7Sopenharmony_ci				if (in0 >= 2.0)
186e5c31af7Sopenharmony_ci					out0 = 2.0;
187e5c31af7Sopenharmony_ci				else if (in0 >= 1.0)
188e5c31af7Sopenharmony_ci					out0 = 1.0;
189e5c31af7Sopenharmony_ci				else
190e5c31af7Sopenharmony_ci					out0 = 0.0;
191e5c31af7Sopenharmony_ci				${OUTPUT}
192e5c31af7Sopenharmony_ci			}
193e5c31af7Sopenharmony_ci		""
194e5c31af7Sopenharmony_ci	end
195e5c31af7Sopenharmony_ci
196e5c31af7Sopenharmony_ci	case mixed_if_elseif_else
197e5c31af7Sopenharmony_ci		version 310 es
198e5c31af7Sopenharmony_ci		values
199e5c31af7Sopenharmony_ci		{
200e5c31af7Sopenharmony_ci			input float in0 = [ 0.0 | 1.0 | 2.0 ];
201e5c31af7Sopenharmony_ci			output float out0 = [ 0.0 | 1.0 | 2.0 ];
202e5c31af7Sopenharmony_ci		}
203e5c31af7Sopenharmony_ci
204e5c31af7Sopenharmony_ci		both ""
205e5c31af7Sopenharmony_ci			#version 310 es
206e5c31af7Sopenharmony_ci			precision highp float;
207e5c31af7Sopenharmony_ci			${DECLARATIONS}
208e5c31af7Sopenharmony_ci			void main()
209e5c31af7Sopenharmony_ci			{
210e5c31af7Sopenharmony_ci				if (in0 >= 2.0)
211e5c31af7Sopenharmony_ci				{
212e5c31af7Sopenharmony_ci					out0 = 2.0;
213e5c31af7Sopenharmony_ci				}
214e5c31af7Sopenharmony_ci				else if (in0 >= 1.0)
215e5c31af7Sopenharmony_ci					out0 = 2.0, out0 = 1.0;
216e5c31af7Sopenharmony_ci				else
217e5c31af7Sopenharmony_ci					out0 = 0.0;
218e5c31af7Sopenharmony_ci				${OUTPUT}
219e5c31af7Sopenharmony_ci			}
220e5c31af7Sopenharmony_ci		""
221e5c31af7Sopenharmony_ci	end
222e5c31af7Sopenharmony_ci
223e5c31af7Sopenharmony_ciend # if
224