Added return value to the test binaries (0: success, 1: failure), allowing it to work under CTest properly

This commit is contained in:
Cedric Nugteren 2016-06-02 16:24:22 +02:00
parent 137d1d8708
commit e561e3fbd5
51 changed files with 269 additions and 216 deletions

View file

@ -414,12 +414,13 @@ for level in [1,2,3]:
body += "using double2 = clblast::double2;\n\n" body += "using double2 = clblast::double2;\n\n"
body += "// Main function (not within the clblast namespace)\n" body += "// Main function (not within the clblast namespace)\n"
body += "int main(int argc, char *argv[]) {\n" body += "int main(int argc, char *argv[]) {\n"
body += " auto errors = size_t{0};\n"
not_first = "false" not_first = "false"
for flavour in routine.flavours: for flavour in routine.flavours:
body += " clblast::RunTests<clblast::TestX"+routine.name+flavour.TestTemplate() body += " errors += clblast::RunTests<clblast::TestX"+routine.name+flavour.TestTemplate()
body += ">(argc, argv, "+not_first+", \""+flavour.name+routine.name.upper()+"\");\n" body += ">(argc, argv, "+not_first+", \""+flavour.name+routine.name.upper()+"\");\n"
not_first = "true" not_first = "true"
body += " return 0;\n" body += " if (errors > 0) { return 1; } else { return 0; }\n"
body += "}\n" body += "}\n"
f.write(header+"\n") f.write(header+"\n")
f.write(body) f.write(body)

View file

@ -18,12 +18,13 @@ using double2 = clblast::double2;
// Main function (not within the clblast namespace) // Main function (not within the clblast namespace)
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
clblast::RunTests<clblast::TestXamax<float>, float, float>(argc, argv, false, "iSAMAX"); auto errors = size_t{0};
clblast::RunTests<clblast::TestXamax<double>, double, double>(argc, argv, true, "iDAMAX"); errors += clblast::RunTests<clblast::TestXamax<float>, float, float>(argc, argv, false, "iSAMAX");
clblast::RunTests<clblast::TestXamax<float2>, float2, float2>(argc, argv, true, "iCAMAX"); errors += clblast::RunTests<clblast::TestXamax<double>, double, double>(argc, argv, true, "iDAMAX");
clblast::RunTests<clblast::TestXamax<double2>, double2, double2>(argc, argv, true, "iZAMAX"); errors += clblast::RunTests<clblast::TestXamax<float2>, float2, float2>(argc, argv, true, "iCAMAX");
clblast::RunTests<clblast::TestXamax<half>, half, half>(argc, argv, true, "iHAMAX"); errors += clblast::RunTests<clblast::TestXamax<double2>, double2, double2>(argc, argv, true, "iZAMAX");
return 0; errors += clblast::RunTests<clblast::TestXamax<half>, half, half>(argc, argv, true, "iHAMAX");
if (errors > 0) { return 1; } else { return 0; }
} }
// ================================================================================================= // =================================================================================================

View file

@ -18,12 +18,13 @@ using double2 = clblast::double2;
// Main function (not within the clblast namespace) // Main function (not within the clblast namespace)
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
clblast::RunTests<clblast::TestXasum<float>, float, float>(argc, argv, false, "SASUM"); auto errors = size_t{0};
clblast::RunTests<clblast::TestXasum<double>, double, double>(argc, argv, true, "DASUM"); errors += clblast::RunTests<clblast::TestXasum<float>, float, float>(argc, argv, false, "SASUM");
clblast::RunTests<clblast::TestXasum<float2>, float2, float2>(argc, argv, true, "ScASUM"); errors += clblast::RunTests<clblast::TestXasum<double>, double, double>(argc, argv, true, "DASUM");
clblast::RunTests<clblast::TestXasum<double2>, double2, double2>(argc, argv, true, "DzASUM"); errors += clblast::RunTests<clblast::TestXasum<float2>, float2, float2>(argc, argv, true, "ScASUM");
clblast::RunTests<clblast::TestXasum<half>, half, half>(argc, argv, true, "HASUM"); errors += clblast::RunTests<clblast::TestXasum<double2>, double2, double2>(argc, argv, true, "DzASUM");
return 0; errors += clblast::RunTests<clblast::TestXasum<half>, half, half>(argc, argv, true, "HASUM");
if (errors > 0) { return 1; } else { return 0; }
} }
// ================================================================================================= // =================================================================================================

View file

@ -18,12 +18,13 @@ using double2 = clblast::double2;
// Main function (not within the clblast namespace) // Main function (not within the clblast namespace)
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
clblast::RunTests<clblast::TestXaxpy<float>, float, float>(argc, argv, false, "SAXPY"); auto errors = size_t{0};
clblast::RunTests<clblast::TestXaxpy<double>, double, double>(argc, argv, true, "DAXPY"); errors += clblast::RunTests<clblast::TestXaxpy<float>, float, float>(argc, argv, false, "SAXPY");
clblast::RunTests<clblast::TestXaxpy<float2>, float2, float2>(argc, argv, true, "CAXPY"); errors += clblast::RunTests<clblast::TestXaxpy<double>, double, double>(argc, argv, true, "DAXPY");
clblast::RunTests<clblast::TestXaxpy<double2>, double2, double2>(argc, argv, true, "ZAXPY"); errors += clblast::RunTests<clblast::TestXaxpy<float2>, float2, float2>(argc, argv, true, "CAXPY");
clblast::RunTests<clblast::TestXaxpy<half>, half, half>(argc, argv, true, "HAXPY"); errors += clblast::RunTests<clblast::TestXaxpy<double2>, double2, double2>(argc, argv, true, "ZAXPY");
return 0; errors += clblast::RunTests<clblast::TestXaxpy<half>, half, half>(argc, argv, true, "HAXPY");
if (errors > 0) { return 1; } else { return 0; }
} }
// ================================================================================================= // =================================================================================================

View file

@ -18,12 +18,13 @@ using double2 = clblast::double2;
// Main function (not within the clblast namespace) // Main function (not within the clblast namespace)
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
clblast::RunTests<clblast::TestXcopy<float>, float, float>(argc, argv, false, "SCOPY"); auto errors = size_t{0};
clblast::RunTests<clblast::TestXcopy<double>, double, double>(argc, argv, true, "DCOPY"); errors += clblast::RunTests<clblast::TestXcopy<float>, float, float>(argc, argv, false, "SCOPY");
clblast::RunTests<clblast::TestXcopy<float2>, float2, float2>(argc, argv, true, "CCOPY"); errors += clblast::RunTests<clblast::TestXcopy<double>, double, double>(argc, argv, true, "DCOPY");
clblast::RunTests<clblast::TestXcopy<double2>, double2, double2>(argc, argv, true, "ZCOPY"); errors += clblast::RunTests<clblast::TestXcopy<float2>, float2, float2>(argc, argv, true, "CCOPY");
clblast::RunTests<clblast::TestXcopy<half>, half, half>(argc, argv, true, "HCOPY"); errors += clblast::RunTests<clblast::TestXcopy<double2>, double2, double2>(argc, argv, true, "ZCOPY");
return 0; errors += clblast::RunTests<clblast::TestXcopy<half>, half, half>(argc, argv, true, "HCOPY");
if (errors > 0) { return 1; } else { return 0; }
} }
// ================================================================================================= // =================================================================================================

