[shark] 01/12: moved the non-atlas specific cblas interface to kernels/cblas

Ghislain Vaillant ghisvail-guest at moszumanska.debian.org
Thu Dec 10 19:48:13 UTC 2015


This is an automated email from the git hooks/post-receive script.

ghisvail-guest pushed a commit to branch master
in repository shark.

commit 925f87277b2f555d730cad35e61ffddfc1292b4f
Author: Oswin Krause <oswin.krause at di.ku.dk>
Date:   Mon Nov 9 10:29:31 2015 +0100

    moved the non-atlas specific cblas interface to kernels/cblas
---
 include/shark/LinAlg/BLAS/kernels/atlas/potrf.hpp  |   3 +-
 .../BLAS/kernels/{atlas => cblas}/cblas_inc.hpp    |  32 +---
 .../LinAlg/BLAS/kernels/{atlas => cblas}/dot.hpp   |  16 +-
 .../LinAlg/BLAS/kernels/{atlas => cblas}/gemm.hpp  |  14 +-
 .../LinAlg/BLAS/kernels/{atlas => cblas}/gemv.hpp  |  24 +--
 .../LinAlg/BLAS/kernels/{atlas => cblas}/trmm.hpp  |  16 +-
 .../LinAlg/BLAS/kernels/{atlas => cblas}/trmv.hpp  |  12 +-
 .../LinAlg/BLAS/kernels/{atlas => cblas}/trsm.hpp  |  16 +-
 .../LinAlg/BLAS/kernels/{atlas => cblas}/trsv.hpp  |  12 +-
 include/shark/LinAlg/BLAS/kernels/dot.hpp          |   2 +-
 include/shark/LinAlg/BLAS/kernels/gemm.hpp         |   2 +-
 include/shark/LinAlg/BLAS/kernels/gemv.hpp         |   2 +-
 .../shark/LinAlg/BLAS/kernels/gotoblas/cblas_inc.h |  36 -----
 include/shark/LinAlg/BLAS/kernels/gotoblas/gemm.h  | 164 ---------------------
 include/shark/LinAlg/BLAS/kernels/gotoblas/gemv.h  | 137 -----------------
 include/shark/LinAlg/BLAS/kernels/gotoblas/syrk.h  | 133 -----------------
 include/shark/LinAlg/BLAS/kernels/gotoblas/trsm.h  | 128 ----------------
 include/shark/LinAlg/BLAS/kernels/gotoblas/trsv.h  | 112 --------------
 include/shark/LinAlg/BLAS/kernels/tpmv.hpp         |   2 +-
 include/shark/LinAlg/BLAS/kernels/trmm.hpp         |   4 +-
 include/shark/LinAlg/BLAS/kernels/trmv.hpp         |   2 +-
 include/shark/LinAlg/BLAS/kernels/trsm.hpp         |   2 +-
 include/shark/LinAlg/BLAS/kernels/trsv.hpp         |   2 +-
 23 files changed, 70 insertions(+), 803 deletions(-)

diff --git a/include/shark/LinAlg/BLAS/kernels/atlas/potrf.hpp b/include/shark/LinAlg/BLAS/kernels/atlas/potrf.hpp
index 4175440..524e48b 100644
--- a/include/shark/LinAlg/BLAS/kernels/atlas/potrf.hpp
+++ b/include/shark/LinAlg/BLAS/kernels/atlas/potrf.hpp
@@ -33,7 +33,8 @@
 #ifndef SHARK_LINALG_BLAS_KERNELS_ATLAS_POTRF_H
 #define SHARK_LINALG_BLAS_KERNELS_ATLAS_POTRF_H
 
-#include "cblas_inc.hpp"
+#include "../cblas/cblas_inc.hpp"
+#include <clapack.h>
 
 namespace shark {
 namespace blas {
diff --git a/include/shark/LinAlg/BLAS/kernels/atlas/cblas_inc.hpp b/include/shark/LinAlg/BLAS/kernels/cblas/cblas_inc.hpp
similarity index 76%
rename from include/shark/LinAlg/BLAS/kernels/atlas/cblas_inc.hpp
rename to include/shark/LinAlg/BLAS/kernels/cblas/cblas_inc.hpp
index 5c32d04..3b945e6 100644
--- a/include/shark/LinAlg/BLAS/kernels/atlas/cblas_inc.hpp
+++ b/include/shark/LinAlg/BLAS/kernels/cblas/cblas_inc.hpp
@@ -28,30 +28,6 @@
  *
  */
 
-/*
- *
- * Copyright (c) Kresimir Fresl 2002
- *
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * Author acknowledges the support of the Faculty of Civil Engineering,
- * University of Zagreb, Croatia.
- *
- */
-
-//////////////////////////////////////////////////////////////////////////
-//
-// ATLAS (Automatically Tuned Linear Algebra Software)
-//
-// ''At present, it provides C and Fortran77 interfaces to a portably
-// efficient BLAS implementation, as well as a few routines from LAPACK.''
-//
-// see: http://math-atlas.sourceforge.net/
-//
-//////////////////////////////////////////////////////////////////////////
-
 #ifndef SHARK_LINALG_BLAS_KERNELS_ATLAS_CBLAS_INC_HPP
 #define SHARK_LINALG_BLAS_KERNELS_ATLAS_CBLAS_INC_HPP
 
@@ -93,7 +69,6 @@ extern "C" {
 
 extern "C" {
 #include <cblas.h>
-#include <clapack.h>
 }
 
 #endif
@@ -118,10 +93,11 @@ template<> struct storage_order<column_major> {
 	enum ename { value = CblasColMajor };
 };
 
-}
+}}}
 
-}
-}
+
+typedef void cblas_float_complex_type;
+typedef void cblas_double_complex_type;
 
 
 #endif
diff --git a/include/shark/LinAlg/BLAS/kernels/atlas/dot.hpp b/include/shark/LinAlg/BLAS/kernels/cblas/dot.hpp
similarity index 87%
rename from include/shark/LinAlg/BLAS/kernels/atlas/dot.hpp
rename to include/shark/LinAlg/BLAS/kernels/cblas/dot.hpp
index 0303378..f0bfa12 100644
--- a/include/shark/LinAlg/BLAS/kernels/atlas/dot.hpp
+++ b/include/shark/LinAlg/BLAS/kernels/cblas/dot.hpp
@@ -29,8 +29,8 @@
  *
  */
 //===========================================================================
-#ifndef SHARK_LINALG_BLAS_KERNELS_ATLAS_DOT_HPP
-#define SHARK_LINALG_BLAS_KERNELS_ATLAS_DOT_HPP
+#ifndef SHARK_LINALG_BLAS_KERNELS_CBLAS_DOT_HPP
+#define SHARK_LINALG_BLAS_KERNELS_CBLAS_DOT_HPP
 
 #include "cblas_inc.hpp"
 
