Gtestsuite : Fixing issue on Windows OS

1. Fixed issue related to linking reference library.
2. Clean-up of how reference library variables are set.
2. Compilation error related to std::max() and std::min().

AMD-Internal: [CPUPL-4879]
Change-Id: I427a4a4c0ea56a340a8bbd1a6649252e9680b937
This commit is contained in:
jagar
2024-04-03 13:39:46 +05:30
parent b293a29fb4
commit e52de030a6
19 changed files with 97 additions and 111 deletions

View File

@@ -151,93 +151,79 @@ option(TEST_UPPERCASE_ARGS "Test upper case character arguments" OFF)
# Option to enable testing with thresholds set to zero.
option(THRESHOLD_ZERO "Set thresholds to zero" OFF)
if(LINUX)
if(REF_LIB)
get_filename_component(REFLIB_PATH ${REF_LIB}/.. ABSOLUTE)
get_filename_component(library ${REF_LIB} NAME)
find_library(reflib NAMES ${library} PATHS ${REFLIB_PATH} NO_DEFAULT_PATH)
if(${reflib} STREQUAL reflib-NOTFOUND)
message(FATAL_ERROR "Reference Library not found : " ${REF_LIB})
else()
message(STATUS "Found Reference Library : " ${reflib})
endif()
if(REF_LIB)
get_filename_component(REFLIB_PATH ${REF_LIB}/.. ABSOLUTE)
get_filename_component(library ${REF_LIB} NAME)
find_library(reflib NAMES ${library} PATHS ${REFLIB_PATH} NO_DEFAULT_PATH)
if(${reflib} STREQUAL reflib-NOTFOUND)
message(FATAL_ERROR "Reference Library not found : " ${REF_LIB})
else()
# Set the possible values of theading libraries for cmake-gui
set_property(CACHE REF_CBLAS PROPERTY STRINGS "OpenBLAS" "Netlib" "MKL")
if(NOT ((REF_CBLAS STREQUAL "OpenBLAS") OR (REF_CBLAS STREQUAL "Netlib") OR(REF_CBLAS STREQUAL "MKL")))
message(FATAL_ERROR "REF_CBLAS option '${REF_CBLAS}' is not supported. Please, use one of the following options \
during CMake invokation: OpenBLAS, Netlib, MKL or modify CMakeLists.txt to include this option.")
endif()
if(REF_CBLAS STREQUAL "OpenBLAS")
if(NOT(OPENBLAS_PATH))
message(FATAL_ERROR "Need to provide an OpenBLAS installation path \
during CMake invokation when OpenBLAS is used for reference results. Please use \
$ cmake .. -DOPENBLAS_PATH=/home/username/openblas_installation")
endif()
find_library(reflib NAMES openblas PATHS ${OPENBLAS_PATH} NO_DEFAULT_PATH)
if(${reflib} STREQUAL reflib-NOTFOUND)
message(FATAL_ERROR "OpenBLAS Reference Library not found : " ${OPENBLAS_PATH})
else()
message(STATUS "Found OpenBLAS Reference Library : " ${reflib})
endif()
set(REF_LIB ${reflib})
elseif(REF_CBLAS STREQUAL "Netlib")
if(NOT(NETLIB_PATH))
message(FATAL_ERROR "Need to provide a Netlib installation path \
during CMake invokation when Netlib is used for reference results. Please use \
$ cmake .. -DNETLIB_PATH=/home/username/netlib_installation")
endif()
if(INT_SIZE STREQUAL "32")
find_library(netlib NAMES cblas PATHS ${NETLIB_PATH} NO_DEFAULT_PATH)
else()
find_library(netlib NAMES cblas64 PATHS ${NETLIB_PATH} NO_DEFAULT_PATH)
endif()
if(${netlib} STREQUAL netlib-NOTFOUND)
message(FATAL_ERROR "Netlib Reference Library not found : " ${NETLIB_PATH})
else()
message(STATUS "Found Netlib Reference Library : " ${netlib})
endif()
set(REF_LIB ${netlib})
elseif(REF_CBLAS STREQUAL "MKL")
set(MKL_PATH $ENV{MKLROOT}/lib/intel64
CACHE STRING "The path to MKL.")
find_library(mkllib NAMES mkl_rt PATHS ${MKL_PATH} NO_DEFAULT_PATH)
if(${mkllib} STREQUAL mkllib-NOTFOUND)
message(FATAL_ERROR "MKL Reference Library not found : " ${MKL_PATH})
else()
message(STATUS "Found MKL Reference Library : " ${mkllib})
endif()
set(REF_LIB ${mkllib})
else()
message(FATAL_ERROR "Need to set up a reference library. Please use on of the following options \
during CMake invokation: -DREF_CBLAS=Netlib or -DREF_CBLAS=OpenBLAS or -DREF_CBLAS=MKL")
endif()
message(STATUS "Found Reference Library : " ${reflib})
endif()
else() #WIN32
# Use REF_BLAS to set the library that will be used for reference results.
set(REF_CBLAS CACHE STRING "Library used to compute reference results.")
else()
# Set the possible values of theading libraries for cmake-gui
set_property(CACHE REF_CBLAS PROPERTY STRINGS "OpenBLAS" "MKL")
if(NOT ((REF_CBLAS STREQUAL "OpenBLAS") OR (REF_CBLAS STREQUAL "MKL")))
set_property(CACHE REF_CBLAS PROPERTY STRINGS "OpenBLAS" "Netlib" "MKL")
if(NOT ((REF_CBLAS STREQUAL "OpenBLAS") OR (REF_CBLAS STREQUAL "Netlib") OR(REF_CBLAS STREQUAL "MKL")))
message(FATAL_ERROR "REF_CBLAS option '${REF_CBLAS}' is not supported. Please, use one of the following options \
during CMake invokation: OpenBLAS, MKL or modify CMakeLists.txt to include this option.")
during CMake invokation: OpenBLAS, Netlib, MKL or modify CMakeLists.txt to include this option.")
endif()
if(LINUX)
set(CMAKE_FIND_LIBRARY_PREFIXES "lib")
set(CMAKE_FIND_LIBRARY_SUFFIXES ".so")
set(LIBOpenBLAS openblas)
set(LIBCLAS cblas)
set(LIBCLAS64 cblas64)
set(LIBMKL mkl_rt)
else()
set(CMAKE_FIND_LIBRARY_PREFIXES "")
set(CMAKE_FIND_LIBRARY_SUFFIXES ".dll")
set(LIBOpenBLAS libopenblas)
set(LIBMKL mkl_rt.2)
endif()
if(REF_CBLAS STREQUAL "OpenBLAS")
if(NOT(OPENBLAS_PATH))
message(FATAL_ERROR "Need to provide an OpenBLAS installation path \
during CMake invokation when OpenBLAS is used for reference results. Please use \
$ cmake .. -DOPENBLAS_PATH=/home/username/openblas_installation")
during CMake invokation when OpenBLAS is used for reference results. Please use \
$ cmake .. -DOPENBLAS_PATH=/home/username/openblas_installation")
endif()
set(REF_LIB "${OPENBLAS_PATH}/libopenblas.dll" CACHE STRING "Reference OpenBLAS Library")
message(STATUS "Found OpenBLAS Reference Library : " ${REF_LIB})
find_library(reflib NAMES ${LIBOpenBLAS} PATHS ${OPENBLAS_PATH} NO_DEFAULT_PATH)
if(${reflib} STREQUAL reflib-NOTFOUND)
message(FATAL_ERROR "OpenBLAS Reference Library not found : " ${OPENBLAS_PATH})
else()
message(STATUS "Found OpenBLAS Reference Library : " ${reflib})
endif()
set(REF_LIB ${reflib})
elseif(REF_CBLAS STREQUAL "Netlib")
if(NOT(NETLIB_PATH))
message(FATAL_ERROR "Need to provide a Netlib installation path \
during CMake invokation when Netlib is used for reference results. Please use \
$ cmake .. -DNETLIB_PATH=/home/username/netlib_installation")
endif()
if(INT_SIZE STREQUAL "32")
find_library(netlib NAMES ${LIBCLAS} PATHS ${NETLIB_PATH} NO_DEFAULT_PATH)
else()
find_library(netlib NAMES ${LIBCLAS64} PATHS ${NETLIB_PATH} NO_DEFAULT_PATH)
endif()
if(${netlib} STREQUAL netlib-NOTFOUND)
message(FATAL_ERROR "Netlib Reference Library not found : " ${NETLIB_PATH})
else()
message(STATUS "Found Netlib Reference Library : " ${netlib})
endif()
set(REF_LIB ${netlib})
elseif(REF_CBLAS STREQUAL "MKL")
if(NOT(MKL_PATH))
message(FATAL_ERROR "Need to provide an MKL_PATH installation path \
during CMake invokation when MKL] is used for reference results. Please use \
$ cmake .. -DMKL_PATH=/home/username/path_to_mkl_rt")
set(MKL_PATH $ENV{MKLROOT}/lib/intel64 CACHE STRING "The path to MKL.")
find_library(mkllib NAMES ${LIBMKL} PATHS ${MKL_PATH} NO_DEFAULT_PATH)
if(${mkllib} STREQUAL mkllib-NOTFOUND)
message(FATAL_ERROR "MKL Reference Library not found : " ${MKL_PATH})
else()
message(STATUS "Found MKL Reference Library : " ${mkllib})
endif()
set(REF_LIB "${MKL_PATH}/mkl_rt.2.dll" CACHE STRING "Reference MKL Library")
message(STATUS "Found MKL Reference Library : " ${REF_LIB})
set(REF_LIB ${mkllib})
else()
message(FATAL_ERROR "Need to set up a reference library. Please use on of the following options \
during CMake invokation: -DREF_CBLAS=Netlib or -DREF_CBLAS=OpenBLAS or -DREF_CBLAS=MKL")
endif()
endif()