View file

@ -18,10 +18,11 @@ using double2 = clblast::double2;
// Main function (not within the clblast namespace) // Main function (not within the clblast namespace)
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
clblast::RunTests<clblast::TestXdot<float>, float, float>(argc, argv, false, "SDOT"); auto errors = size_t{0};
clblast::RunTests<clblast::TestXdot<double>, double, double>(argc, argv, true, "DDOT"); errors += clblast::RunTests<clblast::TestXdot<float>, float, float>(argc, argv, false, "SDOT");
clblast::RunTests<clblast::TestXdot<half>, half, half>(argc, argv, true, "HDOT"); errors += clblast::RunTests<clblast::TestXdot<double>, double, double>(argc, argv, true, "DDOT");
return 0; errors += clblast::RunTests<clblast::TestXdot<half>, half, half>(argc, argv, true, "HDOT");
if (errors > 0) { return 1; } else { return 0; }
} }
// ================================================================================================= // =================================================================================================

View file

@ -18,9 +18,10 @@ using double2 = clblast::double2;
// Main function (not within the clblast namespace) // Main function (not within the clblast namespace)
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
clblast::RunTests<clblast::TestXdotc<float2>, float2, float2>(argc, argv, false, "CDOTC"); auto errors = size_t{0};
clblast::RunTests<clblast::TestXdotc<double2>, double2, double2>(argc, argv, true, "ZDOTC"); errors += clblast::RunTests<clblast::TestXdotc<float2>, float2, float2>(argc, argv, false, "CDOTC");
return 0; errors += clblast::RunTests<clblast::TestXdotc<double2>, double2, double2>(argc, argv, true, "ZDOTC");
if (errors > 0) { return 1; } else { return 0; }
} }
// ================================================================================================= // =================================================================================================

View file

@ -18,9 +18,10 @@ using double2 = clblast::double2;
// Main function (not within the clblast namespace) // Main function (not within the clblast namespace)
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
clblast::RunTests<clblast::TestXdotu<float2>, float2, float2>(argc, argv, false, "CDOTU"); auto errors = size_t{0};
clblast::RunTests<clblast::TestXdotu<double2>, double2, double2>(argc, argv, true, "ZDOTU"); errors += clblast::RunTests<clblast::TestXdotu<float2>, float2, float2>(argc, argv, false, "CDOTU");
return 0; errors += clblast::RunTests<clblast::TestXdotu<double2>, double2, double2>(argc, argv, true, "ZDOTU");
if (errors > 0) { return 1; } else { return 0; }
} }
// ================================================================================================= // =================================================================================================

View file

@ -18,12 +18,13 @@ using double2 = clblast::double2;
// Main function (not within the clblast namespace) // Main function (not within the clblast namespace)
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
clblast::RunTests<clblast::TestXnrm2<float>, float, float>(argc, argv, false, "SNRM2"); auto errors = size_t{0};
clblast::RunTests<clblast::TestXnrm2<double>, double, double>(argc, argv, true, "DNRM2"); errors += clblast::RunTests<clblast::TestXnrm2<float>, float, float>(argc, argv, false, "SNRM2");
clblast::RunTests<clblast::TestXnrm2<float2>, float2, float2>(argc, argv, true, "ScNRM2"); errors += clblast::RunTests<clblast::TestXnrm2<double>, double, double>(argc, argv, true, "DNRM2");
clblast::RunTests<clblast::TestXnrm2<double2>, double2, double2>(argc, argv, true, "DzNRM2"); errors += clblast::RunTests<clblast::TestXnrm2<float2>, float2, float2>(argc, argv, true, "ScNRM2");
clblast::RunTests<clblast::TestXnrm2<half>, half, half>(argc, argv, true, "HNRM2"); errors += clblast::RunTests<clblast::TestXnrm2<double2>, double2, double2>(argc, argv, true, "DzNRM2");
return 0; errors += clblast::RunTests<clblast::TestXnrm2<half>, half, half>(argc, argv, true, "HNRM2");
if (errors > 0) { return 1; } else { return 0; }
} }
// ================================================================================================= // =================================================================================================

View file

@ -18,9 +18,10 @@ using double2 = clblast::double2;
// Main function (not within the clblast namespace) // Main function (not within the clblast namespace)
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
clblast::RunTests<clblast::TestXrot<float>, float, float>(argc, argv, false, "SROT"); auto errors = size_t{0};
clblast::RunTests<clblast::TestXrot<double>, double, double>(argc, argv, true, "DROT"); errors += clblast::RunTests<clblast::TestXrot<float>, float, float>(argc, argv, false, "SROT");
return 0; errors += clblast::RunTests<clblast::TestXrot<double>, double, double>(argc, argv, true, "DROT");
if (errors > 0) { return 1; } else { return 0; }
} }
// ================================================================================================= // =================================================================================================

View file

@ -18,9 +18,10 @@ using double2 = clblast::double2;
// Main function (not within the clblast namespace) // Main function (not within the clblast namespace)
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
clblast::RunTests<clblast::TestXrotg<float>, float, float>(argc, argv, false, "SROTG"); auto errors = size_t{0};
clblast::RunTests<clblast::TestXrotg<double>, double, double>(argc, argv, true, "DROTG"); errors += clblast::RunTests<clblast::TestXrotg<float>, float, float>(argc, argv, false, "SROTG");
return 0; errors += clblast::RunTests<clblast::TestXrotg<double>, double, double>(argc, argv, true, "DROTG");
if (errors > 0) { return 1; } else { return 0; }
} }
// ================================================================================================= // =================================================================================================

View file

@ -18,9 +18,10 @@ using double2 = clblast::double2;
// Main function (not within the clblast namespace) // Main function (not within the clblast namespace)
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
clblast::RunTests<clblast::TestXrotm<float>, float, float>(argc, argv, false, "SROTM"); auto errors = size_t{0};
clblast::RunTests<clblast::TestXrotm<double>, double, double>(argc, argv, true, "DROTM"); errors += clblast::RunTests<clblast::TestXrotm<float>, float, float>(argc, argv, false, "SROTM");
return 0; errors += clblast::RunTests<clblast::TestXrotm<double>, double, double>(argc, argv, true, "DROTM");
if (errors > 0) { return 1; } else { return 0; }
} }
// ================================================================================================= // =================================================================================================

View file

@ -18,9 +18,10 @@ using double2 = clblast::double2;
// Main function (not within the clblast namespace) // Main function (not within the clblast namespace)
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
clblast::RunTests<clblast::TestXrotmg<float>, float, float>(argc, argv, false, "SROTMG"); auto errors = size_t{0};
clblast::RunTests<clblast::TestXrotmg<double>, double, double>(argc, argv, true, "DROTMG"); errors += clblast::RunTests<clblast::TestXrotmg<float>, float, float>(argc, argv, false, "SROTMG");
return 0; errors += clblast::RunTests<clblast::TestXrotmg<double>, double, double>(argc, argv, true, "DROTMG");
if (errors > 0) { return 1; } else { return 0; }
} }
// ================================================================================================= // =================================================================================================

