1cb93a386Sopenharmony_ciuniform half4 testInputs;  // -1.25, 0, 0.75, 2.25
2cb93a386Sopenharmony_ciuniform half4 colorGreen, colorRed;
3cb93a386Sopenharmony_ci
4cb93a386Sopenharmony_cihalf4 main(float2 coords) {
5cb93a386Sopenharmony_ci    const float4 expectedA = half4(-1.0, 0.0, 0.0, 2.0);
6cb93a386Sopenharmony_ci
7cb93a386Sopenharmony_ci    const float4 constVal = half4(-6.75, -0.5, 3.5, 1.25);
8cb93a386Sopenharmony_ci    const float4 expectedB = half4(-6.0, -0.0, 3.0, 1.0);
9cb93a386Sopenharmony_ci    return (trunc(testInputs.x)    == expectedA.x     &&
10cb93a386Sopenharmony_ci            trunc(testInputs.xy)   == expectedA.xy    &&
11cb93a386Sopenharmony_ci            trunc(testInputs.xyz)  == expectedA.xyz   &&
12cb93a386Sopenharmony_ci            trunc(testInputs.xyzw) == expectedA.xyzw  &&
13cb93a386Sopenharmony_ci            trunc(constVal.x)      == expectedB.x     &&
14cb93a386Sopenharmony_ci            trunc(constVal.xy)     == expectedB.xy    &&
15cb93a386Sopenharmony_ci            trunc(constVal.xyz)    == expectedB.xyz   &&
16cb93a386Sopenharmony_ci            trunc(constVal.xyzw)   == expectedB.xyzw) ? colorGreen : colorRed;
17cb93a386Sopenharmony_ci}
18