summaryrefslogtreecommitdiff
path: root/src/clblast.cc
diff options
context:
space:
mode:
authorCedric Nugteren <web@cedricnugteren.nl>2016-03-30 17:32:13 +0200
committercnugteren <web@cedricnugteren.nl>2016-03-30 16:13:37 -0700
commitc1df78676471a8a26ea8ec5a092734566d490db4 (patch)
tree272bd2cda6a54929f83e4d2c6c7a0652384f88ec /src/clblast.cc
parent6ecc0d089c80296cce3089734771279a30783f81 (diff)
Added prototypes for the xROTM and xROTMG routines
Diffstat (limited to 'src/clblast.cc')
-rw-r--r--src/clblast.cc47
1 files changed, 45 insertions, 2 deletions
diff --git a/src/clblast.cc b/src/clblast.cc
index 8f7abfd6..1b2c3a12 100644
--- a/src/clblast.cc
+++ b/src/clblast.cc
@@ -67,7 +67,7 @@ namespace clblast {
// BLAS level-1 (vector-vector) routines
// =================================================================================================
-// Generate plane rotation: SROTG/DROTG
+// Generate givens plane rotation: SROTG/DROTG
template <typename T>
StatusCode Rotg(cl_mem, const size_t,
cl_mem, const size_t,
@@ -87,7 +87,30 @@ template StatusCode PUBLIC_API Rotg<double>(cl_mem, const size_t,
cl_mem, const size_t,
cl_command_queue*, cl_event*);
-// Apply plane rotation: SROT/DROT
+// Generate modified givens plane rotation: SROTMG/DROTMG
+template <typename T>
+StatusCode Rotmg(cl_mem, const size_t,
+ cl_mem, const size_t,
+ cl_mem, const size_t,
+ cl_mem, const size_t,
+ cl_mem, const size_t,
+ cl_command_queue*, cl_event*) {
+ return StatusCode::kNotImplemented;
+}
+template StatusCode PUBLIC_API Rotmg<float>(cl_mem, const size_t,
+ cl_mem, const size_t,
+ cl_mem, const size_t,
+ cl_mem, const size_t,
+ cl_mem, const size_t,
+ cl_command_queue*, cl_event*);
+template StatusCode PUBLIC_API Rotmg<double>(cl_mem, const size_t,
+ cl_mem, const size_t,
+ cl_mem, const size_t,
+ cl_mem, const size_t,
+ cl_mem, const size_t,
+ cl_command_queue*, cl_event*);
+
+// Apply givens plane rotation: SROT/DROT
template <typename T>
StatusCode Rot(const size_t,
cl_mem, const size_t, const size_t,
@@ -110,6 +133,26 @@ template StatusCode PUBLIC_API Rot<double>(const size_t,
const double,
cl_command_queue*, cl_event*);
+// Apply modified givens plane rotation: SROTM/DROTM
+template <typename T>
+StatusCode Rotm(const size_t,
+ cl_mem, const size_t, const size_t,
+ cl_mem, const size_t, const size_t,
+ cl_mem, const size_t,
+ cl_command_queue*, cl_event*) {
+ return StatusCode::kNotImplemented;
+}
+template StatusCode PUBLIC_API Rotm<float>(const size_t,
+ cl_mem, const size_t, const size_t,
+ cl_mem, const size_t, const size_t,
+ cl_mem, const size_t,
+ cl_command_queue*, cl_event*);
+template StatusCode PUBLIC_API Rotm<double>(const size_t,
+ cl_mem, const size_t, const size_t,
+ cl_mem, const size_t, const size_t,
+ cl_mem, const size_t,
+ cl_command_queue*, cl_event*);
+
// Swap two vectors: SSWAP/DSWAP/CSWAP/ZSWAP
template <typename T>
StatusCode Swap(const size_t n,