View file

@ -18,12 +18,13 @@ using double2 = clblast::double2;
// Main function (not within the clblast namespace) // Main function (not within the clblast namespace)
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
clblast::RunTests<clblast::TestXscal<float>, float, float>(argc, argv, false, "SSCAL"); auto errors = size_t{0};
clblast::RunTests<clblast::TestXscal<double>, double, double>(argc, argv, true, "DSCAL"); errors += clblast::RunTests<clblast::TestXscal<float>, float, float>(argc, argv, false, "SSCAL");
clblast::RunTests<clblast::TestXscal<float2>, float2, float2>(argc, argv, true, "CSCAL"); errors += clblast::RunTests<clblast::TestXscal<double>, double, double>(argc, argv, true, "DSCAL");
clblast::RunTests<clblast::TestXscal<double2>, double2, double2>(argc, argv, true, "ZSCAL"); errors += clblast::RunTests<clblast::TestXscal<float2>, float2, float2>(argc, argv, true, "CSCAL");
clblast::RunTests<clblast::TestXscal<half>, half, half>(argc, argv, true, "HSCAL"); errors += clblast::RunTests<clblast::TestXscal<double2>, double2, double2>(argc, argv, true, "ZSCAL");
return 0; errors += clblast::RunTests<clblast::TestXscal<half>, half, half>(argc, argv, true, "HSCAL");
if (errors > 0) { return 1; } else { return 0; }
} }
// ================================================================================================= // =================================================================================================

View file

@ -18,12 +18,13 @@ using double2 = clblast::double2;
// Main function (not within the clblast namespace) // Main function (not within the clblast namespace)
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
clblast::RunTests<clblast::TestXswap<float>, float, float>(argc, argv, false, "SSWAP"); auto errors = size_t{0};
clblast::RunTests<clblast::TestXswap<double>, double, double>(argc, argv, true, "DSWAP"); errors += clblast::RunTests<clblast::TestXswap<float>, float, float>(argc, argv, false, "SSWAP");
clblast::RunTests<clblast::TestXswap<float2>, float2, float2>(argc, argv, true, "CSWAP"); errors += clblast::RunTests<clblast::TestXswap<double>, double, double>(argc, argv, true, "DSWAP");
clblast::RunTests<clblast::TestXswap<double2>, double2, double2>(argc, argv, true, "ZSWAP"); errors += clblast::RunTests<clblast::TestXswap<float2>, float2, float2>(argc, argv, true, "CSWAP");
clblast::RunTests<clblast::TestXswap<half>, half, half>(argc, argv, true, "HSWAP"); errors += clblast::RunTests<clblast::TestXswap<double2>, double2, double2>(argc, argv, true, "ZSWAP");
return 0; errors += clblast::RunTests<clblast::TestXswap<half>, half, half>(argc, argv, true, "HSWAP");
if (errors > 0) { return 1; } else { return 0; }
} }
// ================================================================================================= // =================================================================================================

View file

@ -18,12 +18,13 @@ using double2 = clblast::double2;
// Main function (not within the clblast namespace) // Main function (not within the clblast namespace)
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
clblast::RunTests<clblast::TestXgbmv<float>, float, float>(argc, argv, false, "SGBMV"); auto errors = size_t{0};
clblast::RunTests<clblast::TestXgbmv<double>, double, double>(argc, argv, true, "DGBMV"); errors += clblast::RunTests<clblast::TestXgbmv<float>, float, float>(argc, argv, false, "SGBMV");
clblast::RunTests<clblast::TestXgbmv<float2>, float2, float2>(argc, argv, true, "CGBMV"); errors += clblast::RunTests<clblast::TestXgbmv<double>, double, double>(argc, argv, true, "DGBMV");
clblast::RunTests<clblast::TestXgbmv<double2>, double2, double2>(argc, argv, true, "ZGBMV"); errors += clblast::RunTests<clblast::TestXgbmv<float2>, float2, float2>(argc, argv, true, "CGBMV");
clblast::RunTests<clblast::TestXgbmv<half>, half, half>(argc, argv, true, "HGBMV"); errors += clblast::RunTests<clblast::TestXgbmv<double2>, double2, double2>(argc, argv, true, "ZGBMV");
return 0; errors += clblast::RunTests<clblast::TestXgbmv<half>, half, half>(argc, argv, true, "HGBMV");
if (errors > 0) { return 1; } else { return 0; }
} }
// ================================================================================================= // =================================================================================================

View file

@ -18,12 +18,13 @@ using double2 = clblast::double2;
// Main function (not within the clblast namespace) // Main function (not within the clblast namespace)
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
clblast::RunTests<clblast::TestXgemv<float>, float, float>(argc, argv, false, "SGEMV"); auto errors = size_t{0};
clblast::RunTests<clblast::TestXgemv<double>, double, double>(argc, argv, true, "DGEMV"); errors += clblast::RunTests<clblast::TestXgemv<float>, float, float>(argc, argv, false, "SGEMV");
clblast::RunTests<clblast::TestXgemv<float2>, float2, float2>(argc, argv, true, "CGEMV"); errors += clblast::RunTests<clblast::TestXgemv<double>, double, double>(argc, argv, true, "DGEMV");
clblast::RunTests<clblast::TestXgemv<double2>, double2, double2>(argc, argv, true, "ZGEMV"); errors += clblast::RunTests<clblast::TestXgemv<float2>, float2, float2>(argc, argv, true, "CGEMV");
clblast::RunTests<clblast::TestXgemv<half>, half, half>(argc, argv, true, "HGEMV"); errors += clblast::RunTests<clblast::TestXgemv<double2>, double2, double2>(argc, argv, true, "ZGEMV");
return 0; errors += clblast::RunTests<clblast::TestXgemv<half>, half, half>(argc, argv, true, "HGEMV");
if (errors > 0) { return 1; } else { return 0; }
} }
// ================================================================================================= // =================================================================================================

View file

@ -18,10 +18,11 @@ using double2 = clblast::double2;
// Main function (not within the clblast namespace) // Main function (not within the clblast namespace)
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
clblast::RunTests<clblast::TestXger<float>, float, float>(argc, argv, false, "SGER"); auto errors = size_t{0};
clblast::RunTests<clblast::TestXger<double>, double, double>(argc, argv, true, "DGER"); errors += clblast::RunTests<clblast::TestXger<float>, float, float>(argc, argv, false, "SGER");
clblast::RunTests<clblast::TestXger<half>, half, half>(argc, argv, true, "HGER"); errors += clblast::RunTests<clblast::TestXger<double>, double, double>(argc, argv, true, "DGER");
return 0; errors += clblast::RunTests<clblast::TestXger<half>, half, half>(argc, argv, true, "HGER");
if (errors > 0) { return 1; } else { return 0; }
} }
// ================================================================================================= // =================================================================================================

