diff options
author | Cedric Nugteren <web@cedricnugteren.nl> | 2016-05-22 16:59:14 +0200 |
---|---|---|
committer | Cedric Nugteren <web@cedricnugteren.nl> | 2016-05-22 16:59:14 +0200 |
commit | 3e9a07f00ad62c9d0e27c385249ed2b510acceff (patch) | |
tree | d82ac3f95170daecccf47fd49b48f458efb3a351 /src/routines/level2 | |
parent | f0cb3fdc81031625370d58da77f7cbe73fc130a7 (diff) |
Added level-2 half-precision routines HGER/HSYR/HSPR/HSYR2/HSPR2
Diffstat (limited to 'src/routines/level2')
-rw-r--r-- | src/routines/level2/xger.cc | 2 | ||||
-rw-r--r-- | src/routines/level2/xher.cc | 3 | ||||
-rw-r--r-- | src/routines/level2/xher2.cc | 2 | ||||
-rw-r--r-- | src/routines/level2/xspr.cc | 1 | ||||
-rw-r--r-- | src/routines/level2/xspr2.cc | 1 | ||||
-rw-r--r-- | src/routines/level2/xsyr.cc | 1 | ||||
-rw-r--r-- | src/routines/level2/xsyr2.cc | 1 |
7 files changed, 11 insertions, 0 deletions
diff --git a/src/routines/level2/xger.cc b/src/routines/level2/xger.cc index 47d7abe2..d1f98990 100644 --- a/src/routines/level2/xger.cc +++ b/src/routines/level2/xger.cc @@ -20,6 +20,7 @@ namespace clblast { // ================================================================================================= // Specific implementations to get the memory-type based on a template argument +template <> const Precision Xger<half>::precision_ = Precision::kHalf; template <> const Precision Xger<float>::precision_ = Precision::kSingle; template <> const Precision Xger<double>::precision_ = Precision::kDouble; template <> const Precision Xger<float2>::precision_ = Precision::kComplexSingle; @@ -104,6 +105,7 @@ StatusCode Xger<T>::DoGer(const Layout layout, // ================================================================================================= // Compiles the templated class +template class Xger<half>; template class Xger<float>; template class Xger<double>; template class Xger<float2>; diff --git a/src/routines/level2/xher.cc b/src/routines/level2/xher.cc index 852e3f15..73e7a47d 100644 --- a/src/routines/level2/xher.cc +++ b/src/routines/level2/xher.cc @@ -19,6 +19,7 @@ namespace clblast { // ================================================================================================= // Specific implementations to get the memory-type based on a template argument +template <> const Precision Xher<half, half>::precision_ = Precision::kHalf; template <> const Precision Xher<float, float>::precision_ = Precision::kSingle; template <> const Precision Xher<double, double>::precision_ = Precision::kDouble; template <> const Precision Xher<float2, float>::precision_ = Precision::kComplexSingle; @@ -43,6 +44,7 @@ template <> float2 Xher<float2,float>::GetAlpha(const float alpha) { return floa template <> double2 Xher<double2,double>::GetAlpha(const double alpha) { return double2{alpha, 0.0}; } template <> float Xher<float,float>::GetAlpha(const float alpha) { return alpha; } template <> double Xher<double,double>::GetAlpha(const double alpha) { return alpha; } +template <> half Xher<half,half>::GetAlpha(const half alpha) { return alpha; } // ================================================================================================= @@ -114,6 +116,7 @@ StatusCode Xher<T,U>::DoHer(const Layout layout, const Triangle triangle, // ================================================================================================= // Compiles the templated class +template class Xher<half, half>; template class Xher<float, float>; template class Xher<double, double>; template class Xher<float2, float>; diff --git a/src/routines/level2/xher2.cc b/src/routines/level2/xher2.cc index 82052187..a73dde52 100644 --- a/src/routines/level2/xher2.cc +++ b/src/routines/level2/xher2.cc @@ -19,6 +19,7 @@ namespace clblast { // ================================================================================================= // Specific implementations to get the memory-type based on a template argument +template <> const Precision Xher2<half>::precision_ = Precision::kHalf; template <> const Precision Xher2<float>::precision_ = Precision::kSingle; template <> const Precision Xher2<double>::precision_ = Precision::kDouble; template <> const Precision Xher2<float2>::precision_ = Precision::kComplexSingle; @@ -106,6 +107,7 @@ StatusCode Xher2<T>::DoHer2(const Layout layout, const Triangle triangle, // ================================================================================================= // Compiles the templated class +template class Xher2<half>; template class Xher2<float>; template class Xher2<double>; template class Xher2<float2>; diff --git a/src/routines/level2/xspr.cc b/src/routines/level2/xspr.cc index 55af2f29..c556b920 100644 --- a/src/routines/level2/xspr.cc +++ b/src/routines/level2/xspr.cc @@ -44,6 +44,7 @@ StatusCode Xspr<T>::DoSpr(const Layout layout, const Triangle triangle, // ================================================================================================= // Compiles the templated class +template class Xspr<half>; template class Xspr<float>; template class Xspr<double>; diff --git a/src/routines/level2/xspr2.cc b/src/routines/level2/xspr2.cc index 9a3f97ce..c4ad5dc4 100644 --- a/src/routines/level2/xspr2.cc +++ b/src/routines/level2/xspr2.cc @@ -46,6 +46,7 @@ StatusCode Xspr2<T>::DoSpr2(const Layout layout, const Triangle triangle, // ================================================================================================= // Compiles the templated class +template class Xspr2<half>; template class Xspr2<float>; template class Xspr2<double>; diff --git a/src/routines/level2/xsyr.cc b/src/routines/level2/xsyr.cc index 4b3928e5..892517d7 100644 --- a/src/routines/level2/xsyr.cc +++ b/src/routines/level2/xsyr.cc @@ -43,6 +43,7 @@ StatusCode Xsyr<T>::DoSyr(const Layout layout, const Triangle triangle, // ================================================================================================= // Compiles the templated class +template class Xsyr<half>; template class Xsyr<float>; template class Xsyr<double>; diff --git a/src/routines/level2/xsyr2.cc b/src/routines/level2/xsyr2.cc index 3ae389e0..e6dfd158 100644 --- a/src/routines/level2/xsyr2.cc +++ b/src/routines/level2/xsyr2.cc @@ -45,6 +45,7 @@ StatusCode Xsyr2<T>::DoSyr2(const Layout layout, const Triangle triangle, // ================================================================================================= // Compiles the templated class +template class Xsyr2<half>; template class Xsyr2<float>; template class Xsyr2<double>; |