1cb93a386Sopenharmony_ciuniform half4 colorGreen, colorRed; 2cb93a386Sopenharmony_ci 3cb93a386Sopenharmony_cistruct S { 4cb93a386Sopenharmony_ci int x, y; 5cb93a386Sopenharmony_ci}; 6cb93a386Sopenharmony_ci 7cb93a386Sopenharmony_cihalf4 main(float2 coords) { 8cb93a386Sopenharmony_ci float f1[4] = float[4](1, 2, 3, 4); 9cb93a386Sopenharmony_ci float f2[4] = float[4](1, 2, 3, 4); 10cb93a386Sopenharmony_ci float f3[4] = float[4](1, 2, 3, -4); 11cb93a386Sopenharmony_ci 12cb93a386Sopenharmony_ci int3 v1[2] = int3[2](int3(1, 2, 3), int3(4, 5, 6)); 13cb93a386Sopenharmony_ci int3 v2[2] = int3[2](int3(1, 2, 3), int3(4, 5, 6)); 14cb93a386Sopenharmony_ci int3 v3[2] = int3[2](int3(1, 2, 3), int3(4, 5, -6)); 15cb93a386Sopenharmony_ci 16cb93a386Sopenharmony_ci half2x2 m1[3] = half2x2[3](half2x2(1), half2x2(2), half2x2(3, 4, 5, 6)); 17cb93a386Sopenharmony_ci half2x2 m2[3] = half2x2[3](half2x2(1), half2x2(2), half2x2(3, 4, 5, 6)); 18cb93a386Sopenharmony_ci half2x2 m3[3] = half2x2[3](half2x2(1), half2x2(2, 3, 4, 5), half2x2(6)); 19cb93a386Sopenharmony_ci 20cb93a386Sopenharmony_ci S s1[3] = S[3](S(1, 2), S(3, 4), S(5, 6)); 21cb93a386Sopenharmony_ci S s2[3] = S[3](S(1, 2), S(0, 0), S(5, 6)); 22cb93a386Sopenharmony_ci S s3[3] = S[3](S(1, 2), S(3, 4), S(5, 6)); 23cb93a386Sopenharmony_ci 24cb93a386Sopenharmony_ci return (f1 == f2) && (f1 != f3) && 25cb93a386Sopenharmony_ci (v1 == v2) && (v1 != v3) && 26cb93a386Sopenharmony_ci (m1 == m2) && (m1 != m3) && 27cb93a386Sopenharmony_ci (s1 != s2) && (s3 == s1) ? colorGreen : colorRed; 28cb93a386Sopenharmony_ci} 29