View file

@ -18,9 +18,10 @@ using double2 = clblast::double2;
// Main function (not within the clblast namespace) // Main function (not within the clblast namespace)
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
clblast::RunTests<clblast::TestXgerc<float2>, float2, float2>(argc, argv, false, "CGERC"); auto errors = size_t{0};
clblast::RunTests<clblast::TestXgerc<double2>, double2, double2>(argc, argv, true, "ZGERC"); errors += clblast::RunTests<clblast::TestXgerc<float2>, float2, float2>(argc, argv, false, "CGERC");
return 0; errors += clblast::RunTests<clblast::TestXgerc<double2>, double2, double2>(argc, argv, true, "ZGERC");
if (errors > 0) { return 1; } else { return 0; }
} }
// ================================================================================================= // =================================================================================================

View file

@ -18,9 +18,10 @@ using double2 = clblast::double2;
// Main function (not within the clblast namespace) // Main function (not within the clblast namespace)
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
clblast::RunTests<clblast::TestXgeru<float2>, float2, float2>(argc, argv, false, "CGERU"); auto errors = size_t{0};
clblast::RunTests<clblast::TestXgeru<double2>, double2, double2>(argc, argv, true, "ZGERU"); errors += clblast::RunTests<clblast::TestXgeru<float2>, float2, float2>(argc, argv, false, "CGERU");
return 0; errors += clblast::RunTests<clblast::TestXgeru<double2>, double2, double2>(argc, argv, true, "ZGERU");
if (errors > 0) { return 1; } else { return 0; }
} }
// ================================================================================================= // =================================================================================================

View file

@ -18,9 +18,10 @@ using double2 = clblast::double2;
// Main function (not within the clblast namespace) // Main function (not within the clblast namespace)
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
clblast::RunTests<clblast::TestXhbmv<float2>, float2, float2>(argc, argv, false, "CHBMV"); auto errors = size_t{0};
clblast::RunTests<clblast::TestXhbmv<double2>, double2, double2>(argc, argv, true, "ZHBMV"); errors += clblast::RunTests<clblast::TestXhbmv<float2>, float2, float2>(argc, argv, false, "CHBMV");
return 0; errors += clblast::RunTests<clblast::TestXhbmv<double2>, double2, double2>(argc, argv, true, "ZHBMV");
if (errors > 0) { return 1; } else { return 0; }
} }
// ================================================================================================= // =================================================================================================

View file

@ -18,9 +18,10 @@ using double2 = clblast::double2;
// Main function (not within the clblast namespace) // Main function (not within the clblast namespace)
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
clblast::RunTests<clblast::TestXhemv<float2>, float2, float2>(argc, argv, false, "CHEMV"); auto errors = size_t{0};
clblast::RunTests<clblast::TestXhemv<double2>, double2, double2>(argc, argv, true, "ZHEMV"); errors += clblast::RunTests<clblast::TestXhemv<float2>, float2, float2>(argc, argv, false, "CHEMV");
return 0; errors += clblast::RunTests<clblast::TestXhemv<double2>, double2, double2>(argc, argv, true, "ZHEMV");
if (errors > 0) { return 1; } else { return 0; }
} }
// ================================================================================================= // =================================================================================================

View file

@ -18,9 +18,10 @@ using double2 = clblast::double2;
// Main function (not within the clblast namespace) // Main function (not within the clblast namespace)
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
clblast::RunTests<clblast::TestXher<float2,float>, float2, float>(argc, argv, false, "CHER"); auto errors = size_t{0};
clblast::RunTests<clblast::TestXher<double2,double>, double2, double>(argc, argv, true, "ZHER"); errors += clblast::RunTests<clblast::TestXher<float2,float>, float2, float>(argc, argv, false, "CHER");
return 0; errors += clblast::RunTests<clblast::TestXher<double2,double>, double2, double>(argc, argv, true, "ZHER");
if (errors > 0) { return 1; } else { return 0; }
} }
// ================================================================================================= // =================================================================================================

View file

@ -18,9 +18,10 @@ using double2 = clblast::double2;
// Main function (not within the clblast namespace) // Main function (not within the clblast namespace)
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
clblast::RunTests<clblast::TestXher2<float2>, float2, float2>(argc, argv, false, "CHER2"); auto errors = size_t{0};
clblast::RunTests<clblast::TestXher2<double2>, double2, double2>(argc, argv, true, "ZHER2"); errors += clblast::RunTests<clblast::TestXher2<float2>, float2, float2>(argc, argv, false, "CHER2");
return 0; errors += clblast::RunTests<clblast::TestXher2<double2>, double2, double2>(argc, argv, true, "ZHER2");
if (errors > 0) { return 1; } else { return 0; }
} }
// ================================================================================================= // =================================================================================================

View file

@ -18,9 +18,10 @@ using double2 = clblast::double2;
// Main function (not within the clblast namespace) // Main function (not within the clblast namespace)
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
clblast::RunTests<clblast::TestXhpmv<float2>, float2, float2>(argc, argv, false, "CHPMV"); auto errors = size_t{0};
clblast::RunTests<clblast::TestXhpmv<double2>, double2, double2>(argc, argv, true, "ZHPMV"); errors += clblast::RunTests<clblast::TestXhpmv<float2>, float2, float2>(argc, argv, false, "CHPMV");
return 0; errors += clblast::RunTests<clblast::TestXhpmv<double2>, double2, double2>(argc, argv, true, "ZHPMV");
if (errors > 0) { return 1; } else { return 0; }
} }
// ================================================================================================= // =================================================================================================

View file

@ -18,9 +18,10 @@ using double2 = clblast::double2;
// Main function (not within the clblast namespace) // Main function (not within the clblast namespace)
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
clblast::RunTests<clblast::TestXhpr<float2,float>, float2, float>(argc, argv, false, "CHPR"); auto errors = size_t{0};
clblast::RunTests<clblast::TestXhpr<double2,double>, double2, double>(argc, argv, true, "ZHPR"); errors += clblast::RunTests<clblast::TestXhpr<float2,float>, float2, float>(argc, argv, false, "CHPR");
return 0; errors += clblast::RunTests<clblast::TestXhpr<double2,double>, double2, double>(argc, argv, true, "ZHPR");
if (errors > 0) { return 1; } else { return 0; }
} }
// ================================================================================================= // =================================================================================================

View file

@ -18,9 +18,10 @@ using double2 = clblast::double2;
// Main function (not within the clblast namespace) // Main function (not within the clblast namespace)
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
clblast::RunTests<clblast::TestXhpr2<float2>, float2, float2>(argc, argv, false, "CHPR2"); auto errors = size_t{0};
clblast::RunTests<clblast::TestXhpr2<double2>, double2, double2>(argc, argv, true, "ZHPR2"); errors += clblast::RunTests<clblast::TestXhpr2<float2>, float2, float2>(argc, argv, false, "CHPR2");
return 0; errors += clblast::RunTests<clblast::TestXhpr2<double2>, double2, double2>(argc, argv, true, "ZHPR2");
if (errors > 0) { return 1; } else { return 0; }
} }
// ================================================================================================= // =================================================================================================