@@ -58,9 +58,9 @@ inline void dot(int N,
 	std::complex<float>& result
 ) {
 	cblas_cdotu_sub(N, 
-		static_cast<void const* >(x), strideX, 
-		static_cast<void const* >(y), strideY,
-		static_cast<void*>(&result)
+		static_cast<cblas_float_complex_type const* >(x), strideX, 
+		static_cast<cblas_float_complex_type const* >(y), strideY,
+		static_cast<cblas_float_complex_type*>(&result)
 	);
 }
 
@@ -70,9 +70,9 @@ inline void dot(int N,
 	std::complex<double>& result
 ) {
 	cblas_zdotu_sub(N, 
-		static_cast<void const* >(x), strideX,
-		static_cast<void const* >(y), strideY,
-		static_cast<void*>(&result)
+		static_cast<cblas_double_complex_type const* >(x), strideX,
+		static_cast<cblas_double_complex_type const* >(y), strideY,
+		static_cast<cblas_double_complex_type*>(&result)
 	);
 }
 
diff --git a/include/shark/LinAlg/BLAS/kernels/atlas/gemm.hpp b/include/shark/LinAlg/BLAS/kernels/cblas/gemm.hpp
similarity index 92%
rename from include/shark/LinAlg/BLAS/kernels/atlas/gemm.hpp
rename to include/shark/LinAlg/BLAS/kernels/cblas/gemm.hpp
index 6c5fd2e..a9cf430 100644
--- a/include/shark/LinAlg/BLAS/kernels/atlas/gemm.hpp
+++ b/include/shark/LinAlg/BLAS/kernels/cblas/gemm.hpp
@@ -29,8 +29,8 @@
  *
  */
 //===========================================================================
-#ifndef SHARK_LINALG_BLAS_KERNELS_ATLAS_GEMM_HPP
-#define SHARK_LINALG_BLAS_KERNELS_ATLAS_GEMM_HPP
+#ifndef SHARK_LINALG_BLAS_KERNELS_CBLAS_GEMM_HPP
+#define SHARK_LINALG_BLAS_KERNELS_CBLAS_GEMM_HPP
 
 #include "cblas_inc.hpp"
 
@@ -84,11 +84,11 @@ inline void gemm(
 	cblas_cgemm(
 		Order, TransA, TransB,
 		M, N, K,
-		static_cast<void const *>(&alphaArg),
-		static_cast<void const *>(A), lda,
-		static_cast<void const *>(B), ldb,
-		static_cast<void const *>(&betaArg),
-		static_cast<void *>(C), ldc
+		static_cast<cblas_double_complex_type const *>(&alphaArg),
+		static_cast<cblas_double_complex_type const *>(A), lda,
+		static_cast<cblas_double_complex_type const *>(B), ldb,
+		static_cast<cblas_double_complex_type const *>(&betaArg),
+		static_cast<cblas_double_complex_type *>(C), ldc
 	);
 }
 
diff --git a/include/shark/LinAlg/BLAS/kernels/atlas/gemv.hpp b/include/shark/LinAlg/BLAS/kernels/cblas/gemv.hpp
similarity index 85%
rename from include/shark/LinAlg/BLAS/kernels/atlas/gemv.hpp
rename to include/shark/LinAlg/BLAS/kernels/cblas/gemv.hpp
index 96f6cd3..566a1aa 100644
--- a/include/shark/LinAlg/BLAS/kernels/atlas/gemv.hpp
+++ b/include/shark/LinAlg/BLAS/kernels/cblas/gemv.hpp
@@ -29,8 +29,8 @@
  *
  */
 //===========================================================================
-#ifndef SHARK_LINALG_BLAS_KERNELS_ATLAS_GEMV_HPP
-#define SHARK_LINALG_BLAS_KERNELS_ATLAS_GEMV_HPP
+#ifndef SHARK_LINALG_BLAS_KERNELS_CBLAS_GEMV_HPP
+#define SHARK_LINALG_BLAS_KERNELS_CBLAS_GEMV_HPP
 
 #include "cblas_inc.hpp"
 
@@ -69,11 +69,11 @@ inline void gemv(CBLAS_ORDER const Order,
 	std::complex<float> alphaArg(alpha,0);
 	std::complex<float> betaArg(beta,0);
 	cblas_cgemv(Order, TransA, M, N,
-	        static_cast<void const *>(&alphaArg),
-	        static_cast<void const *>(A), lda,
-	        static_cast<void const *>(X), incX,
-	        static_cast<void const *>(&betaArg),
-	        static_cast<void *>(Y), incY);
+	        static_cast<cblas_float_complex_type const *>(&alphaArg),
+	        static_cast<cblas_float_complex_type const *>(A), lda,
+	        static_cast<cblas_float_complex_type const *>(X), incX,
+	        static_cast<cblas_float_complex_type const *>(&betaArg),
+	        static_cast<cblas_float_complex_type *>(Y), incY);
 }
 
 inline void gemv(CBLAS_ORDER const Order,
@@ -87,11 +87,11 @@ inline void gemv(CBLAS_ORDER const Order,
 	std::complex<double> alphaArg(alpha,0);
 	std::complex<double> betaArg(beta,0);
 	cblas_zgemv(Order, TransA, M, N,
-	        static_cast<void const *>(&alphaArg),
-	        static_cast<void const *>(A), lda,
-	        static_cast<void const *>(X), incX,
-	        static_cast<void const *>(&betaArg),
-	        static_cast<void *>(Y), incY);
+	        static_cast<cblas_double_complex_type const *>(&alphaArg),
+	        static_cast<cblas_double_complex_type const *>(A), lda,
+	        static_cast<cblas_double_complex_type const *>(X), incX,
+	        static_cast<cblas_double_complex_type const *>(&betaArg),
+	        static_cast<cblas_double_complex_type *>(Y), incY);
 }
 
 
diff --git a/include/shark/LinAlg/BLAS/kernels/atlas/trmm.hpp b/include/shark/LinAlg/BLAS/kernels/cblas/trmm.hpp
similarity index 90%
rename from include/shark/LinAlg/BLAS/kernels/atlas/trmm.hpp
rename to include/shark/LinAlg/BLAS/kernels/cblas/trmm.hpp
index 8e8bbda..a9e8d6f 100644
--- a/include/shark/LinAlg/BLAS/kernels/atlas/trmm.hpp
+++ b/include/shark/LinAlg/BLAS/kernels/cblas/trmm.hpp
@@ -29,8 +29,8 @@
  *
  */
 //===========================================================================
-#ifndef SHARK_LINALG_BLAS_KERNELS_ATLAS_TRMM_HPP
-#define SHARK_LINALG_BLAS_KERNELS_ATLAS_TRMM_HPP
+#ifndef SHARK_LINALG_BLAS_KERNELS_CBLAS_TRMM_HPP
+#define SHARK_LINALG_BLAS_KERNELS_CBLAS_TRMM_HPP
 
 #include "cblas_inc.hpp"
 #include "../../matrix_proxy.hpp"
