@@ -12179,6 +12179,14 @@ void ExecutionTest::LongVectorOpTestBase(
1217912179 T ClampArgC = 0;
1218012180 T ClampArgT = 0;
1218112181 if (TestConfig.OpType == LongVectorOpType_Clamp) {
12182+ if constexpr (std::is_same_v<T, HLSLBool_t>) {
12183+ // Attempting to generate a clamp value for HLSLBool_t will result in an
12184+ // infinite loop in the below while. We don't have a test case for clamp
12185+ // with bools anyways. But adding this check to prevent the mistake.
12186+ LogErrorFmtThrow(
12187+ L"Clamp is not supported for HLSLBool_t.");
12188+ }
12189+
1218212190 ClampArgC = NumberGenerator.generate();
1218312191 ClampArgT = NumberGenerator.generate();
1218412192 while (ClampArgC >= ClampArgT) {
@@ -12198,17 +12206,16 @@ void ExecutionTest::LongVectorOpTestBase(
1219812206 } else if (TestConfig.OperatorString == "+") {
1219912207 ExpectedVector[Index] = Input1 + Input2;
1220012208 } else if (TestConfig.OperatorString == ",") {
12201- if (TestConfig.OpType == LongVectorOpType_Min)
12209+ if (TestConfig.OpType == LongVectorOpType_Min )
1220212210 ExpectedVector[Index] = std::min<T>(Input1, Input2);
1220312211 else if (TestConfig.OpType == LongVectorOpType_Max)
1220412212 ExpectedVector[Index] = std::max<T>(Input1, Input2);
1220512213 else
12206- LogErrorFmtThrow(L"Unrecognized Binary LongVectorOpType: %d",
12207- TestConfig.OpType);
12214+ LogErrorFmtThrow(L"Unrecognized Binary LongVectorOpType: %d",TestConfig.OpType);
1220812215 } else {
1220912216 LogErrorFmtThrow(
12210- L"Don't know how to compute expected value for operatorString: %s",
12211- TestConfig.OperatorString.c_str());
12217+ L"Don't know how to compute expected value for operatorString: %s",
12218+ TestConfig.OperatorString.c_str());
1221212219 }
1221312220 } else // Unary op logic
1221412221 {
@@ -12218,8 +12225,7 @@ void ExecutionTest::LongVectorOpTestBase(
1221812225 } else if (TestConfig.OpType = LongVectorOpType_Initialize) {
1221912226 ExpectedVector[Index] = InputVector1[Index];
1222012227 } else {
12221- LogErrorFmtThrow(L"Unrecognized Unary LongVectorOpType: %d",
12222- TestConfig.OpType);
12228+ LogErrorFmtThrow(L"Unrecognized Unary LongVectorOpType: %d",TestConfig.OpType);
1222312229 }
1222412230 }
1222512231 }
0 commit comments