summaryrefslogtreecommitdiff
path: root/test/correctness/routines/level2
diff options
context:
space:
mode:
Diffstat (limited to 'test/correctness/routines/level2')
-rw-r--r--test/correctness/routines/level2/xgbmv.cpp30
-rw-r--r--test/correctness/routines/level2/xgemv.cpp30
-rw-r--r--test/correctness/routines/level2/xger.cpp (renamed from test/correctness/routines/level2/xgbmv.cc)14
-rw-r--r--test/correctness/routines/level2/xgerc.cpp (renamed from test/correctness/routines/level2/xgeru.cc)11
-rw-r--r--test/correctness/routines/level2/xgeru.cpp (renamed from test/correctness/routines/level2/xhbmv.cc)11
-rw-r--r--test/correctness/routines/level2/xhbmv.cpp (renamed from test/correctness/routines/level2/xger.cc)11
-rw-r--r--test/correctness/routines/level2/xhemv.cc26
-rw-r--r--test/correctness/routines/level2/xhemv.cpp (renamed from test/correctness/routines/level2/xgerc.cc)11
-rw-r--r--test/correctness/routines/level2/xher.cc26
-rw-r--r--test/correctness/routines/level2/xher.cpp27
-rw-r--r--test/correctness/routines/level2/xher2.cc26
-rw-r--r--test/correctness/routines/level2/xher2.cpp27
-rw-r--r--test/correctness/routines/level2/xhpmv.cc26
-rw-r--r--test/correctness/routines/level2/xhpmv.cpp27
-rw-r--r--test/correctness/routines/level2/xhpr.cc26
-rw-r--r--test/correctness/routines/level2/xhpr.cpp27
-rw-r--r--test/correctness/routines/level2/xhpr2.cc26
-rw-r--r--test/correctness/routines/level2/xhpr2.cpp27
-rw-r--r--test/correctness/routines/level2/xsbmv.cc26
-rw-r--r--test/correctness/routines/level2/xsbmv.cpp28
-rw-r--r--test/correctness/routines/level2/xspmv.cc26
-rw-r--r--test/correctness/routines/level2/xspmv.cpp28
-rw-r--r--test/correctness/routines/level2/xspr.cc26
-rw-r--r--test/correctness/routines/level2/xspr.cpp (renamed from test/correctness/routines/level2/xgemv.cc)14
-rw-r--r--test/correctness/routines/level2/xspr2.cc26
-rw-r--r--test/correctness/routines/level2/xspr2.cpp28
-rw-r--r--test/correctness/routines/level2/xsymv.cc26
-rw-r--r--test/correctness/routines/level2/xsymv.cpp28
-rw-r--r--test/correctness/routines/level2/xsyr.cc26
-rw-r--r--test/correctness/routines/level2/xsyr.cpp28
-rw-r--r--test/correctness/routines/level2/xsyr2.cc26
-rw-r--r--test/correctness/routines/level2/xsyr2.cpp28
-rw-r--r--test/correctness/routines/level2/xtbmv.cc28
-rw-r--r--test/correctness/routines/level2/xtbmv.cpp30
-rw-r--r--test/correctness/routines/level2/xtbsv.cc28
-rw-r--r--test/correctness/routines/level2/xtbsv.cpp29
-rw-r--r--test/correctness/routines/level2/xtpmv.cc28
-rw-r--r--test/correctness/routines/level2/xtpmv.cpp30
-rw-r--r--test/correctness/routines/level2/xtpsv.cc28
-rw-r--r--test/correctness/routines/level2/xtpsv.cpp29
-rw-r--r--test/correctness/routines/level2/xtrmv.cc28
-rw-r--r--test/correctness/routines/level2/xtrmv.cpp30
-rw-r--r--test/correctness/routines/level2/xtrsv.cc28
-rw-r--r--test/correctness/routines/level2/xtrsv.cpp29
44 files changed, 578 insertions, 540 deletions
diff --git a/test/correctness/routines/level2/xgbmv.cpp b/test/correctness/routines/level2/xgbmv.cpp
new file mode 100644
index 00000000..8c49bc65
--- /dev/null
+++ b/test/correctness/routines/level2/xgbmv.cpp
@@ -0,0 +1,30 @@
+
+// =================================================================================================
+// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This
+// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max-
+// width of 100 characters per line.
+//
+// Author(s):
+// Cedric Nugteren <www.cedricnugteren.nl>
+//
+// =================================================================================================
+
+#include "test/correctness/testblas.hpp"
+#include "test/routines/level2/xgbmv.hpp"
+
+// Shortcuts to the clblast namespace
+using float2 = clblast::float2;
+using double2 = clblast::double2;
+
+// Main function (not within the clblast namespace)
+int main(int argc, char *argv[]) {
+ auto errors = size_t{0};
+ errors += clblast::RunTests<clblast::TestXgbmv<float>, float, float>(argc, argv, false, "SGBMV");
+ errors += clblast::RunTests<clblast::TestXgbmv<double>, double, double>(argc, argv, true, "DGBMV");
+ errors += clblast::RunTests<clblast::TestXgbmv<float2>, float2, float2>(argc, argv, true, "CGBMV");
+ errors += clblast::RunTests<clblast::TestXgbmv<double2>, double2, double2>(argc, argv, true, "ZGBMV");
+ errors += clblast::RunTests<clblast::TestXgbmv<half>, half, half>(argc, argv, true, "HGBMV");
+ if (errors > 0) { return 1; } else { return 0; }
+}
+
+// =================================================================================================
diff --git a/test/correctness/routines/level2/xgemv.cpp b/test/correctness/routines/level2/xgemv.cpp
new file mode 100644
index 00000000..902ae777
--- /dev/null
+++ b/test/correctness/routines/level2/xgemv.cpp
@@ -0,0 +1,30 @@
+
+// =================================================================================================
+// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This
+// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max-
+// width of 100 characters per line.
+//
+// Author(s):
+// Cedric Nugteren <www.cedricnugteren.nl>
+//
+// =================================================================================================
+
+#include "test/correctness/testblas.hpp"
+#include "test/routines/level2/xgemv.hpp"
+
+// Shortcuts to the clblast namespace
+using float2 = clblast::float2;
+using double2 = clblast::double2;
+
+// Main function (not within the clblast namespace)
+int main(int argc, char *argv[]) {
+ auto errors = size_t{0};
+ errors += clblast::RunTests<clblast::TestXgemv<float>, float, float>(argc, argv, false, "SGEMV");
+ errors += clblast::RunTests<clblast::TestXgemv<double>, double, double>(argc, argv, true, "DGEMV");
+ errors += clblast::RunTests<clblast::TestXgemv<float2>, float2, float2>(argc, argv, true, "CGEMV");
+ errors += clblast::RunTests<clblast::TestXgemv<double2>, double2, double2>(argc, argv, true, "ZGEMV");
+ errors += clblast::RunTests<clblast::TestXgemv<half>, half, half>(argc, argv, true, "HGEMV");
+ if (errors > 0) { return 1; } else { return 0; }
+}
+
+// =================================================================================================
diff --git a/test/correctness/routines/level2/xgbmv.cc b/test/correctness/routines/level2/xger.cpp
index b28c5978..ce61bbcb 100644
--- a/test/correctness/routines/level2/xgbmv.cc
+++ b/test/correctness/routines/level2/xger.cpp
@@ -9,8 +9,8 @@
//
// =================================================================================================
-#include "correctness/testblas.h"
-#include "routines/level2/xgbmv.h"
+#include "test/correctness/testblas.hpp"
+#include "test/routines/level2/xger.hpp"
// Shortcuts to the clblast namespace
using float2 = clblast::float2;
@@ -18,11 +18,11 @@ using double2 = clblast::double2;
// Main function (not within the clblast namespace)
int main(int argc, char *argv[]) {
- clblast::RunTests<clblast::TestXgbmv<float>, float, float>(argc, argv, false, "SGBMV");
- clblast::RunTests<clblast::TestXgbmv<double>, double, double>(argc, argv, true, "DGBMV");
- clblast::RunTests<clblast::TestXgbmv<float2>, float2, float2>(argc, argv, true, "CGBMV");
- clblast::RunTests<clblast::TestXgbmv<double2>, double2, double2>(argc, argv, true, "ZGBMV");
- return 0;
+ auto errors = size_t{0};
+ errors += clblast::RunTests<clblast::TestXger<float>, float, float>(argc, argv, false, "SGER");
+ errors += clblast::RunTests<clblast::TestXger<double>, double, double>(argc, argv, true, "DGER");
+ errors += clblast::RunTests<clblast::TestXger<half>, half, half>(argc, argv, true, "HGER");
+ if (errors > 0) { return 1; } else { return 0; }
}
// =================================================================================================
diff --git a/test/correctness/routines/level2/xgeru.cc b/test/correctness/routines/level2/xgerc.cpp
index ee92416b..b747f20d 100644
--- a/test/correctness/routines/level2/xgeru.cc
+++ b/test/correctness/routines/level2/xgerc.cpp
@@ -9,8 +9,8 @@
//
// =================================================================================================
-#include "correctness/testblas.h"
-#include "routines/level2/xgeru.h"
+#include "test/correctness/testblas.hpp"
+#include "test/routines/level2/xgerc.hpp"
// Shortcuts to the clblast namespace
using float2 = clblast::float2;
@@ -18,9 +18,10 @@ using double2 = clblast::double2;
// Main function (not within the clblast namespace)
int main(int argc, char *argv[]) {
- clblast::RunTests<clblast::TestXgeru<float2>, float2, float2>(argc, argv, false, "CGERU");
- clblast::RunTests<clblast::TestXgeru<double2>, double2, double2>(argc, argv, true, "ZGERU");
- return 0;
+ auto errors = size_t{0};
+ errors += clblast::RunTests<clblast::TestXgerc<float2>, float2, float2>(argc, argv, false, "CGERC");
+ errors += clblast::RunTests<clblast::TestXgerc<double2>, double2, double2>(argc, argv, true, "ZGERC");
+ if (errors > 0) { return 1; } else { return 0; }
}
// =================================================================================================
diff --git a/test/correctness/routines/level2/xhbmv.cc b/test/correctness/routines/level2/xgeru.cpp
index 4cd137a7..f80c1e2b 100644
--- a/test/correctness/routines/level2/xhbmv.cc
+++ b/test/correctness/routines/level2/xgeru.cpp
@@ -9,8 +9,8 @@
//
// =================================================================================================
-#include "correctness/testblas.h"
-#include "routines/level2/xhbmv.h"
+#include "test/correctness/testblas.hpp"
+#include "test/routines/level2/xgeru.hpp"
// Shortcuts to the clblast namespace
using float2 = clblast::float2;
@@ -18,9 +18,10 @@ using double2 = clblast::double2;
// Main function (not within the clblast namespace)
int main(int argc, char *argv[]) {
- clblast::RunTests<clblast::TestXhbmv<float2>, float2, float2>(argc, argv, false, "CHBMV");
- clblast::RunTests<clblast::TestXhbmv<double2>, double2, double2>(argc, argv, true, "ZHBMV");
- return 0;
+ auto errors = size_t{0};
+ errors += clblast::RunTests<clblast::TestXgeru<float2>, float2, float2>(argc, argv, false, "CGERU");
+ errors += clblast::RunTests<clblast::TestXgeru<double2>, double2, double2>(argc, argv, true, "ZGERU");
+ if (errors > 0) { return 1; } else { return 0; }
}
// =================================================================================================
diff --git a/test/correctness/routines/level2/xger.cc b/test/correctness/routines/level2/xhbmv.cpp
index c37a5c41..a4885c01 100644
--- a/test/correctness/routines/level2/xger.cc
+++ b/test/correctness/routines/level2/xhbmv.cpp
@@ -9,8 +9,8 @@
//
// =================================================================================================
-#include "correctness/testblas.h"
-#include "routines/level2/xger.h"
+#include "test/correctness/testblas.hpp"
+#include "test/routines/level2/xhbmv.hpp"
// Shortcuts to the clblast namespace
using float2 = clblast::float2;
@@ -18,9 +18,10 @@ using double2 = clblast::double2;
// Main function (not within the clblast namespace)
int main(int argc, char *argv[]) {
- clblast::RunTests<clblast::TestXger<float>, float, float>(argc, argv, false, "SGER");
- clblast::RunTests<clblast::TestXger<double>, double, double>(argc, argv, true, "DGER");
- return 0;
+ auto errors = size_t{0};
+ errors += clblast::RunTests<clblast::TestXhbmv<float2>, float2, float2>(argc, argv, false, "CHBMV");
+ errors += clblast::RunTests<clblast::TestXhbmv<double2>, double2, double2>(argc, argv, true, "ZHBMV");
+ if (errors > 0) { return 1; } else { return 0; }
}
// =================================================================================================
diff --git a/test/correctness/routines/level2/xhemv.cc b/test/correctness/routines/level2/xhemv.cc
deleted file mode 100644
index 20c5370c..00000000
--- a/test/correctness/routines/level2/xhemv.cc
+++ /dev/null
@@ -1,26 +0,0 @@
-
-// =================================================================================================
-// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This
-// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max-
-// width of 100 characters per line.
-//
-// Author(s):
-// Cedric Nugteren <www.cedricnugteren.nl>
-//
-// =================================================================================================
-
-#include "correctness/testblas.h"
-#include "routines/level2/xhemv.h"
-
-// Shortcuts to the clblast namespace
-using float2 = clblast::float2;
-using double2 = clblast::double2;
-
-// Main function (not within the clblast namespace)
-int main(int argc, char *argv[]) {
- clblast::RunTests<clblast::TestXhemv<float2>, float2, float2>(argc, argv, false, "CHEMV");
- clblast::RunTests<clblast::TestXhemv<double2>, double2, double2>(argc, argv, true, "ZHEMV");
- return 0;
-}
-
-// =================================================================================================
diff --git a/test/correctness/routines/level2/xgerc.cc b/test/correctness/routines/level2/xhemv.cpp
index 8fd31142..4318ffee 100644
--- a/test/correctness/routines/level2/xgerc.cc
+++ b/test/correctness/routines/level2/xhemv.cpp
@@ -9,8 +9,8 @@
//
// =================================================================================================
-#include "correctness/testblas.h"
-#include "routines/level2/xgerc.h"
+#include "test/correctness/testblas.hpp"
+#include "test/routines/level2/xhemv.hpp"
// Shortcuts to the clblast namespace
using float2 = clblast::float2;
@@ -18,9 +18,10 @@ using double2 = clblast::double2;
// Main function (not within the clblast namespace)
int main(int argc, char *argv[]) {
- clblast::RunTests<clblast::TestXgerc<float2>, float2, float2>(argc, argv, false, "CGERC");
- clblast::RunTests<clblast::TestXgerc<double2>, double2, double2>(argc, argv, true, "ZGERC");
- return 0;
+ auto errors = size_t{0};
+ errors += clblast::RunTests<clblast::TestXhemv<float2>, float2, float2>(argc, argv, false, "CHEMV");
+ errors += clblast::RunTests<clblast::TestXhemv<double2>, double2, double2>(argc, argv, true, "ZHEMV");
+ if (errors > 0) { return 1; } else { return 0; }
}
// =================================================================================================
diff --git a/test/correctness/routines/level2/xher.cc b/test/correctness/routines/level2/xher.cc
deleted file mode 100644
index 5b9b48be..00000000
--- a/test/correctness/routines/level2/xher.cc
+++ /dev/null
@@ -1,26 +0,0 @@
-
-// =================================================================================================
-// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This
-// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max-
-// width of 100 characters per line.
-//
-// Author(s):
-// Cedric Nugteren <www.cedricnugteren.nl>
-//
-// =================================================================================================
-
-#include "correctness/testblas.h"
-#include "routines/level2/xher.h"
-
-// Shortcuts to the clblast namespace
-using float2 = clblast::float2;
-using double2 = clblast::double2;
-
-// Main function (not within the clblast namespace)
-int main(int argc, char *argv[]) {
- clblast::RunTests<clblast::TestXher<float2,float>, float2, float>(argc, argv, false, "CHER");
- clblast::RunTests<clblast::TestXher<double2,double>, double2, double>(argc, argv, true, "ZHER");
- return 0;
-}
-
-// =================================================================================================
diff --git a/test/correctness/routines/level2/xher.cpp b/test/correctness/routines/level2/xher.cpp
new file mode 100644
index 00000000..fe37bd76
--- /dev/null
+++ b/test/correctness/routines/level2/xher.cpp
@@ -0,0 +1,27 @@
+
+// =================================================================================================
+// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This
+// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max-
+// width of 100 characters per line.
+//
+// Author(s):
+// Cedric Nugteren <www.cedricnugteren.nl>
+//
+// =================================================================================================
+
+#include "test/correctness/testblas.hpp"
+#include "test/routines/level2/xher.hpp"
+
+// Shortcuts to the clblast namespace
+using float2 = clblast::float2;
+using double2 = clblast::double2;
+
+// Main function (not within the clblast namespace)
+int main(int argc, char *argv[]) {
+ auto errors = size_t{0};
+ errors += clblast::RunTests<clblast::TestXher<float2,float>, float2, float>(argc, argv, false, "CHER");
+ errors += clblast::RunTests<clblast::TestXher<double2,double>, double2, double>(argc, argv, true, "ZHER");
+ if (errors > 0) { return 1; } else { return 0; }
+}
+
+// =================================================================================================
diff --git a/test/correctness/routines/level2/xher2.cc b/test/correctness/routines/level2/xher2.cc
deleted file mode 100644
index 093b3959..00000000
--- a/test/correctness/routines/level2/xher2.cc
+++ /dev/null
@@ -1,26 +0,0 @@
-
-// =================================================================================================
-// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This
-// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max-
-// width of 100 characters per line.
-//
-// Author(s):
-// Cedric Nugteren <www.cedricnugteren.nl>
-//
-// =================================================================================================
-
-#include "correctness/testblas.h"
-#include "routines/level2/xher2.h"
-
-// Shortcuts to the clblast namespace
-using float2 = clblast::float2;
-using double2 = clblast::double2;
-
-// Main function (not within the clblast namespace)
-int main(int argc, char *argv[]) {
- clblast::RunTests<clblast::TestXher2<float2>, float2, float2>(argc, argv, false, "CHER2");
- clblast::RunTests<clblast::TestXher2<double2>, double2, double2>(argc, argv, true, "ZHER2");
- return 0;
-}
-
-// =================================================================================================
diff --git a/test/correctness/routines/level2/xher2.cpp b/test/correctness/routines/level2/xher2.cpp
new file mode 100644
index 00000000..0b4af4d0
--- /dev/null
+++ b/test/correctness/routines/level2/xher2.cpp
@@ -0,0 +1,27 @@
+
+// =================================================================================================
+// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This
+// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max-
+// width of 100 characters per line.
+//
+// Author(s):
+// Cedric Nugteren <www.cedricnugteren.nl>
+//
+// =================================================================================================
+
+#include "test/correctness/testblas.hpp"
+#include "test/routines/level2/xher2.hpp"
+
+// Shortcuts to the clblast namespace
+using float2 = clblast::float2;
+using double2 = clblast::double2;
+
+// Main function (not within the clblast namespace)
+int main(int argc, char *argv[]) {
+ auto errors = size_t{0};
+ errors += clblast::RunTests<clblast::TestXher2<float2>, float2, float2>(argc, argv, false, "CHER2");
+ errors += clblast::RunTests<clblast::TestXher2<double2>, double2, double2>(argc, argv, true, "ZHER2");
+ if (errors > 0) { return 1; } else { return 0; }
+}
+
+// =================================================================================================
diff --git a/test/correctness/routines/level2/xhpmv.cc b/test/correctness/routines/level2/xhpmv.cc
deleted file mode 100644
index cbf41443..00000000
--- a/test/correctness/routines/level2/xhpmv.cc
+++ /dev/null
@@ -1,26 +0,0 @@
-
-// =================================================================================================
-// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This
-// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max-
-// width of 100 characters per line.
-//
-// Author(s):
-// Cedric Nugteren <www.cedricnugteren.nl>
-//
-// =================================================================================================
-
-#include "correctness/testblas.h"
-#include "routines/level2/xhpmv.h"
-
-// Shortcuts to the clblast namespace
-using float2 = clblast::float2;
-using double2 = clblast::double2;
-
-// Main function (not within the clblast namespace)
-int main(int argc, char *argv[]) {
- clblast::RunTests<clblast::TestXhpmv<float2>, float2, float2>(argc, argv, false, "CHPMV");
- clblast::RunTests<clblast::TestXhpmv<double2>, double2, double2>(argc, argv, true, "ZHPMV");
- return 0;
-}
-
-// =================================================================================================
diff --git a/test/correctness/routines/level2/xhpmv.cpp b/test/correctness/routines/level2/xhpmv.cpp
new file mode 100644
index 00000000..dd77df71
--- /dev/null
+++ b/test/correctness/routines/level2/xhpmv.cpp
@@ -0,0 +1,27 @@
+
+// =================================================================================================
+// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This
+// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max-
+// width of 100 characters per line.
+//
+// Author(s):
+// Cedric Nugteren <www.cedricnugteren.nl>
+//
+// =================================================================================================
+
+#include "test/correctness/testblas.hpp"
+#include "test/routines/level2/xhpmv.hpp"
+
+// Shortcuts to the clblast namespace
+using float2 = clblast::float2;
+using double2 = clblast::double2;
+
+// Main function (not within the clblast namespace)
+int main(int argc, char *argv[]) {
+ auto errors = size_t{0};
+ errors += clblast::RunTests<clblast::TestXhpmv<float2>, float2, float2>(argc, argv, false, "CHPMV");
+ errors += clblast::RunTests<clblast::TestXhpmv<double2>, double2, double2>(argc, argv, true, "ZHPMV");
+ if (errors > 0) { return 1; } else { return 0; }
+}
+
+// =================================================================================================
diff --git a/test/correctness/routines/level2/xhpr.cc b/test/correctness/routines/level2/xhpr.cc
deleted file mode 100644
index a720aaef..00000000
--- a/test/correctness/routines/level2/xhpr.cc
+++ /dev/null
@@ -1,26 +0,0 @@
-
-// =================================================================================================
-// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This
-// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max-
-// width of 100 characters per line.
-//
-// Author(s):
-// Cedric Nugteren <www.cedricnugteren.nl>
-//
-// =================================================================================================
-
-#include "correctness/testblas.h"
-#include "routines/level2/xhpr.h"
-
-// Shortcuts to the clblast namespace
-using float2 = clblast::float2;
-using double2 = clblast::double2;
-
-// Main function (not within the clblast namespace)
-int main(int argc, char *argv[]) {
- clblast::RunTests<clblast::TestXhpr<float2,float>, float2, float>(argc, argv, false, "CHPR");
- clblast::RunTests<clblast::TestXhpr<double2,double>, double2, double>(argc, argv, true, "ZHPR");
- return 0;
-}
-
-// =================================================================================================
diff --git a/test/correctness/routines/level2/xhpr.cpp b/test/correctness/routines/level2/xhpr.cpp
new file mode 100644
index 00000000..5a3f615f
--- /dev/null
+++ b/test/correctness/routines/level2/xhpr.cpp
@@ -0,0 +1,27 @@
+
+// =================================================================================================
+// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This
+// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max-
+// width of 100 characters per line.
+//
+// Author(s):
+// Cedric Nugteren <www.cedricnugteren.nl>
+//
+// =================================================================================================
+
+#include "test/correctness/testblas.hpp"
+#include "test/routines/level2/xhpr.hpp"
+
+// Shortcuts to the clblast namespace
+using float2 = clblast::float2;
+using double2 = clblast::double2;
+
+// Main function (not within the clblast namespace)
+int main(int argc, char *argv[]) {
+ auto errors = size_t{0};
+ errors += clblast::RunTests<clblast::TestXhpr<float2,float>, float2, float>(argc, argv, false, "CHPR");
+ errors += clblast::RunTests<clblast::TestXhpr<double2,double>, double2, double>(argc, argv, true, "ZHPR");
+ if (errors > 0) { return 1; } else { return 0; }
+}
+
+// =================================================================================================
diff --git a/test/correctness/routines/level2/xhpr2.cc b/test/correctness/routines/level2/xhpr2.cc
deleted file mode 100644
index 0fed97e1..00000000
--- a/test/correctness/routines/level2/xhpr2.cc
+++ /dev/null
@@ -1,26 +0,0 @@
-
-// =================================================================================================
-// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This
-// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max-
-// width of 100 characters per line.
-//
-// Author(s):
-// Cedric Nugteren <www.cedricnugteren.nl>
-//
-// =================================================================================================
-
-#include "correctness/testblas.h"
-#include "routines/level2/xhpr2.h"
-
-// Shortcuts to the clblast namespace
-using float2 = clblast::float2;
-using double2 = clblast::double2;
-
-// Main function (not within the clblast namespace)
-int main(int argc, char *argv[]) {
- clblast::RunTests<clblast::TestXhpr2<float2>, float2, float2>(argc, argv, false, "CHPR2");
- clblast::RunTests<clblast::TestXhpr2<double2>, double2, double2>(argc, argv, true, "ZHPR2");
- return 0;
-}
-
-// =================================================================================================
diff --git a/test/correctness/routines/level2/xhpr2.cpp b/test/correctness/routines/level2/xhpr2.cpp
new file mode 100644
index 00000000..8218b444
--- /dev/null
+++ b/test/correctness/routines/level2/xhpr2.cpp
@@ -0,0 +1,27 @@
+
+// =================================================================================================
+// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This
+// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max-
+// width of 100 characters per line.
+//
+// Author(s):
+// Cedric Nugteren <www.cedricnugteren.nl>
+//
+// =================================================================================================
+
+#include "test/correctness/testblas.hpp"
+#include "test/routines/level2/xhpr2.hpp"
+
+// Shortcuts to the clblast namespace
+using float2 = clblast::float2;
+using double2 = clblast::double2;
+
+// Main function (not within the clblast namespace)
+int main(int argc, char *argv[]) {
+ auto errors = size_t{0};
+ errors += clblast::RunTests<clblast::TestXhpr2<float2>, float2, float2>(argc, argv, false, "CHPR2");
+ errors += clblast::RunTests<clblast::TestXhpr2<double2>, double2, double2>(argc, argv, true, "ZHPR2");
+ if (errors > 0) { return 1; } else { return 0; }
+}
+
+// =================================================================================================
diff --git a/test/correctness/routines/level2/xsbmv.cc b/test/correctness/routines/level2/xsbmv.cc
deleted file mode 100644
index 212e2c3a..00000000
--- a/test/correctness/routines/level2/xsbmv.cc
+++ /dev/null
@@ -1,26 +0,0 @@
-
-// =================================================================================================
-// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This
-// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max-
-// width of 100 characters per line.
-//
-// Author(s):
-// Cedric Nugteren <www.cedricnugteren.nl>
-//
-// =================================================================================================
-
-#include "correctness/testblas.h"
-#include "routines/level2/xsbmv.h"
-
-// Shortcuts to the clblast namespace
-using float2 = clblast::float2;
-using double2 = clblast::double2;
-
-// Main function (not within the clblast namespace)
-int main(int argc, char *argv[]) {
- clblast::RunTests<clblast::TestXsbmv<float>, float, float>(argc, argv, false, "SSBMV");
- clblast::RunTests<clblast::TestXsbmv<double>, double, double>(argc, argv, true, "DSBMV");
- return 0;
-}
-
-// =================================================================================================
diff --git a/test/correctness/routines/level2/xsbmv.cpp b/test/correctness/routines/level2/xsbmv.cpp
new file mode 100644
index 00000000..7918cb21
--- /dev/null
+++ b/test/correctness/routines/level2/xsbmv.cpp
@@ -0,0 +1,28 @@
+
+// =================================================================================================
+// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This
+// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max-
+// width of 100 characters per line.
+//
+// Author(s):
+// Cedric Nugteren <www.cedricnugteren.nl>
+//
+// =================================================================================================
+
+#include "test/correctness/testblas.hpp"
+#include "test/routines/level2/xsbmv.hpp"
+
+// Shortcuts to the clblast namespace
+using float2 = clblast::float2;
+using double2 = clblast::double2;
+
+// Main function (not within the clblast namespace)
+int main(int argc, char *argv[]) {
+ auto errors = size_t{0};
+ errors += clblast::RunTests<clblast::TestXsbmv<float>, float, float>(argc, argv, false, "SSBMV");
+ errors += clblast::RunTests<clblast::TestXsbmv<double>, double, double>(argc, argv, true, "DSBMV");
+ errors += clblast::RunTests<clblast::TestXsbmv<half>, half, half>(argc, argv, true, "HSBMV");
+ if (errors > 0) { return 1; } else { return 0; }
+}
+
+// =================================================================================================
diff --git a/test/correctness/routines/level2/xspmv.cc b/test/correctness/routines/level2/xspmv.cc
deleted file mode 100644
index dc833024..00000000
--- a/test/correctness/routines/level2/xspmv.cc
+++ /dev/null
@@ -1,26 +0,0 @@
-
-// =================================================================================================
-// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This
-// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max-
-// width of 100 characters per line.
-//
-// Author(s):
-// Cedric Nugteren <www.cedricnugteren.nl>
-//
-// =================================================================================================
-
-#include "correctness/testblas.h"
-#include "routines/level2/xspmv.h"
-
-// Shortcuts to the clblast namespace
-using float2 = clblast::float2;
-using double2 = clblast::double2;
-
-// Main function (not within the clblast namespace)
-int main(int argc, char *argv[]) {
- clblast::RunTests<clblast::TestXspmv<float>, float, float>(argc, argv, false, "SSPMV");
- clblast::RunTests<clblast::TestXspmv<double>, double, double>(argc, argv, true, "DSPMV");
- return 0;
-}
-
-// =================================================================================================
diff --git a/test/correctness/routines/level2/xspmv.cpp b/test/correctness/routines/level2/xspmv.cpp
new file mode 100644
index 00000000..78210660
--- /dev/null
+++ b/test/correctness/routines/level2/xspmv.cpp
@@ -0,0 +1,28 @@
+
+// =================================================================================================
+// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This
+// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max-
+// width of 100 characters per line.
+//
+// Author(s):
+// Cedric Nugteren <www.cedricnugteren.nl>
+//
+// =================================================================================================
+
+#include "test/correctness/testblas.hpp"
+#include "test/routines/level2/xspmv.hpp"
+
+// Shortcuts to the clblast namespace
+using float2 = clblast::float2;
+using double2 = clblast::double2;
+
+// Main function (not within the clblast namespace)
+int main(int argc, char *argv[]) {
+ auto errors = size_t{0};
+ errors += clblast::RunTests<clblast::TestXspmv<float>, float, float>(argc, argv, false, "SSPMV");
+ errors += clblast::RunTests<clblast::TestXspmv<double>, double, double>(argc, argv, true, "DSPMV");
+ errors += clblast::RunTests<clblast::TestXspmv<half>, half, half>(argc, argv, true, "HSPMV");
+ if (errors > 0) { return 1; } else { return 0; }
+}
+
+// =================================================================================================
diff --git a/test/correctness/routines/level2/xspr.cc b/test/correctness/routines/level2/xspr.cc
deleted file mode 100644
index a0104dd4..00000000
--- a/test/correctness/routines/level2/xspr.cc
+++ /dev/null
@@ -1,26 +0,0 @@
-
-// =================================================================================================
-// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This
-// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max-
-// width of 100 characters per line.
-//
-// Author(s):
-// Cedric Nugteren <www.cedricnugteren.nl>
-//
-// =================================================================================================
-
-#include "correctness/testblas.h"
-#include "routines/level2/xspr.h"
-
-// Shortcuts to the clblast namespace
-using float2 = clblast::float2;
-using double2 = clblast::double2;
-
-// Main function (not within the clblast namespace)
-int main(int argc, char *argv[]) {
- clblast::RunTests<clblast::TestXspr<float>, float, float>(argc, argv, false, "SSPR");
- clblast::RunTests<clblast::TestXspr<double>, double, double>(argc, argv, true, "DSPR");
- return 0;
-}
-
-// =================================================================================================
diff --git a/test/correctness/routines/level2/xgemv.cc b/test/correctness/routines/level2/xspr.cpp
index 14eb74d1..d05adf34 100644
--- a/test/correctness/routines/level2/xgemv.cc
+++ b/test/correctness/routines/level2/xspr.cpp
@@ -9,8 +9,8 @@
//
// =================================================================================================
-#include "correctness/testblas.h"
-#include "routines/level2/xgemv.h"
+#include "test/correctness/testblas.hpp"
+#include "test/routines/level2/xspr.hpp"
// Shortcuts to the clblast namespace
using float2 = clblast::float2;
@@ -18,11 +18,11 @@ using double2 = clblast::double2;
// Main function (not within the clblast namespace)
int main(int argc, char *argv[]) {
- clblast::RunTests<clblast::TestXgemv<float>, float, float>(argc, argv, false, "SGEMV");
- clblast::RunTests<clblast::TestXgemv<double>, double, double>(argc, argv, true, "DGEMV");
- clblast::RunTests<clblast::TestXgemv<float2>, float2, float2>(argc, argv, true, "CGEMV");
- clblast::RunTests<clblast::TestXgemv<double2>, double2, double2>(argc, argv, true, "ZGEMV");
- return 0;
+ auto errors = size_t{0};
+ errors += clblast::RunTests<clblast::TestXspr<float>, float, float>(argc, argv, false, "SSPR");
+ errors += clblast::RunTests<clblast::TestXspr<double>, double, double>(argc, argv, true, "DSPR");
+ errors += clblast::RunTests<clblast::TestXspr<half>, half, half>(argc, argv, true, "HSPR");
+ if (errors > 0) { return 1; } else { return 0; }
}
// =================================================================================================
diff --git a/test/correctness/routines/level2/xspr2.cc b/test/correctness/routines/level2/xspr2.cc
deleted file mode 100644
index 5fe5827f..00000000
--- a/test/correctness/routines/level2/xspr2.cc
+++ /dev/null
@@ -1,26 +0,0 @@
-
-// =================================================================================================
-// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This
-// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max-
-// width of 100 characters per line.
-//
-// Author(s):
-// Cedric Nugteren <www.cedricnugteren.nl>
-//
-// =================================================================================================
-
-#include "correctness/testblas.h"
-#include "routines/level2/xspr2.h"
-
-// Shortcuts to the clblast namespace
-using float2 = clblast::float2;
-using double2 = clblast::double2;
-
-// Main function (not within the clblast namespace)
-int main(int argc, char *argv[]) {
- clblast::RunTests<clblast::TestXspr2<float>, float, float>(argc, argv, false, "SSPR2");
- clblast::RunTests<clblast::TestXspr2<double>, double, double>(argc, argv, true, "DSPR2");
- return 0;
-}
-
-// =================================================================================================
diff --git a/test/correctness/routines/level2/xspr2.cpp b/test/correctness/routines/level2/xspr2.cpp
new file mode 100644
index 00000000..caa46a09
--- /dev/null
+++ b/test/correctness/routines/level2/xspr2.cpp
@@ -0,0 +1,28 @@
+
+// =================================================================================================
+// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This
+// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max-
+// width of 100 characters per line.
+//
+// Author(s):
+// Cedric Nugteren <www.cedricnugteren.nl>
+//
+// =================================================================================================
+
+#include "test/correctness/testblas.hpp"
+#include "test/routines/level2/xspr2.hpp"
+
+// Shortcuts to the clblast namespace
+using float2 = clblast::float2;
+using double2 = clblast::double2;
+
+// Main function (not within the clblast namespace)
+int main(int argc, char *argv[]) {
+ auto errors = size_t{0};
+ errors += clblast::RunTests<clblast::TestXspr2<float>, float, float>(argc, argv, false, "SSPR2");
+ errors += clblast::RunTests<clblast::TestXspr2<double>, double, double>(argc, argv, true, "DSPR2");
+ errors += clblast::RunTests<clblast::TestXspr2<half>, half, half>(argc, argv, true, "HSPR2");
+ if (errors > 0) { return 1; } else { return 0; }
+}
+
+// =================================================================================================
diff --git a/test/correctness/routines/level2/xsymv.cc b/test/correctness/routines/level2/xsymv.cc
deleted file mode 100644
index 6224739f..00000000
--- a/test/correctness/routines/level2/xsymv.cc
+++ /dev/null
@@ -1,26 +0,0 @@
-
-// =================================================================================================
-// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This
-// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max-
-// width of 100 characters per line.
-//
-// Author(s):
-// Cedric Nugteren <www.cedricnugteren.nl>
-//
-// =================================================================================================
-
-#include "correctness/testblas.h"
-#include "routines/level2/xsymv.h"
-
-// Shortcuts to the clblast namespace
-using float2 = clblast::float2;
-using double2 = clblast::double2;
-
-// Main function (not within the clblast namespace)
-int main(int argc, char *argv[]) {
- clblast::RunTests<clblast::TestXsymv<float>, float, float>(argc, argv, false, "SSYMV");
- clblast::RunTests<clblast::TestXsymv<double>, double, double>(argc, argv, true, "DSYMV");
- return 0;
-}
-
-// =================================================================================================
diff --git a/test/correctness/routines/level2/xsymv.cpp b/test/correctness/routines/level2/xsymv.cpp
new file mode 100644
index 00000000..978a5f8a
--- /dev/null
+++ b/test/correctness/routines/level2/xsymv.cpp
@@ -0,0 +1,28 @@
+
+// =================================================================================================
+// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This
+// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max-
+// width of 100 characters per line.
+//
+// Author(s):
+// Cedric Nugteren <www.cedricnugteren.nl>
+//
+// =================================================================================================
+
+#include "test/correctness/testblas.hpp"
+#include "test/routines/level2/xsymv.hpp"
+
+// Shortcuts to the clblast namespace
+using float2 = clblast::float2;
+using double2 = clblast::double2;
+
+// Main function (not within the clblast namespace)
+int main(int argc, char *argv[]) {
+ auto errors = size_t{0};
+ errors += clblast::RunTests<clblast::TestXsymv<float>, float, float>(argc, argv, false, "SSYMV");
+ errors += clblast::RunTests<clblast::TestXsymv<double>, double, double>(argc, argv, true, "DSYMV");
+ errors += clblast::RunTests<clblast::TestXsymv<half>, half, half>(argc, argv, true, "HSYMV");
+ if (errors > 0) { return 1; } else { return 0; }
+}
+
+// =================================================================================================
diff --git a/test/correctness/routines/level2/xsyr.cc b/test/correctness/routines/level2/xsyr.cc
deleted file mode 100644
index a47b918f..00000000
--- a/test/correctness/routines/level2/xsyr.cc
+++ /dev/null
@@ -1,26 +0,0 @@
-
-// =================================================================================================
-// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This
-// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max-
-// width of 100 characters per line.
-//
-// Author(s):
-// Cedric Nugteren <www.cedricnugteren.nl>
-//
-// =================================================================================================
-
-#include "correctness/testblas.h"
-#include "routines/level2/xsyr.h"
-
-// Shortcuts to the clblast namespace
-using float2 = clblast::float2;
-using double2 = clblast::double2;
-
-// Main function (not within the clblast namespace)
-int main(int argc, char *argv[]) {
- clblast::RunTests<clblast::TestXsyr<float>, float, float>(argc, argv, false, "SSYR");
- clblast::RunTests<clblast::TestXsyr<double>, double, double>(argc, argv, true, "DSYR");
- return 0;
-}
-
-// =================================================================================================
diff --git a/test/correctness/routines/level2/xsyr.cpp b/test/correctness/routines/level2/xsyr.cpp
new file mode 100644
index 00000000..244dbfb4
--- /dev/null
+++ b/test/correctness/routines/level2/xsyr.cpp
@@ -0,0 +1,28 @@
+
+// =================================================================================================
+// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This
+// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max-
+// width of 100 characters per line.
+//
+// Author(s):
+// Cedric Nugteren <www.cedricnugteren.nl>
+//
+// =================================================================================================
+
+#include "test/correctness/testblas.hpp"
+#include "test/routines/level2/xsyr.hpp"
+
+// Shortcuts to the clblast namespace
+using float2 = clblast::float2;
+using double2 = clblast::double2;
+
+// Main function (not within the clblast namespace)
+int main(int argc, char *argv[]) {
+ auto errors = size_t{0};
+ errors += clblast::RunTests<clblast::TestXsyr<float>, float, float>(argc, argv, false, "SSYR");
+ errors += clblast::RunTests<clblast::TestXsyr<double>, double, double>(argc, argv, true, "DSYR");
+ errors += clblast::RunTests<clblast::TestXsyr<half>, half, half>(argc, argv, true, "HSYR");
+ if (errors > 0) { return 1; } else { return 0; }
+}
+
+// =================================================================================================
diff --git a/test/correctness/routines/level2/xsyr2.cc b/test/correctness/routines/level2/xsyr2.cc
deleted file mode 100644
index 1743632c..00000000
--- a/test/correctness/routines/level2/xsyr2.cc
+++ /dev/null
@@ -1,26 +0,0 @@
-
-// =================================================================================================
-// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This
-// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max-
-// width of 100 characters per line.
-//
-// Author(s):
-// Cedric Nugteren <www.cedricnugteren.nl>
-//
-// =================================================================================================
-
-#include "correctness/testblas.h"
-#include "routines/level2/xsyr2.h"
-
-// Shortcuts to the clblast namespace
-using float2 = clblast::float2;
-using double2 = clblast::double2;
-
-// Main function (not within the clblast namespace)
-int main(int argc, char *argv[]) {
- clblast::RunTests<clblast::TestXsyr2<float>, float, float>(argc, argv, false, "SSYR2");
- clblast::RunTests<clblast::TestXsyr2<double>, double, double>(argc, argv, true, "DSYR2");
- return 0;
-}
-
-// =================================================================================================
diff --git a/test/correctness/routines/level2/xsyr2.cpp b/test/correctness/routines/level2/xsyr2.cpp
new file mode 100644
index 00000000..422e67ad
--- /dev/null
+++ b/test/correctness/routines/level2/xsyr2.cpp
@@ -0,0 +1,28 @@
+
+// =================================================================================================
+// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This
+// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max-
+// width of 100 characters per line.
+//
+// Author(s):
+// Cedric Nugteren <www.cedricnugteren.nl>
+//
+// =================================================================================================
+
+#include "test/correctness/testblas.hpp"
+#include "test/routines/level2/xsyr2.hpp"
+
+// Shortcuts to the clblast namespace
+using float2 = clblast::float2;
+using double2 = clblast::double2;
+
+// Main function (not within the clblast namespace)
+int main(int argc, char *argv[]) {
+ auto errors = size_t{0};
+ errors += clblast::RunTests<clblast::TestXsyr2<float>, float, float>(argc, argv, false, "SSYR2");
+ errors += clblast::RunTests<clblast::TestXsyr2<double>, double, double>(argc, argv, true, "DSYR2");
+ errors += clblast::RunTests<clblast::TestXsyr2<half>, half, half>(argc, argv, true, "HSYR2");
+ if (errors > 0) { return 1; } else { return 0; }
+}
+
+// =================================================================================================
diff --git a/test/correctness/routines/level2/xtbmv.cc b/test/correctness/routines/level2/xtbmv.cc
deleted file mode 100644
index d3bbbade..00000000
--- a/test/correctness/routines/level2/xtbmv.cc
+++ /dev/null
@@ -1,28 +0,0 @@
-
-// =================================================================================================
-// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This
-// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max-
-// width of 100 characters per line.
-//
-// Author(s):
-// Cedric Nugteren <www.cedricnugteren.nl>
-//
-// =================================================================================================
-
-#include "correctness/testblas.h"
-#include "routines/level2/xtbmv.h"
-
-// Shortcuts to the clblast namespace
-using float2 = clblast::float2;
-using double2 = clblast::double2;
-
-// Main function (not within the clblast namespace)
-int main(int argc, char *argv[]) {
- clblast::RunTests<clblast::TestXtbmv<float>, float, float>(argc, argv, false, "STBMV");
- clblast::RunTests<clblast::TestXtbmv<double>, double, double>(argc, argv, true, "DTBMV");
- clblast::RunTests<clblast::TestXtbmv<float2>, float2, float2>(argc, argv, true, "CTBMV");
- clblast::RunTests<clblast::TestXtbmv<double2>, double2, double2>(argc, argv, true, "ZTBMV");
- return 0;
-}
-
-// =================================================================================================
diff --git a/test/correctness/routines/level2/xtbmv.cpp b/test/correctness/routines/level2/xtbmv.cpp
new file mode 100644
index 00000000..491708ec
--- /dev/null
+++ b/test/correctness/routines/level2/xtbmv.cpp
@@ -0,0 +1,30 @@
+
+// =================================================================================================
+// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This
+// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max-
+// width of 100 characters per line.
+//
+// Author(s):
+// Cedric Nugteren <www.cedricnugteren.nl>
+//
+// =================================================================================================
+
+#include "test/correctness/testblas.hpp"
+#include "test/routines/level2/xtbmv.hpp"
+
+// Shortcuts to the clblast namespace
+using float2 = clblast::float2;
+using double2 = clblast::double2;
+
+// Main function (not within the clblast namespace)
+int main(int argc, char *argv[]) {
+ auto errors = size_t{0};
+ errors += clblast::RunTests<clblast::TestXtbmv<float>, float, float>(argc, argv, false, "STBMV");
+ errors += clblast::RunTests<clblast::TestXtbmv<double>, double, double>(argc, argv, true, "DTBMV");
+ errors += clblast::RunTests<clblast::TestXtbmv<float2>, float2, float2>(argc, argv, true, "CTBMV");
+ errors += clblast::RunTests<clblast::TestXtbmv<double2>, double2, double2>(argc, argv, true, "ZTBMV");
+ errors += clblast::RunTests<clblast::TestXtbmv<half>, half, half>(argc, argv, true, "HTBMV");
+ if (errors > 0) { return 1; } else { return 0; }
+}
+
+// =================================================================================================
diff --git a/test/correctness/routines/level2/xtbsv.cc b/test/correctness/routines/level2/xtbsv.cc
deleted file mode 100644
index c8a8a583..00000000
--- a/test/correctness/routines/level2/xtbsv.cc
+++ /dev/null
@@ -1,28 +0,0 @@
-
-// =================================================================================================
-// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This
-// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max-
-// width of 100 characters per line.
-//
-// Author(s):
-// Cedric Nugteren <www.cedricnugteren.nl>
-//
-// =================================================================================================
-
-#include "correctness/testblas.h"
-#include "routines/level2/xtbsv.h"
-
-// Shortcuts to the clblast namespace
-using float2 = clblast::float2;
-using double2 = clblast::double2;
-
-// Main function (not within the clblast namespace)
-int main(int argc, char *argv[]) {
- clblast::RunTests<clblast::TestXtbsv<float>, float, float>(argc, argv, false, "STBSV");
- clblast::RunTests<clblast::TestXtbsv<double>, double, double>(argc, argv, true, "DTBSV");
- clblast::RunTests<clblast::TestXtbsv<float2>, float2, float2>(argc, argv, true, "CTBSV");
- clblast::RunTests<clblast::TestXtbsv<double2>, double2, double2>(argc, argv, true, "ZTBSV");
- return 0;
-}
-
-// =================================================================================================
diff --git a/test/correctness/routines/level2/xtbsv.cpp b/test/correctness/routines/level2/xtbsv.cpp
new file mode 100644
index 00000000..12b5dca5
--- /dev/null
+++ b/test/correctness/routines/level2/xtbsv.cpp
@@ -0,0 +1,29 @@
+
+// =================================================================================================
+// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This
+// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max-
+// width of 100 characters per line.
+//
+// Author(s):
+// Cedric Nugteren <www.cedricnugteren.nl>
+//
+// =================================================================================================
+
+#include "test/correctness/testblas.hpp"
+#include "test/routines/level2/xtbsv.hpp"
+
+// Shortcuts to the clblast namespace
+using float2 = clblast::float2;
+using double2 = clblast::double2;
+
+// Main function (not within the clblast namespace)
+int main(int argc, char *argv[]) {
+ auto errors = size_t{0};
+ errors += clblast::RunTests<clblast::TestXtbsv<float>, float, float>(argc, argv, false, "STBSV");
+ errors += clblast::RunTests<clblast::TestXtbsv<double>, double, double>(argc, argv, true, "DTBSV");
+ errors += clblast::RunTests<clblast::TestXtbsv<float2>, float2, float2>(argc, argv, true, "CTBSV");
+ errors += clblast::RunTests<clblast::TestXtbsv<double2>, double2, double2>(argc, argv, true, "ZTBSV");
+ if (errors > 0) { return 1; } else { return 0; }
+}
+
+// =================================================================================================
diff --git a/test/correctness/routines/level2/xtpmv.cc b/test/correctness/routines/level2/xtpmv.cc
deleted file mode 100644
index 95489a65..00000000
--- a/test/correctness/routines/level2/xtpmv.cc
+++ /dev/null
@@ -1,28 +0,0 @@
-
-// =================================================================================================
-// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This
-// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max-
-// width of 100 characters per line.
-//
-// Author(s):
-// Cedric Nugteren <www.cedricnugteren.nl>
-//
-// =================================================================================================
-
-#include "correctness/testblas.h"
-#include "routines/level2/xtpmv.h"
-
-// Shortcuts to the clblast namespace
-using float2 = clblast::float2;
-using double2 = clblast::double2;
-
-// Main function (not within the clblast namespace)
-int main(int argc, char *argv[]) {
- clblast::RunTests<clblast::TestXtpmv<float>, float, float>(argc, argv, false, "STPMV");
- clblast::RunTests<clblast::TestXtpmv<double>, double, double>(argc, argv, true, "DTPMV");
- clblast::RunTests<clblast::TestXtpmv<float2>, float2, float2>(argc, argv, true, "CTPMV");
- clblast::RunTests<clblast::TestXtpmv<double2>, double2, double2>(argc, argv, true, "ZTPMV");
- return 0;
-}
-
-// =================================================================================================
diff --git a/test/correctness/routines/level2/xtpmv.cpp b/test/correctness/routines/level2/xtpmv.cpp
new file mode 100644
index 00000000..b89f0adc
--- /dev/null
+++ b/test/correctness/routines/level2/xtpmv.cpp
@@ -0,0 +1,30 @@
+
+// =================================================================================================
+// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This
+// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max-
+// width of 100 characters per line.
+//
+// Author(s):
+// Cedric Nugteren <www.cedricnugteren.nl>
+//
+// =================================================================================================
+
+#include "test/correctness/testblas.hpp"
+#include "test/routines/level2/xtpmv.hpp"
+
+// Shortcuts to the clblast namespace
+using float2 = clblast::float2;
+using double2 = clblast::double2;
+
+// Main function (not within the clblast namespace)
+int main(int argc, char *argv[]) {
+ auto errors = size_t{0};
+ errors += clblast::RunTests<clblast::TestXtpmv<float>, float, float>(argc, argv, false, "STPMV");
+ errors += clblast::RunTests<clblast::TestXtpmv<double>, double, double>(argc, argv, true, "DTPMV");
+ errors += clblast::RunTests<clblast::TestXtpmv<float2>, float2, float2>(argc, argv, true, "CTPMV");
+ errors += clblast::RunTests<clblast::TestXtpmv<double2>, double2, double2>(argc, argv, true, "ZTPMV");
+ errors += clblast::RunTests<clblast::TestXtpmv<half>, half, half>(argc, argv, true, "HTPMV");
+ if (errors > 0) { return 1; } else { return 0; }
+}
+
+// =================================================================================================
diff --git a/test/correctness/routines/level2/xtpsv.cc b/test/correctness/routines/level2/xtpsv.cc
deleted file mode 100644
index 97d27271..00000000
--- a/test/correctness/routines/level2/xtpsv.cc
+++ /dev/null
@@ -1,28 +0,0 @@
-
-// =================================================================================================
-// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This
-// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max-
-// width of 100 characters per line.
-//
-// Author(s):
-// Cedric Nugteren <www.cedricnugteren.nl>
-//
-// =================================================================================================
-
-#include "correctness/testblas.h"
-#include "routines/level2/xtpsv.h"
-
-// Shortcuts to the clblast namespace
-using float2 = clblast::float2;
-using double2 = clblast::double2;
-
-// Main function (not within the clblast namespace)
-int main(int argc, char *argv[]) {
- clblast::RunTests<clblast::TestXtpsv<float>, float, float>(argc, argv, false, "STPSV");
- clblast::RunTests<clblast::TestXtpsv<double>, double, double>(argc, argv, true, "DTPSV");
- clblast::RunTests<clblast::TestXtpsv<float2>, float2, float2>(argc, argv, true, "CTPSV");
- clblast::RunTests<clblast::TestXtpsv<double2>, double2, double2>(argc, argv, true, "ZTPSV");
- return 0;
-}
-
-// =================================================================================================
diff --git a/test/correctness/routines/level2/xtpsv.cpp b/test/correctness/routines/level2/xtpsv.cpp
new file mode 100644
index 00000000..6e6e7c85
--- /dev/null
+++ b/test/correctness/routines/level2/xtpsv.cpp
@@ -0,0 +1,29 @@
+
+// =================================================================================================
+// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This
+// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max-
+// width of 100 characters per line.
+//
+// Author(s):
+// Cedric Nugteren <www.cedricnugteren.nl>
+//
+// =================================================================================================
+
+#include "test/correctness/testblas.hpp"
+#include "test/routines/level2/xtpsv.hpp"
+
+// Shortcuts to the clblast namespace
+using float2 = clblast::float2;
+using double2 = clblast::double2;
+
+// Main function (not within the clblast namespace)
+int main(int argc, char *argv[]) {
+ auto errors = size_t{0};
+ errors += clblast::RunTests<clblast::TestXtpsv<float>, float, float>(argc, argv, false, "STPSV");
+ errors += clblast::RunTests<clblast::TestXtpsv<double>, double, double>(argc, argv, true, "DTPSV");
+ errors += clblast::RunTests<clblast::TestXtpsv<float2>, float2, float2>(argc, argv, true, "CTPSV");
+ errors += clblast::RunTests<clblast::TestXtpsv<double2>, double2, double2>(argc, argv, true, "ZTPSV");
+ if (errors > 0) { return 1; } else { return 0; }
+}
+
+// =================================================================================================
diff --git a/test/correctness/routines/level2/xtrmv.cc b/test/correctness/routines/level2/xtrmv.cc
deleted file mode 100644
index ca50af88..00000000
--- a/test/correctness/routines/level2/xtrmv.cc
+++ /dev/null
@@ -1,28 +0,0 @@
-
-// =================================================================================================
-// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This
-// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max-
-// width of 100 characters per line.
-//
-// Author(s):
-// Cedric Nugteren <www.cedricnugteren.nl>
-//
-// =================================================================================================
-
-#include "correctness/testblas.h"
-#include "routines/level2/xtrmv.h"
-
-// Shortcuts to the clblast namespace
-using float2 = clblast::float2;
-using double2 = clblast::double2;
-
-// Main function (not within the clblast namespace)
-int main(int argc, char *argv[]) {
- clblast::RunTests<clblast::TestXtrmv<float>, float, float>(argc, argv, false, "STRMV");
- clblast::RunTests<clblast::TestXtrmv<double>, double, double>(argc, argv, true, "DTRMV");
- clblast::RunTests<clblast::TestXtrmv<float2>, float2, float2>(argc, argv, true, "CTRMV");
- clblast::RunTests<clblast::TestXtrmv<double2>, double2, double2>(argc, argv, true, "ZTRMV");
- return 0;
-}
-
-// =================================================================================================
diff --git a/test/correctness/routines/level2/xtrmv.cpp b/test/correctness/routines/level2/xtrmv.cpp
new file mode 100644
index 00000000..819f5cad
--- /dev/null
+++ b/test/correctness/routines/level2/xtrmv.cpp
@@ -0,0 +1,30 @@
+
+// =================================================================================================
+// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This
+// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max-
+// width of 100 characters per line.
+//
+// Author(s):
+// Cedric Nugteren <www.cedricnugteren.nl>
+//
+// =================================================================================================
+
+#include "test/correctness/testblas.hpp"
+#include "test/routines/level2/xtrmv.hpp"
+
+// Shortcuts to the clblast namespace
+using float2 = clblast::float2;
+using double2 = clblast::double2;
+
+// Main function (not within the clblast namespace)
+int main(int argc, char *argv[]) {
+ auto errors = size_t{0};
+ errors += clblast::RunTests<clblast::TestXtrmv<float>, float, float>(argc, argv, false, "STRMV");
+ errors += clblast::RunTests<clblast::TestXtrmv<double>, double, double>(argc, argv, true, "DTRMV");
+ errors += clblast::RunTests<clblast::TestXtrmv<float2>, float2, float2>(argc, argv, true, "CTRMV");
+ errors += clblast::RunTests<clblast::TestXtrmv<double2>, double2, double2>(argc, argv, true, "ZTRMV");
+ errors += clblast::RunTests<clblast::TestXtrmv<half>, half, half>(argc, argv, true, "HTRMV");
+ if (errors > 0) { return 1; } else { return 0; }
+}
+
+// =================================================================================================
diff --git a/test/correctness/routines/level2/xtrsv.cc b/test/correctness/routines/level2/xtrsv.cc
deleted file mode 100644
index bfca0f20..00000000
--- a/test/correctness/routines/level2/xtrsv.cc
+++ /dev/null
@@ -1,28 +0,0 @@
-
-// =================================================================================================
-// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This
-// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max-
-// width of 100 characters per line.
-//
-// Author(s):
-// Cedric Nugteren <www.cedricnugteren.nl>
-//
-// =================================================================================================
-
-#include "correctness/testblas.h"
-#include "routines/level2/xtrsv.h"
-
-// Shortcuts to the clblast namespace
-using float2 = clblast::float2;
-using double2 = clblast::double2;
-
-// Main function (not within the clblast namespace)
-int main(int argc, char *argv[]) {
- clblast::RunTests<clblast::TestXtrsv<float>, float, float>(argc, argv, false, "STRSV");
- clblast::RunTests<clblast::TestXtrsv<double>, double, double>(argc, argv, true, "DTRSV");
- clblast::RunTests<clblast::TestXtrsv<float2>, float2, float2>(argc, argv, true, "CTRSV");
- clblast::RunTests<clblast::TestXtrsv<double2>, double2, double2>(argc, argv, true, "ZTRSV");
- return 0;
-}
-
-// =================================================================================================
diff --git a/test/correctness/routines/level2/xtrsv.cpp b/test/correctness/routines/level2/xtrsv.cpp
new file mode 100644
index 00000000..78e33807
--- /dev/null
+++ b/test/correctness/routines/level2/xtrsv.cpp
@@ -0,0 +1,29 @@
+
+// =================================================================================================
+// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This
+// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max-
+// width of 100 characters per line.
+//
+// Author(s):
+// Cedric Nugteren <www.cedricnugteren.nl>
+//
+// =================================================================================================
+
+#include "test/correctness/testblas.hpp"
+#include "test/routines/level2/xtrsv.hpp"
+
+// Shortcuts to the clblast namespace
+using float2 = clblast::float2;
+using double2 = clblast::double2;
+
+// Main function (not within the clblast namespace)
+int main(int argc, char *argv[]) {
+ auto errors = size_t{0};
+ errors += clblast::RunTests<clblast::TestXtrsv<float>, float, float>(argc, argv, false, "STRSV");
+ errors += clblast::RunTests<clblast::TestXtrsv<double>, double, double>(argc, argv, true, "DTRSV");
+ errors += clblast::RunTests<clblast::TestXtrsv<float2>, float2, float2>(argc, argv, true, "CTRSV");
+ errors += clblast::RunTests<clblast::TestXtrsv<double2>, double2, double2>(argc, argv, true, "ZTRSV");
+ if (errors > 0) { return 1; } else { return 0; }
+}
+
+// =================================================================================================