@@ -89,9 +89,9 @@ inline void trmm(
 ) {
 	std::complex<float> alpha = 1.0;
 	cblas_ctrmm(order, side, uplo, transA, unit, M, N, 
-		static_cast<void const *>(&alpha),
-		static_cast<void const *>(A), lda,
-	        static_cast<void *>(B), incB
+		reinterpret_cast<cblas_float_complex_type const *>(&alpha),
+		reinterpret_cast<cblas_float_complex_type const *>(A), lda,
+	        reinterpret_cast<cblas_float_complex_type *>(B), incB
 	);
 }
 
@@ -108,9 +108,9 @@ inline void trmm(
 ) {
 	std::complex<double> alpha = 1.0;
 	cblas_ztrmm(order, side, uplo, transA, unit, M, N, 
-		static_cast<void const *>(&alpha),
-		static_cast<void const *>(A), lda,
-	        static_cast<void *>(B), incB
+		static_cast<cblas_double_complex_type const *>(&alpha),
+		static_cast<cblas_double_complex_type const *>(A), lda,
+	        static_cast<cblas_double_complex_type *>(B), incB
 	);
 }
 
diff --git a/include/shark/LinAlg/BLAS/kernels/atlas/trmv.hpp b/include/shark/LinAlg/BLAS/kernels/cblas/trmv.hpp
similarity index 92%
rename from include/shark/LinAlg/BLAS/kernels/atlas/trmv.hpp
rename to include/shark/LinAlg/BLAS/kernels/cblas/trmv.hpp
index 9a15fea..f385700 100644
--- a/include/shark/LinAlg/BLAS/kernels/atlas/trmv.hpp
+++ b/include/shark/LinAlg/BLAS/kernels/cblas/trmv.hpp
@@ -29,8 +29,8 @@
  *
  */
 //===========================================================================
-#ifndef SHARK_LINALG_BLAS_KERNELS_ATLAS_TRMV_HPP
-#define SHARK_LINALG_BLAS_KERNELS_ATLAS_TRMV_HPP
+#ifndef SHARK_LINALG_BLAS_KERNELS_CBLAS_TRMV_HPP
+#define SHARK_LINALG_BLAS_KERNELS_CBLAS_TRMV_HPP
 
 #include "cblas_inc.hpp"
 #include "../../matrix_proxy.hpp"
@@ -80,8 +80,8 @@ inline void trmv(
         std::complex<float>* X, int const incX
 ) {
 	cblas_ctrmv(Order, uplo, transA, unit, N, 
-		static_cast<void const *>(A), lda,
-	        static_cast<void *>(X), incX
+		static_cast<cblas_float_complex_type const *>(A), lda,
+	        static_cast<cblas_float_complex_type *>(X), incX
 	);
 }
 
@@ -95,8 +95,8 @@ inline void trmv(
         std::complex<double>* X, int const incX
 ) {
 	cblas_ztrmv(Order, uplo, transA, unit, N, 
-		static_cast<void const *>(A), lda,
-	        static_cast<void *>(X), incX
+		static_cast<cblas_double_complex_type const *>(A), lda,
+	        static_cast<cblas_double_complex_type *>(X), incX
 	);
 }
 
diff --git a/include/shark/LinAlg/BLAS/kernels/atlas/trsm.hpp b/include/shark/LinAlg/BLAS/kernels/cblas/trsm.hpp
similarity index 89%
rename from include/shark/LinAlg/BLAS/kernels/atlas/trsm.hpp
rename to include/shark/LinAlg/BLAS/kernels/cblas/trsm.hpp
index 7f4b3f8..d45f25a 100644
--- a/include/shark/LinAlg/BLAS/kernels/atlas/trsm.hpp
+++ b/include/shark/LinAlg/BLAS/kernels/cblas/trsm.hpp
@@ -28,8 +28,8 @@
  *
  */
 
-#ifndef SHARK_LINALG_BLAS_KERNELS_ATLAS_TRSM_HPP
-#define SHARK_LINALG_BLAS_KERNELS_ATLAS_TRSM_HPP
+#ifndef SHARK_LINALG_BLAS_KERNELS_CBLAS_TRSM_HPP
+#define SHARK_LINALG_BLAS_KERNELS_CBLAS_TRSM_HPP
 
 #include "cblas_inc.hpp"
 
@@ -62,9 +62,9 @@ inline void trsm(
 ) {
 	std::complex<float> alpha(1.0,0);
 	cblas_ctrsm(order, side, uplo, transA, unit,n, nRHS,
-		static_cast<void const *>(&alpha),
-	        static_cast<void const *>(A), lda,
-	        static_cast<void *>(B), ldb);
+		static_cast<cblas_float_complex_type const *>(&alpha),
+	        static_cast<cblas_float_complex_type const *>(A), lda,
+	        static_cast<cblas_float_complex_type *>(B), ldb);
 }
 inline void trsm(
 	CBLAS_ORDER order, CBLAS_UPLO uplo,CBLAS_TRANSPOSE transA, 
@@ -74,9 +74,9 @@ inline void trsm(
 ) {
 	std::complex<double> alpha(1.0,0);
 	cblas_ztrsm(order, side, uplo, transA, unit,n, nRHS,
-		static_cast<void const *>(&alpha),
-	        static_cast<void const *>(A), lda,
-	        static_cast<void *>(B), ldb);
+		static_cast<cblas_double_complex_type const *>(&alpha),
+	        static_cast<cblas_double_complex_type const *>(A), lda,
+	        static_cast<cblas_double_complex_type *>(B), ldb);
 }
 
 // trsm(): solves A system of linear equations A * X = B
diff --git a/include/shark/LinAlg/BLAS/kernels/atlas/trsv.hpp b/include/shark/LinAlg/BLAS/kernels/cblas/trsv.hpp
similarity index 90%
rename from include/shark/LinAlg/BLAS/kernels/atlas/trsv.hpp
rename to include/shark/LinAlg/BLAS/kernels/cblas/trsv.hpp
index 51dae71..1af8b4e 100644
--- a/include/shark/LinAlg/BLAS/kernels/atlas/trsv.hpp
+++ b/include/shark/LinAlg/BLAS/kernels/cblas/trsv.hpp
@@ -28,8 +28,8 @@
  *
  */
 
-#ifndef SHARK_LINALG_BLAS_KERNELS_ATLAS_TRSV_HPP
-#define SHARK_LINALG_BLAS_KERNELS_ATLAS_TRSV_HPP
+#ifndef SHARK_LINALG_BLAS_KERNELS_CBLAS_TRSV_HPP
+#define SHARK_LINALG_BLAS_KERNELS_CBLAS_TRSV_HPP
 
 #include "cblas_inc.hpp"
 