View file

@ -18,10 +18,11 @@ using double2 = clblast::double2;
// Main function (not within the clblast namespace) // Main function (not within the clblast namespace)
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
clblast::RunTests<clblast::TestXsbmv<float>, float, float>(argc, argv, false, "SSBMV"); auto errors = size_t{0};
clblast::RunTests<clblast::TestXsbmv<double>, double, double>(argc, argv, true, "DSBMV"); errors += clblast::RunTests<clblast::TestXsbmv<float>, float, float>(argc, argv, false, "SSBMV");
clblast::RunTests<clblast::TestXsbmv<half>, half, half>(argc, argv, true, "HSBMV"); errors += clblast::RunTests<clblast::TestXsbmv<double>, double, double>(argc, argv, true, "DSBMV");
return 0; errors += clblast::RunTests<clblast::TestXsbmv<half>, half, half>(argc, argv, true, "HSBMV");
if (errors > 0) { return 1; } else { return 0; }
} }
// ================================================================================================= // =================================================================================================

View file

@ -18,10 +18,11 @@ using double2 = clblast::double2;
// Main function (not within the clblast namespace) // Main function (not within the clblast namespace)
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
clblast::RunTests<clblast::TestXspmv<float>, float, float>(argc, argv, false, "SSPMV"); auto errors = size_t{0};
clblast::RunTests<clblast::TestXspmv<double>, double, double>(argc, argv, true, "DSPMV"); errors += clblast::RunTests<clblast::TestXspmv<float>, float, float>(argc, argv, false, "SSPMV");
clblast::RunTests<clblast::TestXspmv<half>, half, half>(argc, argv, true, "HSPMV"); errors += clblast::RunTests<clblast::TestXspmv<double>, double, double>(argc, argv, true, "DSPMV");
return 0; errors += clblast::RunTests<clblast::TestXspmv<half>, half, half>(argc, argv, true, "HSPMV");
if (errors > 0) { return 1; } else { return 0; }
} }
// ================================================================================================= // =================================================================================================

View file

@ -18,10 +18,11 @@ using double2 = clblast::double2;
// Main function (not within the clblast namespace) // Main function (not within the clblast namespace)
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
clblast::RunTests<clblast::TestXspr<float>, float, float>(argc, argv, false, "SSPR"); auto errors = size_t{0};
clblast::RunTests<clblast::TestXspr<double>, double, double>(argc, argv, true, "DSPR"); errors += clblast::RunTests<clblast::TestXspr<float>, float, float>(argc, argv, false, "SSPR");
clblast::RunTests<clblast::TestXspr<half>, half, half>(argc, argv, true, "HSPR"); errors += clblast::RunTests<clblast::TestXspr<double>, double, double>(argc, argv, true, "DSPR");
return 0; errors += clblast::RunTests<clblast::TestXspr<half>, half, half>(argc, argv, true, "HSPR");
if (errors > 0) { return 1; } else { return 0; }
} }
// ================================================================================================= // =================================================================================================

View file

@ -18,10 +18,11 @@ using double2 = clblast::double2;
// Main function (not within the clblast namespace) // Main function (not within the clblast namespace)
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
clblast::RunTests<clblast::TestXspr2<float>, float, float>(argc, argv, false, "SSPR2"); auto errors = size_t{0};
clblast::RunTests<clblast::TestXspr2<double>, double, double>(argc, argv, true, "DSPR2"); errors += clblast::RunTests<clblast::TestXspr2<float>, float, float>(argc, argv, false, "SSPR2");
clblast::RunTests<clblast::TestXspr2<half>, half, half>(argc, argv, true, "HSPR2"); errors += clblast::RunTests<clblast::TestXspr2<double>, double, double>(argc, argv, true, "DSPR2");
return 0; errors += clblast::RunTests<clblast::TestXspr2<half>, half, half>(argc, argv, true, "HSPR2");
if (errors > 0) { return 1; } else { return 0; }
} }
// ================================================================================================= // =================================================================================================

View file

@ -18,10 +18,11 @@ using double2 = clblast::double2;
// Main function (not within the clblast namespace) // Main function (not within the clblast namespace)
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
clblast::RunTests<clblast::TestXsymv<float>, float, float>(argc, argv, false, "SSYMV"); auto errors = size_t{0};
clblast::RunTests<clblast::TestXsymv<double>, double, double>(argc, argv, true, "DSYMV"); errors += clblast::RunTests<clblast::TestXsymv<float>, float, float>(argc, argv, false, "SSYMV");
clblast::RunTests<clblast::TestXsymv<half>, half, half>(argc, argv, true, "HSYMV"); errors += clblast::RunTests<clblast::TestXsymv<double>, double, double>(argc, argv, true, "DSYMV");
return 0; errors += clblast::RunTests<clblast::TestXsymv<half>, half, half>(argc, argv, true, "HSYMV");
if (errors > 0) { return 1; } else { return 0; }
} }
// ================================================================================================= // =================================================================================================

View file

@ -18,10 +18,11 @@ using double2 = clblast::double2;
// Main function (not within the clblast namespace) // Main function (not within the clblast namespace)
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
clblast::RunTests<clblast::TestXsyr<float>, float, float>(argc, argv, false, "SSYR"); auto errors = size_t{0};
clblast::RunTests<clblast::TestXsyr<double>, double, double>(argc, argv, true, "DSYR"); errors += clblast::RunTests<clblast::TestXsyr<float>, float, float>(argc, argv, false, "SSYR");
clblast::RunTests<clblast::TestXsyr<half>, half, half>(argc, argv, true, "HSYR"); errors += clblast::RunTests<clblast::TestXsyr<double>, double, double>(argc, argv, true, "DSYR");
return 0; errors += clblast::RunTests<clblast::TestXsyr<half>, half, half>(argc, argv, true, "HSYR");
if (errors > 0) { return 1; } else { return 0; }
} }
// ================================================================================================= // =================================================================================================

View file

@ -18,10 +18,11 @@ using double2 = clblast::double2;
// Main function (not within the clblast namespace) // Main function (not within the clblast namespace)
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
clblast::RunTests<clblast::TestXsyr2<float>, float, float>(argc, argv, false, "SSYR2"); auto errors = size_t{0};
clblast::RunTests<clblast::TestXsyr2<double>, double, double>(argc, argv, true, "DSYR2"); errors += clblast::RunTests<clblast::TestXsyr2<float>, float, float>(argc, argv, false, "SSYR2");
clblast::RunTests<clblast::TestXsyr2<half>, half, half>(argc, argv, true, "HSYR2"); errors += clblast::RunTests<clblast::TestXsyr2<double>, double, double>(argc, argv, true, "DSYR2");
return 0; errors += clblast::RunTests<clblast::TestXsyr2<half>, half, half>(argc, argv, true, "HSYR2");
if (errors > 0) { return 1; } else { return 0; }
} }
// ================================================================================================= // =================================================================================================