View File

@@ -63,7 +63,7 @@ static void test_amaxv( gtint_t n, gtint_t incx, double thresh )
//----------------------------------------------------------
// Compute component-wise error.
//----------------------------------------------------------
computediff( idx, idx_ref );
EXPECT_EQ(idx, idx_ref) << "Values are different : act_val : " << idx << " ref_val :" << idx_ref;
}
/**
@@ -99,5 +99,5 @@ static void test_amaxv( gtint_t n, gtint_t incx, gtint_t xi, T xi_exval,
//----------------------------------------------------------
// Compute component-wise error.
//----------------------------------------------------------
computediff( idx, idx_ref, true );
EXPECT_EQ(idx, idx_ref) << "Values are different : act_val : " << idx << " ref_val :" << idx_ref;
}

View File

@@ -95,7 +95,7 @@ void test_trsv(
if ( is_evt_test )
{
dim_t n_idx = rand() % n;
dim_t m_idx = std::max((dim_t)0, n_idx - 1);
dim_t m_idx = (std::max)((dim_t)0, n_idx - 1);
a_ptr[ m_idx + (n_idx * lda) ] = evt_a;
a_ptr[ m_idx + (m_idx *lda) ] = evt_a;
}

View File

@@ -73,22 +73,22 @@ void test_gemmt( char storage, char uplo, char trnsa, char trnsb, gtint_t n,
if ( is_evt_test )
{
dim_t n_rand = rand() % std::min(n, k);
dim_t k_rand = rand() % std::min(n, k);
dim_t n_rand = rand() % (std::min)(n, k);
dim_t k_rand = rand() % (std::min)(n, k);
a_ptr[n_rand + k_rand * lda] = evt_a;
}
if ( is_evt_test )
{
dim_t n_rand = rand() % std::min(n, k);
dim_t k_rand = rand() % std::min(n, k);
dim_t n_rand = rand() % (std::min)(n, k);
dim_t k_rand = rand() % (std::min)(n, k);
b_ptr[n_rand + k_rand * lda] = evt_a;
}
if ( is_evt_test )
{
dim_t n_rand = rand() % std::min(n, k);
dim_t k_rand = rand() % std::min(n, k);
dim_t n_rand = rand() % (std::min)(n, k);
dim_t k_rand = rand() % (std::min)(n, k);
b_ptr[n_rand + k_rand * lda] = evt_a;
}

View File

@@ -85,7 +85,7 @@ TEST_P(ctrsmEVT, NaNInfCheck)
EVT_TYPE b_init = std::get<11>(GetParam());
// Set the threshold for the errors:
double thresh = std::max(m, n)*testinghelpers::getEpsilon<T>();
double thresh = (std::max)(m, n)*testinghelpers::getEpsilon<T>();
//----------------------------------------------------------
// Call test body using these parameters

View File

@@ -85,7 +85,7 @@ TEST_P(dtrsmEVTTest, Unit_Tester)
EVT_TYPE b_init = std::get<11>(GetParam());
// Set the threshold for the errors:
double thresh = std::max(m, n)*testinghelpers::getEpsilon<T>();
double thresh = (std::max)(m, n)*testinghelpers::getEpsilon<T>();
//----------------------------------------------------------
// Call test body using these parameters

View File

@@ -78,7 +78,7 @@ TEST_P(dtrsmTest, Accuracy_test)
gtint_t ldb_inc = std::get<9>(GetParam());
// Set the threshold for the errors:
double thresh = 1.5*std::max(m, n)*testinghelpers::getEpsilon<T>();
double thresh = 1.5*(std::max)(m, n)*testinghelpers::getEpsilon<T>();
//----------------------------------------------------------
// Call test body using these parameters

View File

@@ -85,7 +85,7 @@ TEST_P(strsmEVT, NaNInfCheck)
EVT_TYPE b_init = std::get<11>(GetParam());
// Set the threshold for the errors:
double thresh = std::max(m, n)*testinghelpers::getEpsilon<T>();
double thresh = (std::max)(m, n)*testinghelpers::getEpsilon<T>();
//----------------------------------------------------------
// Call test body using these parameters

View File

@@ -107,7 +107,7 @@ void generate_NAN_INF( T* mat, char uploa, gtint_t m, gtint_t ld, EVT_TYPE type,
else
{
// get a random number in range of 1 to m;
gtint_t mn = std::max(gtint_t(1), gtint_t(rand()) % m);
gtint_t mn = (std::max)(gtint_t(1), gtint_t(rand()) % m);
if( uploa == 'l' || uploa == 'L')
{
// set one element to inf/nan in lower half of matrix
@@ -165,17 +165,17 @@ gtint_t n, gtint_t ld, EVT_TYPE type = NO_EVT, bool is_a = false )
case NaN:
case INF:
testinghelpers::datagenerators::randomgenerators<T>( from, to, storage, m, n, mat, ld);
generate_NAN_INF(mat, uploa, std::min(m, n), ld, type, is_a);
generate_NAN_INF(mat, uploa, (std::min)(m, n), ld, type, is_a);
break;
case DIAG_INF:
case DIAG_NaN:
testinghelpers::datagenerators::randomgenerators<T>( from, to, storage, m, n, mat, ld);
generate_NAN_INF(mat, uploa, std::min(m, n), ld, type, is_a, true);
generate_NAN_INF(mat, uploa, (std::min)(m, n), ld, type, is_a, true);
break;
case NaN_INF:
testinghelpers::datagenerators::randomgenerators<T>( from, to, storage, m, n, mat, ld);
generate_NAN_INF(mat, uploa, std::min(m, n), ld, type, is_a);
generate_NAN_INF(mat, uploa, std::min(m, n), ld, INF, is_a);
generate_NAN_INF(mat, uploa, (std::min)(m, n), ld, type, is_a);
generate_NAN_INF(mat, uploa, (std::min)(m, n), ld, INF, is_a);
break;
case NO_EVT:
testinghelpers::datagenerators::randomgenerators<T>( from, to, storage, m, n, mat, ld);

View File

@@ -85,7 +85,7 @@ TEST_P(ztrsmEVT, NaNInfCheck)
EVT_TYPE b_init = std::get<11>(GetParam());
// Set the threshold for the errors:
double thresh = std::max(m, n)*testinghelpers::getEpsilon<T>();
double thresh = (std::max)(m, n)*testinghelpers::getEpsilon<T>();
//----------------------------------------------------------
// Call test body using these parameters

View File

@@ -66,7 +66,7 @@ TEST_P(cgemmUkrSUP, FunctionalTest)
char transa = std::get<7>(GetParam()); // transa
char transb = (storage == 'r')? 'n' : 't'; // transb
bool is_memory_test = std::get<8>(GetParam()); // is_memory_test
double thresh = 40 * (std::max(k,gtint_t(1))) * testinghelpers::getEpsilon<T>(); // Set the threshold for the errors
double thresh = 40 * ((std::max)(k,gtint_t(1))) * testinghelpers::getEpsilon<T>(); // Set the threshold for the errors
test_complex_gemmsup_ukr<scomplex, cgemmsup_ker_ft> (storage, transa, transb, m, n, k, alpha, beta, thresh, kern_ptr, is_memory_test);
}// end of function
@@ -646,7 +646,7 @@ TEST_P(cgemmUkrNat, FunctionalTest)
gtint_t n = std::get<5>(GetParam()); // n
cgemm_ukr_ft kern_ptr = std::get<6>(GetParam()); // pointer to the gemm kernel
bool is_memory_test = std::get<7>(GetParam()); // is_memory_test
double thresh = 20 * (std::max(k,gtint_t(1))) * testinghelpers::getEpsilon<T>(); // Set the threshold for the errors
double thresh = 20 * ((std::max)(k,gtint_t(1))) * testinghelpers::getEpsilon<T>(); // Set the threshold for the errors
test_gemmnat_ukr(storage, m, n, k, alpha, beta, thresh, kern_ptr, is_memory_test);
}// end of function

View File

@@ -574,7 +574,7 @@ TEST_P(dgemmSmallUkernel, gemm_small)
// reset to default signal handler
testinghelpers::ProtectedBuffer::stop_signal_handler();
// Set the threshold for the errors:
double thresh = 10 * std::max(n,std::max(k,m)) * testinghelpers::getEpsilon<T>();
double thresh = 10 * (std::max)(n,(std::max)(k,m)) * testinghelpers::getEpsilon<T>();
// call reference implementation
testinghelpers::ref_gemm<T>( storage, 'n', 'n', m, n, k, alpha,
@@ -612,7 +612,7 @@ TEST_P(dgemmSmallUkernel, gemm_small)
);
// Set the threshold for the errors:
double thresh = 10 * std::max(n,std::max(k,m)) * testinghelpers::getEpsilon<T>();
double thresh = 10 * (std::max)(n,(std::max)(k,m)) * testinghelpers::getEpsilon<T>();
// call reference implementation
testinghelpers::ref_gemm<T>( storage, 'n', 'n', m, n, k, alpha,
a.data(), lda, b.data(), ldb, beta, c_ref.data(), ldc);

View File

@@ -261,7 +261,7 @@ static void test_gemmnat_ukr( char storage, gtint_t m, gtint_t n, gtint_t k, T a
obj_t a, b;
num_t dt = BLIS_DCOMPLEX;
gtint_t maxmn = std::max(m,n);
gtint_t maxmn = (std::max)(m,n);
bli_obj_create(dt, m, k, 1, m, &a);
bli_obj_create(dt, k, n, n, 1, &b);

View File

@@ -207,7 +207,7 @@ static void test_gemmnat_ukr(
// storage of all matrices A, B and C.
// since A is col-storage, A' will be row-storage
}
double thresh = 10 * (std::max(k,gtint_t(1))) * testinghelpers::getEpsilon<T>();
double thresh = 10 * ((std::max)(k,gtint_t(1))) * testinghelpers::getEpsilon<T>();
// call reference implementation
testinghelpers::ref_gemm<T>( storage, transa, transb, m, n, k, alpha,
buf_a, lda, buf_b, ldb, beta, (T*)buf_cref, ldc);
@@ -324,7 +324,7 @@ static void test_gemmk1_ukr( FT ukr_fp, gtint_t m, gtint_t n, gtint_t k, char st
testinghelpers::ProtectedBuffer::stop_signal_handler();
// Set the threshold for the errors:
double thresh = 10 * std::max(n,std::max(k,m)) * testinghelpers::getEpsilon<T>();
double thresh = 10 * (std::max)(n,(std::max)(k,m)) * testinghelpers::getEpsilon<T>();
// call reference implementation
testinghelpers::ref_gemm<T>( storage, 'n', 'n', m, n, k, alpha,
@@ -551,7 +551,7 @@ static void test_gemmsup_ukr( FT ukr_fp, char trnsa, char trnsb, gtint_t m, gtin
testinghelpers::ProtectedBuffer::stop_signal_handler();
// Set the threshold for the errors:
double thresh = 10 * (std::max(k,gtint_t(1))) * testinghelpers::getEpsilon<T>();
double thresh = 10 * ((std::max)(k,gtint_t(1))) * testinghelpers::getEpsilon<T>();
// call reference implementation
testinghelpers::ref_gemm<T>( storage, trnsa, trnsb, m, n, k, alpha,

View File

@@ -61,7 +61,7 @@ TEST_P(zgemmUkrSUP, FunctionalTest)
char transa = std::get<7>(GetParam()); // transa
char transb = std::get<8>(GetParam()); // transb
bool is_memory_test = std::get<9>(GetParam()); // is_memory_test
double thresh = 30 * (std::max(k,gtint_t(10))) * testinghelpers::getEpsilon<T>(); // Set the threshold for the errors
double thresh = 30 * ((std::max)(k,gtint_t(10))) * testinghelpers::getEpsilon<T>(); // Set the threshold for the errors
test_complex_gemmsup_ukr(storageC, transa, transb, m, n, k, alpha, beta, thresh, kern_ptr, is_memory_test);
}// end of function
@@ -993,7 +993,7 @@ TEST_P(zgemmUkrNat, MicroKernelTest)
gtint_t n = std::get<5>(GetParam()); // n
zgemm_ukr_ft kern_ptr = std::get<6>(GetParam()); // pointer to the gemm kernel
bool is_memory_test = std::get<7>(GetParam()); // is_memory_test
double thresh = 10 * (std::max(k,gtint_t(1))) * testinghelpers::getEpsilon<T>(); // Set the threshold for the errors
double thresh = 10 * ((std::max)(k,gtint_t(1))) * testinghelpers::getEpsilon<T>(); // Set the threshold for the errors
test_gemmnat_ukr(storage, m, n, k, alpha, beta, thresh, kern_ptr, is_memory_test);
}// end of function

View File

@@ -69,7 +69,7 @@ TEST_P(ctrsmUkrSmall, AccuracyCheck)
gtint_t ldb = std::get<9>(GetParam());
bool is_memory_test = std::get<10>(GetParam());
double thresh = 2 * std::max(std::max(m, n), gtint_t(3)) * testinghelpers::getEpsilon<T>();
double thresh = 2 * (std::max)((std::max)(m, n), gtint_t(3)) * testinghelpers::getEpsilon<T>();
test_trsm_small_ukr<T, trsm_small_ker_ft>( ukr_fp, side, uploa, diaga, transa, m, n, alpha, lda, ldb, thresh, is_memory_test, BLIS_SCOMPLEX);
}

View File

@@ -100,7 +100,7 @@ TEST_P(DTRSMSmallUkrTest, small_kernel)
gtint_t ldb = std::get<9>(GetParam());
bool is_memory_test = std::get<10>(GetParam());
double thresh = 2 * std::max(std::max(m, n), gtint_t(3)) * testinghelpers::getEpsilon<T>();
double thresh = 2 * (std::max)((std::max)(m, n), gtint_t(3)) * testinghelpers::getEpsilon<T>();
test_trsm_small_ukr<T, trsm_small_ker_ft>( ukr_fp, side, uploa, diaga, transa, m, n, alpha, lda, ldb, thresh, is_memory_test, BLIS_DOUBLE);
}

View File

@@ -81,7 +81,7 @@ TEST_P(strsmUkrNat, AccuracyCheck)
gtint_t ldc = std::get<8>(GetParam());
bool is_memory_test = std::get<9>(GetParam());
double thresh = 2 * std::max(std::max(m, n), gtint_t(3)) * testinghelpers::getEpsilon<T>();
double thresh = 2 * (std::max)((std::max)(m, n), gtint_t(3)) * testinghelpers::getEpsilon<T>();
test_trsm_ukr<T, sgemmtrsm_ukr_ft>( ukr_fp, storage, uploa, diaga, m, n, k, alpha, ldc, thresh, is_memory_test);
}
@@ -100,7 +100,7 @@ TEST_P(strsmUkrSmall, AccuracyCheck)
gtint_t ldb = std::get<9>(GetParam());
bool is_memory_test = std::get<10>(GetParam());
double thresh = 2 * std::max(std::max(m, n), gtint_t(3)) * testinghelpers::getEpsilon<T>();
double thresh = 2 * (std::max)((std::max)(m, n), gtint_t(3)) * testinghelpers::getEpsilon<T>();
test_trsm_small_ukr<T, trsm_small_ker_ft>( ukr_fp, side, uploa, diaga, transa, m, n, alpha, lda, ldb, thresh, is_memory_test, BLIS_FLOAT);
}

View File

@@ -81,7 +81,7 @@ TEST_P(ztrsmUkrNat, AccuracyCheck)
gtint_t ldc = std::get<8>(GetParam());
bool is_memory_test = std::get<9>(GetParam());
double thresh = 2 * std::max(std::max(m, n), gtint_t(3)) * testinghelpers::getEpsilon<T>();
double thresh = 2 * (std::max)((std::max)(m, n), gtint_t(3)) * testinghelpers::getEpsilon<T>();
test_trsm_ukr<T, zgemmtrsm_ukr_ft>( ukr_fp, storage, uploa, diaga, m, n, k, alpha, ldc, thresh, is_memory_test);
}
@@ -100,7 +100,7 @@ TEST_P(ztrsmUkrSmall, AccuracyCheck)
gtint_t ldb = std::get<9>(GetParam());
bool is_memory_test = std::get<10>(GetParam());
double thresh = 2 * std::max(std::max(m, n), gtint_t(3)) * testinghelpers::getEpsilon<T>();
double thresh = 2 * (std::max)((std::max)(m, n), gtint_t(3)) * testinghelpers::getEpsilon<T>();
test_trsm_small_ukr<T, trsm_small_ker_ft>( ukr_fp, side, uploa, diaga, transa, m, n, alpha, lda, ldb, thresh, is_memory_test, BLIS_DCOMPLEX);
}