@@ -61,8 +61,8 @@ inline void trsv(
 	std::complex<float> const *A, int lda, std::complex<float> *b, int strideX
 ){
 	cblas_ctrsv(order, uplo, transA, unit,n,
-	        static_cast<void const *>(A), lda,
-	        static_cast<void *>(b), strideX);
+	        static_cast<cblas_float_complex_type const *>(A), lda,
+	        static_cast<cblas_float_complex_type *>(b), strideX);
 }
 inline void trsv(
 	CBLAS_ORDER order, CBLAS_UPLO uplo,
@@ -71,8 +71,8 @@ inline void trsv(
 	std::complex<double> const *A, int lda, std::complex<double> *b, int strideX
 ){
 	cblas_ztrsv(order, uplo, transA, unit,n,
-	        static_cast<void const *>(A), lda,
-	        static_cast<void *>(b), strideX);
+	        static_cast<cblas_double_complex_type const *>(A), lda,
+	        static_cast<cblas_double_complex_type *>(b), strideX);
 }
 
 // trsv(): solves A system of linear equations A * x = b
diff --git a/include/shark/LinAlg/BLAS/kernels/dot.hpp b/include/shark/LinAlg/BLAS/kernels/dot.hpp
index 10970b6..b2f05ed 100644
--- a/include/shark/LinAlg/BLAS/kernels/dot.hpp
+++ b/include/shark/LinAlg/BLAS/kernels/dot.hpp
@@ -33,7 +33,7 @@
 #include "default/dot.hpp"
 
 #ifdef SHARK_USE_CBLAS
-#include "atlas/dot.hpp"
+#include "cblas/dot.hpp"
 #else
 // if no bindings are included, we have to provide the default has_optimized_dot
 // otherwise the binding will take care of this
diff --git a/include/shark/LinAlg/BLAS/kernels/gemm.hpp b/include/shark/LinAlg/BLAS/kernels/gemm.hpp
index 2514310..1ab58b3 100644
--- a/include/shark/LinAlg/BLAS/kernels/gemm.hpp
+++ b/include/shark/LinAlg/BLAS/kernels/gemm.hpp
@@ -34,7 +34,7 @@
 #include "default/gemm.hpp"
 
 #ifdef SHARK_USE_CBLAS
