| Index: crosstest/test_arith_main.cpp
|
| diff --git a/crosstest/test_arith_main.cpp b/crosstest/test_arith_main.cpp
|
| index d9bbbe9c7490e1a725412dc40946a9de94e9923d..1c67b6bd61cecc1764da6d9cda6c7519c7bd2e73 100644
|
| --- a/crosstest/test_arith_main.cpp
|
| +++ b/crosstest/test_arith_main.cpp
|
| @@ -19,9 +19,6 @@ namespace Subzero_ {
|
| #include "test_arith.h"
|
| }
|
|
|
| -volatile unsigned Values[] = INT_VALUE_ARRAY;
|
| -const static size_t NumValues = sizeof(Values) / sizeof(*Values);
|
| -
|
| template <class T> bool inputsMayTriggerException(T Value1, T Value2) {
|
| // Avoid HW divide-by-zero exception.
|
| if (Value2 == 0)
|
| @@ -37,6 +34,8 @@ template <typename TypeUnsigned, typename TypeSigned>
|
| void testsInt(size_t &TotalTests, size_t &Passes, size_t &Failures) {
|
| typedef TypeUnsigned (*FuncTypeUnsigned)(TypeUnsigned, TypeUnsigned);
|
| typedef TypeSigned (*FuncTypeSigned)(TypeSigned, TypeSigned);
|
| + volatile unsigned Values[] = INT_VALUE_ARRAY;
|
| + const static size_t NumValues = sizeof(Values) / sizeof(*Values);
|
| static struct {
|
| const char *Name;
|
| FuncTypeUnsigned FuncLlc;
|
| @@ -160,6 +159,8 @@ template <typename TypeUnsigned, typename TypeSigned,
|
| void testsVecInt(size_t &TotalTests, size_t &Passes, size_t &Failures) {
|
| typedef TypeUnsigned (*FuncTypeUnsigned)(TypeUnsigned, TypeUnsigned);
|
| typedef TypeSigned (*FuncTypeSigned)(TypeSigned, TypeSigned);
|
| + volatile unsigned Values[] = INT_VALUE_ARRAY;
|
| + const static size_t NumValues = sizeof(Values) / sizeof(*Values);
|
| static struct {
|
| const char *Name;
|
| FuncTypeUnsigned FuncLlc;
|
| @@ -192,8 +193,8 @@ void testsVecInt(size_t &TotalTests, size_t &Passes, size_t &Failures) {
|
| // Initialize the test vectors.
|
| TypeUnsigned Value1, Value2;
|
| for (size_t j = 0; j < NumElementsInType;) {
|
| - ElementTypeUnsigned Element1 = Values[Index() % NumElementsInType];
|
| - ElementTypeUnsigned Element2 = Values[Index() % NumElementsInType];
|
| + ElementTypeUnsigned Element1 = Values[Index() % NumValues];
|
| + ElementTypeUnsigned Element2 = Values[Index() % NumValues];
|
| if (Funcs[f].ExcludeDivExceptions &&
|
| inputsMayTriggerException<ElementTypeSigned>(Element1, Element2))
|
| continue;
|
| @@ -310,8 +311,8 @@ void testsVecFp(size_t &TotalTests, size_t &Passes, size_t &Failures) {
|
| // Initialize the test vectors.
|
| v4f32 Value1, Value2;
|
| for (size_t j = 0; j < NumElementsInType; ++j) {
|
| - Value1[j] = Values[Index() % NumElementsInType];
|
| - Value2[j] = Values[Index() % NumElementsInType];
|
| + Value1[j] = Values[Index() % NumValues];
|
| + Value2[j] = Values[Index() % NumValues];
|
| }
|
| // Perform the test.
|
| v4f32 ResultSz = Funcs[f].FuncSz(Value1, Value2);
|
|
|