View file

@ -18,12 +18,13 @@ using double2 = clblast::double2;
// Main function (not within the clblast namespace) // Main function (not within the clblast namespace)
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
clblast::RunTests<clblast::TestXtbmv<float>, float, float>(argc, argv, false, "STBMV"); auto errors = size_t{0};
clblast::RunTests<clblast::TestXtbmv<double>, double, double>(argc, argv, true, "DTBMV"); errors += clblast::RunTests<clblast::TestXtbmv<float>, float, float>(argc, argv, false, "STBMV");
clblast::RunTests<clblast::TestXtbmv<float2>, float2, float2>(argc, argv, true, "CTBMV"); errors += clblast::RunTests<clblast::TestXtbmv<double>, double, double>(argc, argv, true, "DTBMV");
clblast::RunTests<clblast::TestXtbmv<double2>, double2, double2>(argc, argv, true, "ZTBMV"); errors += clblast::RunTests<clblast::TestXtbmv<float2>, float2, float2>(argc, argv, true, "CTBMV");
clblast::RunTests<clblast::TestXtbmv<half>, half, half>(argc, argv, true, "HTBMV"); errors += clblast::RunTests<clblast::TestXtbmv<double2>, double2, double2>(argc, argv, true, "ZTBMV");
return 0; errors += clblast::RunTests<clblast::TestXtbmv<half>, half, half>(argc, argv, true, "HTBMV");
if (errors > 0) { return 1; } else { return 0; }
} }
// ================================================================================================= // =================================================================================================

View file

@ -18,11 +18,12 @@ using double2 = clblast::double2;
// Main function (not within the clblast namespace) // Main function (not within the clblast namespace)
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
clblast::RunTests<clblast::TestXtbsv<float>, float, float>(argc, argv, false, "STBSV"); auto errors = size_t{0};
clblast::RunTests<clblast::TestXtbsv<double>, double, double>(argc, argv, true, "DTBSV"); errors += clblast::RunTests<clblast::TestXtbsv<float>, float, float>(argc, argv, false, "STBSV");
clblast::RunTests<clblast::TestXtbsv<float2>, float2, float2>(argc, argv, true, "CTBSV"); errors += clblast::RunTests<clblast::TestXtbsv<double>, double, double>(argc, argv, true, "DTBSV");
clblast::RunTests<clblast::TestXtbsv<double2>, double2, double2>(argc, argv, true, "ZTBSV"); errors += clblast::RunTests<clblast::TestXtbsv<float2>, float2, float2>(argc, argv, true, "CTBSV");
return 0; errors += clblast::RunTests<clblast::TestXtbsv<double2>, double2, double2>(argc, argv, true, "ZTBSV");
if (errors > 0) { return 1; } else { return 0; }
} }
// ================================================================================================= // =================================================================================================

View file

@ -18,12 +18,13 @@ using double2 = clblast::double2;
// Main function (not within the clblast namespace) // Main function (not within the clblast namespace)
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
clblast::RunTests<clblast::TestXtpmv<float>, float, float>(argc, argv, false, "STPMV"); auto errors = size_t{0};
clblast::RunTests<clblast::TestXtpmv<double>, double, double>(argc, argv, true, "DTPMV"); errors += clblast::RunTests<clblast::TestXtpmv<float>, float, float>(argc, argv, false, "STPMV");
clblast::RunTests<clblast::TestXtpmv<float2>, float2, float2>(argc, argv, true, "CTPMV"); errors += clblast::RunTests<clblast::TestXtpmv<double>, double, double>(argc, argv, true, "DTPMV");
clblast::RunTests<clblast::TestXtpmv<double2>, double2, double2>(argc, argv, true, "ZTPMV"); errors += clblast::RunTests<clblast::TestXtpmv<float2>, float2, float2>(argc, argv, true, "CTPMV");
clblast::RunTests<clblast::TestXtpmv<half>, half, half>(argc, argv, true, "HTPMV"); errors += clblast::RunTests<clblast::TestXtpmv<double2>, double2, double2>(argc, argv, true, "ZTPMV");
return 0; errors += clblast::RunTests<clblast::TestXtpmv<half>, half, half>(argc, argv, true, "HTPMV");
if (errors > 0) { return 1; } else { return 0; }
} }
// ================================================================================================= // =================================================================================================

View file

@ -18,11 +18,12 @@ using double2 = clblast::double2;
// Main function (not within the clblast namespace) // Main function (not within the clblast namespace)
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
clblast::RunTests<clblast::TestXtpsv<float>, float, float>(argc, argv, false, "STPSV"); auto errors = size_t{0};
clblast::RunTests<clblast::TestXtpsv<double>, double, double>(argc, argv, true, "DTPSV"); errors += clblast::RunTests<clblast::TestXtpsv<float>, float, float>(argc, argv, false, "STPSV");
clblast::RunTests<clblast::TestXtpsv<float2>, float2, float2>(argc, argv, true, "CTPSV"); errors += clblast::RunTests<clblast::TestXtpsv<double>, double, double>(argc, argv, true, "DTPSV");
clblast::RunTests<clblast::TestXtpsv<double2>, double2, double2>(argc, argv, true, "ZTPSV"); errors += clblast::RunTests<clblast::TestXtpsv<float2>, float2, float2>(argc, argv, true, "CTPSV");
return 0; errors += clblast::RunTests<clblast::TestXtpsv<double2>, double2, double2>(argc, argv, true, "ZTPSV");
if (errors > 0) { return 1; } else { return 0; }
} }
// ================================================================================================= // =================================================================================================

View file

@ -18,12 +18,13 @@ using double2 = clblast::double2;
// Main function (not within the clblast namespace) // Main function (not within the clblast namespace)
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
clblast::RunTests<clblast::TestXtrmv<float>, float, float>(argc, argv, false, "STRMV"); auto errors = size_t{0};
clblast::RunTests<clblast::TestXtrmv<double>, double, double>(argc, argv, true, "DTRMV"); errors += clblast::RunTests<clblast::TestXtrmv<float>, float, float>(argc, argv, false, "STRMV");
clblast::RunTests<clblast::TestXtrmv<float2>, float2, float2>(argc, argv, true, "CTRMV"); errors += clblast::RunTests<clblast::TestXtrmv<double>, double, double>(argc, argv, true, "DTRMV");
clblast::RunTests<clblast::TestXtrmv<double2>, double2, double2>(argc, argv, true, "ZTRMV"); errors += clblast::RunTests<clblast::TestXtrmv<float2>, float2, float2>(argc, argv, true, "CTRMV");
clblast::RunTests<clblast::TestXtrmv<half>, half, half>(argc, argv, true, "HTRMV"); errors += clblast::RunTests<clblast::TestXtrmv<double2>, double2, double2>(argc, argv, true, "ZTRMV");
return 0; errors += clblast::RunTests<clblast::TestXtrmv<half>, half, half>(argc, argv, true, "HTRMV");
if (errors > 0) { return 1; } else { return 0; }
} }
// ================================================================================================= // =================================================================================================

View file