-#include "atlas/gemm.hpp"
+#include "cblas/gemm.hpp"
 #else
 //if no bindings are included, we have to provide the default has_optimized_gemm otherwise the binding will take care of this
 namespace shark { namespace blas { namespace bindings{
diff --git a/include/shark/LinAlg/BLAS/kernels/gemv.hpp b/include/shark/LinAlg/BLAS/kernels/gemv.hpp
index eb4ea09..ea5e055 100644
--- a/include/shark/LinAlg/BLAS/kernels/gemv.hpp
+++ b/include/shark/LinAlg/BLAS/kernels/gemv.hpp
@@ -33,7 +33,7 @@
 #include "default/gemv.hpp"
 
 #ifdef SHARK_USE_CBLAS
-#include "atlas/gemv.hpp"
+#include "cblas/gemv.hpp"
 #else
 // if no bindings are included, we have to provide the default has_optimized_gemv 
 // otherwise the binding will take care of this
diff --git a/include/shark/LinAlg/BLAS/kernels/gotoblas/cblas_inc.h b/include/shark/LinAlg/BLAS/kernels/gotoblas/cblas_inc.h
deleted file mode 100644
index 5b1c601..0000000
--- a/include/shark/LinAlg/BLAS/kernels/gotoblas/cblas_inc.h
+++ /dev/null
@@ -1,36 +0,0 @@
-#ifndef SHARK_LINALG_BLAS_KERNELS_GOTOBLAS_CBLAS_INC_H
-#define SHARK_LINALG_BLAS_KERNELS_GOTOBLAS_CBLAS_INC_H
-
-extern "C" {
-#include <common.h>
-#include <cblas.h>
-}
-#include <complex>
-#include <shark/LinAlg/BLAS/traits/matrix_raw.hpp>
-#include <shark/LinAlg/BLAS/traits/vector_raw.hpp>
-#include <shark/Core/Exception.h>
-
-namespace shark{ namespace detail{ namespace bindings {
-
-template <typename Ord> struct storage_order {};
-template<> struct storage_order<blas::row_major> {
-	enum ename { value = CblasRowMajor };
-};
-template<> struct storage_order<blas::column_major> {
-	enum ename { value = CblasColMajor };
-};
-
-
-template <typename UpLo> struct uplo_triang {};
-template<> struct uplo_triang<blas::upper_tag> {
-	enum ename { value = CblasUpper };
-};
-template<> struct uplo_triang<blas::lower_tag> {
-	enum ename { value = CblasLower };
-};
-
-}}}
-
-
-
-#endif
diff --git a/include/shark/LinAlg/BLAS/kernels/gotoblas/gemm.h b/include/shark/LinAlg/BLAS/kernels/gotoblas/gemm.h
deleted file mode 100644
index 6bb9dc1..0000000
--- a/include/shark/LinAlg/BLAS/kernels/gotoblas/gemm.h
+++ /dev/null
@@ -1,164 +0,0 @@
-/*!
- * 
- *
- * \brief       -
- *
- * \author      O. Krause
- * \date        2010
- *
- *
- * \par Copyright 1995-2015 Shark Development Team
- * 
- * <BR><HR>
- * This file is part of Shark.
- * <http://image.diku.dk/shark/>
- * 
- * Shark is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published 
- * by the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- * 
- * Shark is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
- * 
- * You should have received a copy of the GNU Lesser General Public License
- * along with Shark.  If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-#ifndef SHARK_LINALG_BLAS_KERNELS_GOTOBLAS_GEMM_HPP
-#define SHARK_LINALG_BLAS_KERNELS_GOTOBLAS_GEMM_HPP
-
-#include "cblas_inc.h"
-
-
-namespace shark { namespace detail { namespace bindings {
-
-inline void gemm(CBLAS_ORDER const Order,
-	CBLAS_TRANSPOSE TransA, CBLAS_TRANSPOSE TransB,
-	int M, int N, int K,
-	float alpha, float const *A, int lda,
-	float const *B, int ldb,
-	float beta, float *C, int ldc
-){
-	cblas_sgemm(
-		Order, TransA, TransB, M, N, K,
-		alpha, 
-		const_cast<float*>(A), lda,
-		const_cast<float*>(B), ldb,
-		beta, C, ldc
-	);
-}
-
-inline void gemm(CBLAS_ORDER const Order,
-	CBLAS_TRANSPOSE TransA, CBLAS_TRANSPOSE TransB,
-	int M, int N, int K,
-	double alpha, double const *A, int lda,
-	double const *B, int ldb,
-	double beta, double *C, int ldc
-){
-	cblas_dgemm(
-		Order, TransA, TransB, M, N, K,
-		alpha, 
-		const_cast<double*>(A), lda,
-		const_cast<double*>(B), ldb,
-		beta, 
-		C, ldc
-	);
-}
-
-inline void gemm(CBLAS_ORDER const Order,
-	CBLAS_TRANSPOSE TransA, CBLAS_TRANSPOSE TransB,
-	int M, int N, int K,
-	float alpha,
-	std::complex<float> const *A, int lda,
-	std::complex<float> const *B, int ldb,
-	float beta,
-	std::complex<float>* C, int ldc
-) {
-	std::complex<float> alphaArg(alpha,0);
-	std::complex<float> betaArg(beta,0);
-	cblas_cgemm(
-		Order, TransA, TransB, M, N, K,
-		(float*)(&alphaArg),
-		(float*)A, lda,
-		(float*)B, ldb,
-		(float*)(&betaArg),
-		(float*)C, ldc
-	);
-}
-
-inline void gemm(CBLAS_ORDER const Order,
-	CBLAS_TRANSPOSE TransA, CBLAS_TRANSPOSE TransB,
-	int M, int N, int K,
-	double alpha,
-	std::complex<double> const *A, int lda,
-	std::complex<double> const *B, int ldb,
-	double beta,
-	std::complex<double>* C, int ldc
-) {
-	std::complex<double> alphaArg(alpha,0);
-	std::complex<double> betaArg(beta,0);
-	cblas_zgemm(
-		Order, TransA, TransB, M, N, K,
-		(double*)(&alphaArg),
-		(double*)(A), lda,
-		(double*)(B), ldb,
-		(double*)(&betaArg),
-		(double*)(C), ldc
-	);
-}
-
-// C <- alpha * op (A) * op (B) + beta * C
-// op (A) == A || A^T || A^H
-template <typename T, typename MatrA, typename MatrB, typename MatrC>
-void gemm(CBLAS_TRANSPOSE TransA, CBLAS_TRANSPOSE TransB,
-	T const &alpha, blas::matrix_expression<MatrA> const &a, blas::matrix_expression<MatrB> const &b,
-	T const &beta, blas::matrix_expression<MatrC>& c
-) {
-	std::size_t m,n,k;
-	if ((TransA == CblasNoTrans) != traits::isTransposed(a)) {
-		m = a().size1();
-		k = a().size2();
-	} else {
-		m = a().size2();
-		k = a().size1();
-	}
-	
-	if ((TransB== CblasNoTrans)  != traits::isTransposed(b)) {
-		n = b().size2();
-		SIZE_CHECK(k == b().size1());
-	} else {
-		n = b().size1();
-		SIZE_CHECK(k == b().size2());
-	}
-	SIZE_CHECK(m ==  c().size1());
-	SIZE_CHECK(n ==  c().size2());
-	CBLAS_ORDER stor_ord
-		= (CBLAS_ORDER) storage_order<typename MatrC::orientation >::value;
-
-	gemm(stor_ord, TransA, TransB, (int)m, (int)n, (int)k, alpha,
-		traits::matrix_storage(a()),
-		traits::leadingDimension(a()),
-		traits::matrix_storage(b()),
-		traits::leadingDimension(b()),
-		beta,
-		traits::matrix_storage(c()),
-		traits::leadingDimension(c()));
-}
-// C <- alpha * op (A) * op (B) + beta * C
-// op (A) == A || A^T || A^H
-template <typename T, typename MatrA, typename MatrB, typename MatrC>
-void gemm(T const &alpha, blas::matrix_expression<MatrA> const &a, blas::matrix_expression<MatrB> const &b,
-	T const &beta, blas::matrix_expression<MatrC>& c
-) {
-	CBLAS_TRANSPOSE transposeA = traits::isTransposed(a)?CblasTrans:CblasNoTrans;
-	CBLAS_TRANSPOSE transposeB = traits::isTransposed(b)?CblasTrans:CblasNoTrans;
-	gemm(transposeA,transposeB,alpha,a,b,beta,c);
-}
-
-}}}
-
-#endif
diff --git a/include/shark/LinAlg/BLAS/kernels/gotoblas/gemv.h b/include/shark/LinAlg/BLAS/kernels/gotoblas/gemv.h
deleted file mode 100644
index 17b143e..0000000
--- a/include/shark/LinAlg/BLAS/kernels/gotoblas/gemv.h
+++ /dev/null
@@ -1,137 +0,0 @@
-/*!
- * 
- *
- * \brief       -
- *
- * \author      O. Krause
- * \date        2012
- *
- *
- * \par Copyright 1995-2015 Shark Development Team
- * 
- * <BR><HR>
- * This file is part of Shark.
- * <http://image.diku.dk/shark/>
- * 
- * Shark is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published 
- * by the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- * 
- * Shark is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
- * 
- * You should have received a copy of the GNU Lesser General Public License
- * along with Shark.  If not, see <http://www.gnu.org/licenses/>.
- *
- */
-#ifndef SHARK_LINALG_BLAS_KERNELS_GOTOBLAS_GEMV_H
-#define SHARK_LINALG_BLAS_KERNELS_GOTOBLAS_GEMV_H
-
-#include "cblas_inc.h"
-
-namespace shark {namespace detail {namespace bindings {
-
-inline void gemv(CBLAS_ORDER const Order,
-        CBLAS_TRANSPOSE const TransA, int const M, int const N,
-        double alpha, float const *A, int const lda,
-        float const *X, int const incX,
-        double beta, float *Y, int const incY
-) {
-	cblas_sgemv(Order, TransA, M, N, alpha, 
-			const_cast<float*>(A), lda,
-	        const_cast<float*>(X), incX,
-	        beta, 
-	        const_cast<float*>(Y), incY);
-}
-
-inline void gemv(CBLAS_ORDER const Order,
-        CBLAS_TRANSPOSE const TransA, int const M, int const N,
-        double alpha, double const *A, int const lda,
-        double const *X, int const incX,
-        double beta, double *Y, int const incY
-) {
-	cblas_dgemv(Order, TransA, M, N, alpha, 
-			const_cast<double*>(A), lda,
-	        const_cast<double*>(X), incX,
-	        beta, const_cast<double*>(Y), incY);
-}
-
-inline void gemv(CBLAS_ORDER const Order,
-        CBLAS_TRANSPOSE const TransA, int const M, int const N,
-        double alpha,
-        std::complex<float> const *A, int const lda,
-        std::complex<float> const *X, int const incX,
-        double beta,
-        std::complex<float> *Y, int const incY
-) {
-	std::complex<float> alphaArg(alpha,0);
-	std::complex<float> betaArg(beta,0);
-	cblas_cgemv(Order, TransA, M, N,
-	        (float*)(&alphaArg),
-	        (float*)(A), lda,
-	        (float*)(X), incX,
-	        (float*)(&betaArg),
-	        (float*)(Y), incY);
-}
-
-inline void gemv(CBLAS_ORDER const Order,
-        CBLAS_TRANSPOSE const TransA, int const M, int const N,
-         double alpha,
-        std::complex<double> const *A, int const lda,
-        std::complex<double> const *X, int const incX,
-        double beta,
-        std::complex<double> *Y, int const incY
-) {
-	std::complex<double> alphaArg(alpha,0);
-	std::complex<double> betaArg(beta,0);
-	cblas_zgemv(Order, TransA, M, N,
-	        (double*)(&alphaArg),
-	        (double*)(A), lda,
-	        (double*)(X), incX,
-	        (double*)(&betaArg),
-	        (double*)(Y), incY);
-}
-
-// y <- alpha * op (A) * x + beta * y
-// op (A) == A || A^T || A^H
-template <typename Matr, typename VctX, typename VctY>
-inline void gemv(CBLAS_TRANSPOSE const TransA,
-        double alpha, blas::matrix_expression<Matr> const &a, blas::vector_expression<VctX> const &x,
-        double beta, blas::vector_expression<VctY> &y
-) {
-	std::size_t m = a().size1();
-	std::size_t n = a().size2();
-	
-	SIZE_CHECK(x().size() == (TransA == CblasNoTrans ? n : m));
-	SIZE_CHECK(y().size() == (TransA == CblasNoTrans ? m : n));
-
-	CBLAS_ORDER const stor_ord
-	    = (CBLAS_ORDER)storage_order<typename traits::Orientation<Matr>::type>::value;
-	
-	gemv(stor_ord, TransA, (int)m, (int)n, alpha,
-	        traits::matrix_storage(a()),
-			traits::matrix_stride1(a()),
-	        traits::vector_storage(x()),
-	        traits::vector_stride(x()),
-	        beta,
-	        traits::vector_storage(y()),
-	        traits::vector_stride(y()));
-}
-
-// y <- alpha * op (A) * x + beta * y
-// op (A) == A || A^T || A^H
-template <typename T, typename MatrA, typename VectorX, typename VectorY>
-void gemv(T alpha, blas::matrix_expression<MatrA> const &matA, blas::vector_expression<VectorX> const &vecX,
-        T beta, blas::vector_expression<VectorY> &vecY
-){
-	if(traits::isTransposed(matA))
-		gemv(CblasTrans,alpha,trans(matA),vecX,beta,vecY);
-	else
-		gemv(CblasNoTrans,alpha,matA,vecX,beta,vecY);
-}
-
-}}}
-#endif
diff --git a/include/shark/LinAlg/BLAS/kernels/gotoblas/syrk.h b/include/shark/LinAlg/BLAS/kernels/gotoblas/syrk.h
deleted file mode 100644
index 6f37180..0000000
--- a/include/shark/LinAlg/BLAS/kernels/gotoblas/syrk.h
+++ /dev/null
@@ -1,133 +0,0 @@
-/*!
- * 
- *
- * \brief       -
- *
- * \author      O. Krause
- * \date        2012
- *
- *
- * \par Copyright 1995-2015 Shark Development Team
- * 
- * <BR><HR>
- * This file is part of Shark.
- * <http://image.diku.dk/shark/>
- * 
- * Shark is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published 
- * by the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- * 
- * Shark is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
- * 
- * You should have received a copy of the GNU Lesser General Public License
- * along with Shark.  If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-#ifndef SHARK_LINALG_BLAS_KERNELS_GOTOBLAS_SYRK_H
-#define SHARK_LINALG_BLAS_KERNELS_GOTOBLAS_SYRK_H
-
-#include "cblas_inc.h"
-
-namespace shark {namespace detail {namespace bindings {
-// C <- alpha * A * A^T + beta * C
-// C <- alpha * A^T * A + beta * C
-
-inline void syrk(
-	CBLAS_ORDER const Order, CBLAS_UPLO const Uplo,
-	 CBLAS_TRANSPOSE const Trans, int const N, int const K,
-	 float const alpha, float const *A, int const lda,
-	 float const beta, float *C, int const ldc
-) {
-	cblas_ssyrk(Order, Uplo, Trans, N, K, alpha, const_cast<float*>(A), lda, beta, C, ldc);
-}
-
-inline void syrk(
-	CBLAS_ORDER const Order, CBLAS_UPLO const Uplo,
-	 CBLAS_TRANSPOSE const Trans, int const N, int const K,
-	 double const alpha, double const *A, int const lda,
-	 double const beta, double *C, int const ldc
-) {
-	cblas_dsyrk(Order, Uplo, Trans, N, K, alpha, const_cast<double*>(A), lda, beta, C, ldc);
-}
-
-inline void syrk(
-	CBLAS_ORDER const Order, CBLAS_UPLO const Uplo,
-	 CBLAS_TRANSPOSE const Trans, int const N, int const K,
-	 std::complex<float> const &alpha,
-	 std::complex<float> const *A, int const lda,
-	 std::complex<float> const &beta,
-	 std::complex<float> *C, int const ldc
-) {
-	cblas_csyrk(Order, Uplo, Trans, N, K,
-		 (float*)(&alpha),
-		 (float*)(A), lda,
-		 (float*)(&beta),
-		 (float*)(C), ldc);
-}
-
-inline void syrk(
-	CBLAS_ORDER const Order, CBLAS_UPLO const Uplo,
-	 CBLAS_TRANSPOSE const Trans, int const N, int const K,
-	 std::complex<double> const &alpha,
-	 std::complex<double> const *A, int const lda,
-	 std::complex<double> const &beta,
-	 std::complex<double> *C, int const ldc
-) {
-	cblas_zsyrk(Order, Uplo, Trans, N, K,
-		 (double*)(&alpha),
-		 (double*)(A), lda,
-		 (double*)(&beta),
-		 (double*)(C), ldc);
-}
-
-template <typename T, typename MatrA, typename SymmC>
-inline void syrk (
-	CBLAS_UPLO const uplo, CBLAS_TRANSPOSE trans, 
-	T const& alpha, blas::matrix_expression<MatrA> const& a, 
-	T const& beta, blas::matrix_expression<SymmC>& c
-){
-
-	std::size_t const n = c().size1();
-	SIZE_CHECK (n == c().size2()); 
-	 
-	std::size_t k = 0;
-	if( trans == CblasNoTrans ){
-		k = a().size2();
-		SIZE_CHECK(n == a().size1());
-	}
-	else{
-		k = a().size1();
-		SIZE_CHECK(n == a().size2());
-	}
-
-	 CBLAS_ORDER const stor_ord
-		= (CBLAS_ORDER)storage_order<typename MatrA::orientation>::value;
-
-	 syrk (stor_ord, uplo, trans, 
-		(int)n, (int)k, alpha, 
-		traits::matrix_storage (a()), 
-		traits::leadingDimension (a()),
-		beta, 
-		traits::matrix_storage (c()), 
-		traits::leadingDimension (c())
-	); 
-}
-template <bool upper,typename T, typename MatrA, typename SymmC>
-inline void syrk (
-	T const& alpha, blas::matrix_expression<MatrA> const& matA, 
-	T const& beta, blas::matrix_expression<SymmC>& matC
-){
-	if(traits::isTransposed(matA))
-		syrk(upper?CblasLower:CblasUpper,CblasTrans,alpha,trans(matA),beta,matC);
-	else
-		syrk(upper?CblasLower:CblasUpper,CblasNoTrans,alpha,matA,beta,matC);
-}
-
-}}}
-
-#endif
diff --git a/include/shark/LinAlg/BLAS/kernels/gotoblas/trsm.h b/include/shark/LinAlg/BLAS/kernels/gotoblas/trsm.h
deleted file mode 100644
index 5e4ddde..0000000
--- a/include/shark/LinAlg/BLAS/kernels/gotoblas/trsm.h
+++ /dev/null
@@ -1,128 +0,0 @@
-/*!
- * 
- *
- * \brief       -
- *
- * \author      O. Krause
- * \date        2012
- *
- *
- * \par Copyright 1995-2015 Shark Development Team
- * 
- * <BR><HR>
- * This file is part of Shark.
- * <http://image.diku.dk/shark/>
- * 
- * Shark is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published 
- * by the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- * 
- * Shark is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
- * 
- * You should have received a copy of the GNU Lesser General Public License
- * along with Shark.  If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-#ifndef SHARK_LINALG_BLAS_KERNELS_GOTOBLAS_TRSM_H
-#define SHARK_LINALG_BLAS_KERNELS_GOTOBLAS_TRSM_H
-
-#include "cblas_inc.h"
-
-///solves systems of triangular matrices
-
-namespace shark {namespace detail {namespace bindings {
-inline void trsm(
-	CBLAS_ORDER order, CBLAS_UPLO uplo,CBLAS_TRANSPOSE transA, 
-	CBLAS_SIDE side, CBLAS_DIAG unit,
-	int n, int nRHS,
-	float const *matA, int lda, float *matB, int ldb
-) {
-	cblas_strsm(order, side, uplo, transA, unit,n, nRHS, 1.0, 
-		const_cast<float*>(matA), lda, 
-		matB, ldb
-	);
-}
-
-inline void trsm(
-	CBLAS_ORDER order, CBLAS_UPLO uplo,CBLAS_TRANSPOSE transA, 
-	CBLAS_SIDE side, CBLAS_DIAG unit,
-	int n, int nRHS,
-	double const *matA, int lda, double *matB, int ldb
-) {
-	cblas_dtrsm(order, side, uplo, transA, unit,n, nRHS, 1.0, 
-		const_cast<double*>(matA), lda, 
-		matB, ldb
-	);
-}
-
-inline void trsm(
-	CBLAS_ORDER order, CBLAS_UPLO uplo,CBLAS_TRANSPOSE transA, 
-	CBLAS_SIDE side, CBLAS_DIAG unit,
-	int n, int nRHS,
-	std::complex<float> const *matA, int lda, 
-	std::complex<float> *matB, int ldb
-) {
-	std::complex<float> alpha(1.0,0);
-	cblas_ctrsm(order, side, uplo, transA, unit,n, nRHS,
-		(float*)(&alpha),
-		(float*)(matA), lda,
-		(float*)(matB), ldb);
-}
-inline void trsm(
-	CBLAS_ORDER order, CBLAS_UPLO uplo,CBLAS_TRANSPOSE transA, 
-	CBLAS_SIDE side, CBLAS_DIAG unit,
-	int n, int nRHS,
-	std::complex<double> const *matA, int lda, 
-	std::complex<double> *matB, int ldb
-) {
-	std::complex<double> alpha(1.0,0);
-	cblas_ztrsm(order, side, uplo, transA, unit,n, nRHS,
-		(double*)(&alpha),
-		(double*)(matA), lda,
-		(double*)(matB), ldb);
-}
-
-
-// trsm(): solves matA system of linear equations matA * X = matB
-//             when matA is matA triangular matrix
-template <typename SymmA, typename MatrB>
-void trsm(
-	CBLAS_UPLO uplo, CBLAS_TRANSPOSE transA,
-	CBLAS_SIDE side, CBLAS_DIAG unit,
-	blas::matrix_expression<SymmA> const &matA, 
-	blas::matrix_expression<MatrB> &matB
-){
-	CBLAS_ORDER const storOrd = (CBLAS_ORDER)storage_order<typename SymmA::orientation>::value;
-
-	SIZE_CHECK(matA().size1() == matA().size2());
-
-	int m = matB().size1();
-	int nrhs = matB().size2();
-	
-	trsm(storOrd, uplo, transA, side,unit, m, nrhs,
-		traits::matrix_storage(matA()),
-		traits::leadingDimension(matA()),
-		traits::matrix_storage(matB()),
-		traits::leadingDimension(matB())
-	);
-}
-template <bool upper, bool left, bool unit,typename SymmA, typename MatrB>
-void trsm(
-	blas::matrix_expression<SymmA> const &matA,
-	blas::matrix_expression<MatrB> &matB
-){
-	CBLAS_DIAG cblasUnit = unit?CblasUnit:CblasNonUnit;
-	CBLAS_SIDE cblasLeft = left?CblasLeft:CblasRight;
-	if(traits::isTransposed(matA))
-		trsm(upper?CblasLower:CblasUpper,CblasTrans,cblasLeft,cblasUnit,trans(matA),matB);
-	else
-		trsm(upper?CblasUpper:CblasLower,CblasNoTrans,cblasLeft,cblasUnit,matA,matB);
-}
-
-}}}
-#endif
diff --git a/include/shark/LinAlg/BLAS/kernels/gotoblas/trsv.h b/include/shark/LinAlg/BLAS/kernels/gotoblas/trsv.h
deleted file mode 100644
index 68426c5..0000000
--- a/include/shark/LinAlg/BLAS/kernels/gotoblas/trsv.h
+++ /dev/null
@@ -1,112 +0,0 @@
-/*!
- * 
- *
- * \brief       -
- *
- * \author      O. Krause
- * \date        2011
- *
- *
- * \par Copyright 1995-2015 Shark Development Team
- * 
- * <BR><HR>
- * This file is part of Shark.
- * <http://image.diku.dk/shark/>
- * 
- * Shark is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published 
- * by the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- * 
- * Shark is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
- * 
- * You should have received a copy of the GNU Lesser General Public License
- * along with Shark.  If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-#ifndef SHARK_LINALG_BLAS_KERNELS_GOTOBLAS_TRSV_H
-#define SHARK_LINALG_BLAS_KERNELS_GOTOBLAS_TRSV_H
-
-#include "cblas_inc.h"
-
-///solves systems of triangular matrices
-
-namespace shark {namespace detail {namespace bindings {
-inline void trsv(
-	CBLAS_ORDER order, CBLAS_UPLO uplo,
-	CBLAS_TRANSPOSE transA, CBLAS_DIAG unit,
-	int n,
-	float const *matA, int lda, float *vecB, int strideB
-){
-	cblas_strsv(order, uplo, transA, unit,n, const_cast<float*>(matA), lda, vecB, strideB);
-}
-
-inline void trsv(
-	CBLAS_ORDER order, CBLAS_UPLO uplo,
-	CBLAS_TRANSPOSE transA, CBLAS_DIAG unit,
-	int n,
-	double const *matA, int lda, double *vecB, int strideB
-){
-	cblas_dtrsv(order, uplo, transA, unit,n, const_cast<double*>(matA), lda, vecB, strideB);
-}
-
-inline void trsv(
-	CBLAS_ORDER order, CBLAS_UPLO uplo,
-	CBLAS_TRANSPOSE transA, CBLAS_DIAG unit,
-	int n,
-	std::complex<float> const *matA, int lda, std::complex<float> *vecB, int strideB
-){
-	cblas_ctrsv(order, uplo, transA, unit,n,
-	        (float*)(matA), lda,
-	        (float*)(vecB), strideB);
-}
-inline void trsv(
-	CBLAS_ORDER order, CBLAS_UPLO uplo,
-	CBLAS_TRANSPOSE transA, CBLAS_DIAG unit,
-	int n,
-	std::complex<double> const *matA, int lda, std::complex<double> *vecB, int strideB
-){
-	cblas_ztrsv(order, uplo, transA, unit,n,
-	        (double*)(matA), lda,
-	        (double*)(vecB), strideB);
-}
-// trsv(): solves matA system of linear equations matA * x = b
-//             when matA is matA triangular matrix.
-template <typename SymmA, typename VecB>
-void trsv(
-	CBLAS_UPLO uplo, CBLAS_TRANSPOSE transA, CBLAS_DIAG unit,
-	blas::matrix_expression<SymmA> const &matA, 
-	blas::vector_expression<VecB> &vecB
-){
-	CBLAS_ORDER const storOrd= (CBLAS_ORDER)storage_order<typename SymmA::orientation>::value;
-
-	SIZE_CHECK(matA().size1() == matA().size2());
-	SIZE_CHECK(matA().size1()== vecB().size());
-
-	int const n = matA().size1();
-
-	trsv(storOrd, uplo, transA,unit, n,
-	        traits::matrix_storage(matA()),
-	        traits::leadingDimension(matA()),
-	        traits::vector_storage(vecB()),
-	        traits::vector_stride(vecB()));
-}
-
-template <bool upper,bool unit,typename SymmA, typename VecB>
-void trsv(
-	blas::matrix_expression<SymmA> const &matA, 
-	blas::vector_expression<VecB> &vecB
-){
-	CBLAS_DIAG cblasUnit = unit?CblasUnit:CblasNonUnit;
-	if(traits::isTransposed(matA))
-		trsv(upper?CblasLower:CblasUpper,CblasTrans,cblasUnit, trans(matA),vecB);
-	else
-		trsv(upper?CblasUpper:CblasLower,CblasNoTrans,cblasUnit, matA,vecB);
-}
-
-}}}
-#endif
diff --git a/include/shark/LinAlg/BLAS/kernels/tpmv.hpp b/include/shark/LinAlg/BLAS/kernels/tpmv.hpp
index a33e4a0..1fb2e79 100644
--- a/include/shark/LinAlg/BLAS/kernels/tpmv.hpp
+++ b/include/shark/LinAlg/BLAS/kernels/tpmv.hpp
@@ -32,7 +32,7 @@
 #define SHARK_LINALG_BLAS_KERNELS_TPMV_HPP
 
 #ifdef SHARK_USE_CBLAS
-#include "atlas/tpmv.hpp"
+#include "cblas/tpmv.hpp"
 #else
 // if no bindings are included, we have to provide the default has_optimized_gemv 
 // otherwise the binding will take care of this
diff --git a/include/shark/LinAlg/BLAS/kernels/trmm.hpp b/include/shark/LinAlg/BLAS/kernels/trmm.hpp
index 44e4ed9..6249af4 100644
--- a/include/shark/LinAlg/BLAS/kernels/trmm.hpp
+++ b/include/shark/LinAlg/BLAS/kernels/trmm.hpp
@@ -7,7 +7,7 @@
  * \date        2012
  *
  *
- * \par Copyright 1995-2014 Shark Development Team
+ * \par Copyright 1995-2014 Shark Developcbment Team
  * 
  * <BR><HR>
  * This file is part of Shark.
@@ -32,7 +32,7 @@
 #define SHARK_LINALG_BLAS_KERNELS_TRMM_HPP
 
 #ifdef SHARK_USE_CBLAS
-#include "atlas/trmm.hpp"
+#include "cblas/trmm.hpp"
 #else
 // if no bindings are included, we have to provide the default has_optimized_gemv 
 // otherwise the binding will take care of this
diff --git a/include/shark/LinAlg/BLAS/kernels/trmv.hpp b/include/shark/LinAlg/BLAS/kernels/trmv.hpp
index f5a75ba..c2b58fb 100644
--- a/include/shark/LinAlg/BLAS/kernels/trmv.hpp
+++ b/include/shark/LinAlg/BLAS/kernels/trmv.hpp
@@ -32,7 +32,7 @@
 #define SHARK_LINALG_BLAS_KERNELS_TRMV_HPP
 
 #ifdef SHARK_USE_CBLAS
-#include "atlas/trmv.hpp"
+#include "cblas/trmv.hpp"
 #else
 // if no bindings are included, we have to provide the default has_optimized_gemv 
 // otherwise the binding will take care of this
diff --git a/include/shark/LinAlg/BLAS/kernels/trsm.hpp b/include/shark/LinAlg/BLAS/kernels/trsm.hpp
index 317534c..b61b23d 100644
--- a/include/shark/LinAlg/BLAS/kernels/trsm.hpp
+++ b/include/shark/LinAlg/BLAS/kernels/trsm.hpp
@@ -32,7 +32,7 @@
 #define SHARK_LINALG_BLAS_KERNELS_TRSM_HPP
 
 #ifdef SHARK_USE_CBLAS
-#include "atlas/trsm.hpp"
+#include "cblas/trsm.hpp"
 #else
 // if no bindings are included, we have to provide the default has_optimized_gemv 
 // otherwise the binding will take care of this
diff --git a/include/shark/LinAlg/BLAS/kernels/trsv.hpp b/include/shark/LinAlg/BLAS/kernels/trsv.hpp
index d413459..829f296 100644
--- a/include/shark/LinAlg/BLAS/kernels/trsv.hpp
+++ b/include/shark/LinAlg/BLAS/kernels/trsv.hpp
@@ -32,7 +32,7 @@
 #define SHARK_LINALG_BLAS_KERNELS_TRSV_HPP
 
 #ifdef SHARK_USE_CBLAS
-#include "atlas/trsv.hpp"
+#include "cblas/trsv.hpp"
 #else
 // if no bindings are included, we have to provide the default has_optimized_gemv 
 // otherwise the binding will take care of this

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/shark.git



More information about the debian-science-commits mailing list