1cb93a386Sopenharmony_ciuniform float4 u1; 2cb93a386Sopenharmony_cifloat index_by_literal() { 3cb93a386Sopenharmony_ci return u1[0]; 4cb93a386Sopenharmony_ci} 5cb93a386Sopenharmony_ci 6cb93a386Sopenharmony_ciuniform float4 u2; 7cb93a386Sopenharmony_cifloat index_by_loop() { 8cb93a386Sopenharmony_ci float sum = 0; 9cb93a386Sopenharmony_ci for (int i = 0; i < 4; ++i) { 10cb93a386Sopenharmony_ci sum += u2[i]; 11cb93a386Sopenharmony_ci } 12cb93a386Sopenharmony_ci return sum; 13cb93a386Sopenharmony_ci} 14cb93a386Sopenharmony_ci 15cb93a386Sopenharmony_ciuniform float4 u3; 16cb93a386Sopenharmony_cifloat index_by_complex_loop() { 17cb93a386Sopenharmony_ci float prod = 1; 18cb93a386Sopenharmony_ci for (int i = 0; i < 4; ++i) { 19cb93a386Sopenharmony_ci prod *= u3[i < 2 ? 0 : i]; 20cb93a386Sopenharmony_ci } 21cb93a386Sopenharmony_ci return prod; 22cb93a386Sopenharmony_ci} 23cb93a386Sopenharmony_ci 24cb93a386Sopenharmony_ciuniform float4 u4; 25cb93a386Sopenharmony_cifloat index_clamped_out_of_bounds() { 26cb93a386Sopenharmony_ci for (int i = 7; i < 8; i++) { 27cb93a386Sopenharmony_ci return u4[i]; 28cb93a386Sopenharmony_ci } 29cb93a386Sopenharmony_ci} 30cb93a386Sopenharmony_ci 31cb93a386Sopenharmony_cifloat4 main(float2 xy) { 32cb93a386Sopenharmony_ci return float4( 33cb93a386Sopenharmony_ci index_by_literal(), 34cb93a386Sopenharmony_ci index_by_loop(), 35cb93a386Sopenharmony_ci index_by_complex_loop(), 36cb93a386Sopenharmony_ci index_clamped_out_of_bounds()); 37cb93a386Sopenharmony_ci} 38