| uniform half4 colorGreen, colorRed; |
| |
| bool test_float() { |
| const float one = 1; |
| float two = 2; |
| |
| float4 result; |
| result.r = (half4(-1) == -half4(-half2(-1), half2(1))) ? 1 : 0; |
| result.g = (half4(1) != -half4(1)) ? 1 : 0; |
| result.b = (-half4(two) == half4(-two, half3(-two))) ? 1 : 0; |
| result.a = (-half2(-one, one + one) == -half2(one - two, two)) ? 1 : 0; |
| |
| return bool(result.r * result.g * result.b * -(-result.a)); |
| } |
| |
| bool test_int() { |
| int one = 1; |
| const int two = 2; |
| |
| int4 result; |
| result.r = (int4(-1) == -int4(-int2(-1), int2(1))) ? 1 : 0; |
| result.g = (int4(1) != -int4(1)) ? 1 : 0; |
| result.b = (-int4(two) == int4(-two, int3(-two))) ? 1 : 0; |
| result.a = (-int2(-one, one + one) == -int2(one - two, two)) ? 1 : 0; |
| |
| return bool(-(-result.r) * result.g * result.b * result.a); |
| } |
| |
| half4 main() { |
| return test_float() && test_int() ? colorGreen : colorRed; |
| } |