@ -18,11 +18,12 @@ using double2 = clblast::double2;
// Main function (not within the clblast namespace) // Main function (not within the clblast namespace)
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
clblast::RunTests<clblast::TestXtrsv<float>, float, float>(argc, argv, false, "STRSV"); auto errors = size_t{0};
clblast::RunTests<clblast::TestXtrsv<double>, double, double>(argc, argv, true, "DTRSV"); errors += clblast::RunTests<clblast::TestXtrsv<float>, float, float>(argc, argv, false, "STRSV");
clblast::RunTests<clblast::TestXtrsv<float2>, float2, float2>(argc, argv, true, "CTRSV"); errors += clblast::RunTests<clblast::TestXtrsv<double>, double, double>(argc, argv, true, "DTRSV");
clblast::RunTests<clblast::TestXtrsv<double2>, double2, double2>(argc, argv, true, "ZTRSV"); errors += clblast::RunTests<clblast::TestXtrsv<float2>, float2, float2>(argc, argv, true, "CTRSV");
return 0; errors += clblast::RunTests<clblast::TestXtrsv<double2>, double2, double2>(argc, argv, true, "ZTRSV");
if (errors > 0) { return 1; } else { return 0; }
} }
// ================================================================================================= // =================================================================================================

View file

@ -18,12 +18,13 @@ using double2 = clblast::double2;
// Main function (not within the clblast namespace) // Main function (not within the clblast namespace)
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
clblast::RunTests<clblast::TestXgemm<float>, float, float>(argc, argv, false, "SGEMM"); auto errors = size_t{0};
clblast::RunTests<clblast::TestXgemm<double>, double, double>(argc, argv, true, "DGEMM"); errors += clblast::RunTests<clblast::TestXgemm<float>, float, float>(argc, argv, false, "SGEMM");
clblast::RunTests<clblast::TestXgemm<float2>, float2, float2>(argc, argv, true, "CGEMM"); errors += clblast::RunTests<clblast::TestXgemm<double>, double, double>(argc, argv, true, "DGEMM");
clblast::RunTests<clblast::TestXgemm<double2>, double2, double2>(argc, argv, true, "ZGEMM"); errors += clblast::RunTests<clblast::TestXgemm<float2>, float2, float2>(argc, argv, true, "CGEMM");
clblast::RunTests<clblast::TestXgemm<half>, half, half>(argc, argv, true, "HGEMM"); errors += clblast::RunTests<clblast::TestXgemm<double2>, double2, double2>(argc, argv, true, "ZGEMM");
return 0; errors += clblast::RunTests<clblast::TestXgemm<half>, half, half>(argc, argv, true, "HGEMM");
if (errors > 0) { return 1; } else { return 0; }
} }
// ================================================================================================= // =================================================================================================

View file

@ -18,9 +18,10 @@ using double2 = clblast::double2;
// Main function (not within the clblast namespace) // Main function (not within the clblast namespace)
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
clblast::RunTests<clblast::TestXhemm<float2>, float2, float2>(argc, argv, false, "CHEMM"); auto errors = size_t{0};
clblast::RunTests<clblast::TestXhemm<double2>, double2, double2>(argc, argv, true, "ZHEMM"); errors += clblast::RunTests<clblast::TestXhemm<float2>, float2, float2>(argc, argv, false, "CHEMM");
return 0; errors += clblast::RunTests<clblast::TestXhemm<double2>, double2, double2>(argc, argv, true, "ZHEMM");
if (errors > 0) { return 1; } else { return 0; }
} }
// ================================================================================================= // =================================================================================================

View file

@ -18,9 +18,10 @@ using double2 = clblast::double2;
// Main function (not within the clblast namespace) // Main function (not within the clblast namespace)
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
clblast::RunTests<clblast::TestXher2k<float2,float>, float2, float>(argc, argv, false, "CHER2K"); auto errors = size_t{0};
clblast::RunTests<clblast::TestXher2k<double2,double>, double2, double>(argc, argv, true, "ZHER2K"); errors += clblast::RunTests<clblast::TestXher2k<float2,float>, float2, float>(argc, argv, false, "CHER2K");
return 0; errors += clblast::RunTests<clblast::TestXher2k<double2,double>, double2, double>(argc, argv, true, "ZHER2K");
if (errors > 0) { return 1; } else { return 0; }
} }
// ================================================================================================= // =================================================================================================

View file

@ -18,9 +18,10 @@ using double2 = clblast::double2;
// Main function (not within the clblast namespace) // Main function (not within the clblast namespace)
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
clblast::RunTests<clblast::TestXherk<float2,float>, float2, float>(argc, argv, false, "CHERK"); auto errors = size_t{0};
clblast::RunTests<clblast::TestXherk<double2,double>, double2, double>(argc, argv, true, "ZHERK"); errors += clblast::RunTests<clblast::TestXherk<float2,float>, float2, float>(argc, argv, false, "CHERK");
return 0; errors += clblast::RunTests<clblast::TestXherk<double2,double>, double2, double>(argc, argv, true, "ZHERK");
if (errors > 0) { return 1; } else { return 0; }
} }
// ================================================================================================= // =================================================================================================

View file

@ -18,12 +18,13 @@ using double2 = clblast::double2;
// Main function (not within the clblast namespace) // Main function (not within the clblast namespace)
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
clblast::RunTests<clblast::TestXsymm<float>, float, float>(argc, argv, false, "SSYMM"); auto errors = size_t{0};
clblast::RunTests<clblast::TestXsymm<double>, double, double>(argc, argv, true, "DSYMM"); errors += clblast::RunTests<clblast::TestXsymm<float>, float, float>(argc, argv, false, "SSYMM");
clblast::RunTests<clblast::TestXsymm<float2>, float2, float2>(argc, argv, true, "CSYMM"); errors += clblast::RunTests<clblast::TestXsymm<double>, double, double>(argc, argv, true, "DSYMM");
clblast::RunTests<clblast::TestXsymm<double2>, double2, double2>(argc, argv, true, "ZSYMM"); errors += clblast::RunTests<clblast::TestXsymm<float2>, float2, float2>(argc, argv, true, "CSYMM");
clblast::RunTests<clblast::TestXsymm<half>, half, half>(argc, argv, true, "HSYMM"); errors += clblast::RunTests<clblast::TestXsymm<double2>, double2, double2>(argc, argv, true, "ZSYMM");
return 0; errors += clblast::RunTests<clblast::TestXsymm<half>, half, half>(argc, argv, true, "HSYMM");
if (errors > 0) { return 1; } else { return 0; }
} }
// ================================================================================================= // =================================================================================================

View file

