1cb93a386Sopenharmony_ciuniform half4 colorGreen, colorRed; 2cb93a386Sopenharmony_ciuniform half4 testInputs; 3cb93a386Sopenharmony_ci 4cb93a386Sopenharmony_cihalf4 main(float2 coords) { 5cb93a386Sopenharmony_ci bool ok = true; 6cb93a386Sopenharmony_ci 7cb93a386Sopenharmony_ci const half4 vec1234 = half4(1, 2, 3, 4); 8cb93a386Sopenharmony_ci 9cb93a386Sopenharmony_ci ok = ok && half2x2(testInputs) == half2x2(-1.25, 0, 0.75, 2.25); 10cb93a386Sopenharmony_ci ok = ok && half2x2(half4(1, 2, 3, 4)) == half2x2(1, 2, 3, 4); 11cb93a386Sopenharmony_ci ok = ok && half2x2(vec1234) == half2x2(1, 2, 3, 4); 12cb93a386Sopenharmony_ci ok = ok && half2x2(half4(2, 0, 0, 2)) == half2x2(2); 13cb93a386Sopenharmony_ci ok = ok && half2x2(half4(2)) == half2x2(2, 2, 2, 2); 14cb93a386Sopenharmony_ci 15cb93a386Sopenharmony_ci ok = ok && float2x2(testInputs) == float2x2(-1.25, 0, 0.75, 2.25); 16cb93a386Sopenharmony_ci ok = ok && float2x2(half4(1, 2, 3, 4)) == float2x2(1, 2, 3, 4); 17cb93a386Sopenharmony_ci ok = ok && float2x2(vec1234) == float2x2(1, 2, 3, 4); 18cb93a386Sopenharmony_ci ok = ok && float2x2(half4(4, 0, 0, 4)) == float2x2(4); 19cb93a386Sopenharmony_ci ok = ok && float2x2(half4(4)) == float2x2(4, 4, 4, 4); 20cb93a386Sopenharmony_ci 21cb93a386Sopenharmony_ci ok = ok && half2x2(colorGreen) == half2x2(0, 1, 0, 1); 22cb93a386Sopenharmony_ci ok = ok && half2x2(colorGreen) == half2x2(int4(0, 1, 0, 1)); 23cb93a386Sopenharmony_ci ok = ok && half2x2(int4(colorGreen)) == half2x2(int4(0, 1, 0, 1)); 24cb93a386Sopenharmony_ci ok = ok && half2x2(0, 1, 0, 1) == half2x2(int4(0, 1, 0, 1)); 25cb93a386Sopenharmony_ci ok = ok && half2x2(8, 8, 8, 8) == half2x2(int4(8)); 26cb93a386Sopenharmony_ci ok = ok && half2x2(8) == half2x2(int4(8, 0, 0, 8)); 27cb93a386Sopenharmony_ci 28cb93a386Sopenharmony_ci ok = ok && half2x2(colorGreen) == half2x2(false, true, false, true); 29cb93a386Sopenharmony_ci ok = ok && half2x2(colorGreen) == half2x2(bool4(false, true, false, true)); 30cb93a386Sopenharmony_ci ok = ok && half2x2(bool4(colorGreen)) == half2x2(bool4(false, true, false, true)); 31cb93a386Sopenharmony_ci ok = ok && half2x2(false, true, false, true) == half2x2(bool4(false, true, false, true)); 32cb93a386Sopenharmony_ci ok = ok && half2x2(true, false, false, true) == half2x2(bool4(true, false, false, true)); 33cb93a386Sopenharmony_ci ok = ok && half2x2(true, true, true, true) == half2x2(bool4(true)); 34cb93a386Sopenharmony_ci 35cb93a386Sopenharmony_ci return ok ? colorGreen : colorRed; 36cb93a386Sopenharmony_ci} 37