@ -18,12 +18,13 @@ using double2 = clblast::double2;
// Main function (not within the clblast namespace) // Main function (not within the clblast namespace)
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
clblast::RunTests<clblast::TestXsyr2k<float>, float, float>(argc, argv, false, "SSYR2K"); auto errors = size_t{0};
clblast::RunTests<clblast::TestXsyr2k<double>, double, double>(argc, argv, true, "DSYR2K"); errors += clblast::RunTests<clblast::TestXsyr2k<float>, float, float>(argc, argv, false, "SSYR2K");
clblast::RunTests<clblast::TestXsyr2k<float2>, float2, float2>(argc, argv, true, "CSYR2K"); errors += clblast::RunTests<clblast::TestXsyr2k<double>, double, double>(argc, argv, true, "DSYR2K");
clblast::RunTests<clblast::TestXsyr2k<double2>, double2, double2>(argc, argv, true, "ZSYR2K"); errors += clblast::RunTests<clblast::TestXsyr2k<float2>, float2, float2>(argc, argv, true, "CSYR2K");
clblast::RunTests<clblast::TestXsyr2k<half>, half, half>(argc, argv, true, "HSYR2K"); errors += clblast::RunTests<clblast::TestXsyr2k<double2>, double2, double2>(argc, argv, true, "ZSYR2K");
return 0; errors += clblast::RunTests<clblast::TestXsyr2k<half>, half, half>(argc, argv, true, "HSYR2K");
if (errors > 0) { return 1; } else { return 0; }
} }
// ================================================================================================= // =================================================================================================

View file

@ -18,12 +18,13 @@ using double2 = clblast::double2;
// Main function (not within the clblast namespace) // Main function (not within the clblast namespace)
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
clblast::RunTests<clblast::TestXsyrk<float>, float, float>(argc, argv, false, "SSYRK"); auto errors = size_t{0};
clblast::RunTests<clblast::TestXsyrk<double>, double, double>(argc, argv, true, "DSYRK"); errors += clblast::RunTests<clblast::TestXsyrk<float>, float, float>(argc, argv, false, "SSYRK");
clblast::RunTests<clblast::TestXsyrk<float2>, float2, float2>(argc, argv, true, "CSYRK"); errors += clblast::RunTests<clblast::TestXsyrk<double>, double, double>(argc, argv, true, "DSYRK");
clblast::RunTests<clblast::TestXsyrk<double2>, double2, double2>(argc, argv, true, "ZSYRK"); errors += clblast::RunTests<clblast::TestXsyrk<float2>, float2, float2>(argc, argv, true, "CSYRK");
clblast::RunTests<clblast::TestXsyrk<half>, half, half>(argc, argv, true, "HSYRK"); errors += clblast::RunTests<clblast::TestXsyrk<double2>, double2, double2>(argc, argv, true, "ZSYRK");
return 0; errors += clblast::RunTests<clblast::TestXsyrk<half>, half, half>(argc, argv, true, "HSYRK");
if (errors > 0) { return 1; } else { return 0; }
} }
// ================================================================================================= // =================================================================================================

View file

@ -18,12 +18,13 @@ using double2 = clblast::double2;
// Main function (not within the clblast namespace) // Main function (not within the clblast namespace)
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
clblast::RunTests<clblast::TestXtrmm<float>, float, float>(argc, argv, false, "STRMM"); auto errors = size_t{0};
clblast::RunTests<clblast::TestXtrmm<double>, double, double>(argc, argv, true, "DTRMM"); errors += clblast::RunTests<clblast::TestXtrmm<float>, float, float>(argc, argv, false, "STRMM");
clblast::RunTests<clblast::TestXtrmm<float2>, float2, float2>(argc, argv, true, "CTRMM"); errors += clblast::RunTests<clblast::TestXtrmm<double>, double, double>(argc, argv, true, "DTRMM");
clblast::RunTests<clblast::TestXtrmm<double2>, double2, double2>(argc, argv, true, "ZTRMM"); errors += clblast::RunTests<clblast::TestXtrmm<float2>, float2, float2>(argc, argv, true, "CTRMM");
clblast::RunTests<clblast::TestXtrmm<half>, half, half>(argc, argv, true, "HTRMM"); errors += clblast::RunTests<clblast::TestXtrmm<double2>, double2, double2>(argc, argv, true, "ZTRMM");
return 0; errors += clblast::RunTests<clblast::TestXtrmm<half>, half, half>(argc, argv, true, "HTRMM");
if (errors > 0) { return 1; } else { return 0; }
} }
// ================================================================================================= // =================================================================================================

View file

@ -18,12 +18,13 @@ using double2 = clblast::double2;
// Main function (not within the clblast namespace) // Main function (not within the clblast namespace)
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
clblast::RunTests<clblast::TestXtrsm<float>, float, float>(argc, argv, false, "STRSM"); auto errors = size_t{0};
clblast::RunTests<clblast::TestXtrsm<double>, double, double>(argc, argv, true, "DTRSM"); errors += clblast::RunTests<clblast::TestXtrsm<float>, float, float>(argc, argv, false, "STRSM");
clblast::RunTests<clblast::TestXtrsm<float2>, float2, float2>(argc, argv, true, "CTRSM"); errors += clblast::RunTests<clblast::TestXtrsm<double>, double, double>(argc, argv, true, "DTRSM");
clblast::RunTests<clblast::TestXtrsm<double2>, double2, double2>(argc, argv, true, "ZTRSM"); errors += clblast::RunTests<clblast::TestXtrsm<float2>, float2, float2>(argc, argv, true, "CTRSM");
clblast::RunTests<clblast::TestXtrsm<half>, half, half>(argc, argv, true, "HTRSM"); errors += clblast::RunTests<clblast::TestXtrsm<double2>, double2, double2>(argc, argv, true, "ZTRSM");
return 0; errors += clblast::RunTests<clblast::TestXtrsm<half>, half, half>(argc, argv, true, "HTRSM");
if (errors > 0) { return 1; } else { return 0; }
} }
// ================================================================================================= // =================================================================================================

View file

@ -114,7 +114,7 @@ class TestBlas: public Tester<T,U> {
// The interface to the correctness tester. This is a separate function in the header such that it // The interface to the correctness tester. This is a separate function in the header such that it
// is automatically compiled for each routine, templated by the parameter "C". // is automatically compiled for each routine, templated by the parameter "C".
template <typename C, typename T, typename U> template <typename C, typename T, typename U>
void RunTests(int argc, char *argv[], const bool silent, const std::string &name) { size_t RunTests(int argc, char *argv[], const bool silent, const std::string &name) {
// Sets the reference to test against // Sets the reference to test against
#if defined(CLBLAST_REF_CLBLAS) && defined(CLBLAST_REF_CBLAS) #if defined(CLBLAST_REF_CLBLAS) && defined(CLBLAST_REF_CBLAS)
@ -325,6 +325,7 @@ void RunTests(int argc, char *argv[], const bool silent, const std::string &name
} }
} }
} }
return tester.NumFailedTests();
} }
// ================================================================================================= // =================================================================================================

View file

@ -83,6 +83,9 @@ class Tester {
void TestErrorCodes(const StatusCode clblas_status, const StatusCode clblast_status, void TestErrorCodes(const StatusCode clblas_status, const StatusCode clblast_status,
const Arguments<U> &args); const Arguments<U> &args);
// Returns the number of failed tests
size_t NumFailedTests() const { return tests_failed_; }
protected: protected:
// The help-message // The help-message