ViennaCL - The Vienna Computing Library  1.2.0
matrix_kernel_class_deducer.hpp
Go to the documentation of this file.
1 #ifndef VIENNACL_TOOLS_MATRIX_KERNEL_CLASS_DEDUCER_HPP_
2 #define VIENNACL_TOOLS_MATRIX_KERNEL_CLASS_DEDUCER_HPP_
3 
4 /* =========================================================================
5  Copyright (c) 2010-2011, Institute for Microelectronics,
6  Institute for Analysis and Scientific Computing,
7  TU Wien.
8 
9  -----------------
10  ViennaCL - The Vienna Computing Library
11  -----------------
12 
13  Project Head: Karl Rupp rupp@iue.tuwien.ac.at
14 
15  (A list of authors and contributors can be found in the PDF manual)
16 
17  License: MIT (X11), see file LICENSE in the base directory
18 ============================================================================= */
19 
24 #include <string>
25 #include <fstream>
26 #include <sstream>
27 #include "viennacl/forwards.h"
30 
31 #include <vector>
32 #include <map>
33 
34 namespace viennacl
35 {
36  namespace tools
37  {
39  template <typename MatrixType1>
41  {};
42 
43  template <typename SCALARTYPE, unsigned int ALIGNMENT>
44  struct MATRIX_KERNEL_CLASS_DEDUCER< viennacl::matrix<SCALARTYPE, viennacl::row_major, ALIGNMENT> >
45  {
46  typedef viennacl::linalg::kernels::matrix_row<SCALARTYPE, ALIGNMENT> ResultType;
47  };
48 
49  template <typename SCALARTYPE, unsigned int ALIGNMENT>
50  struct MATRIX_KERNEL_CLASS_DEDUCER< viennacl::matrix<SCALARTYPE, viennacl::column_major, ALIGNMENT> >
51  {
52  typedef viennacl::linalg::kernels::matrix_col<SCALARTYPE, ALIGNMENT> ResultType;
53  };
54 
55  //support for matrix range:
56  template <typename T>
58  {
60  };
61 
62 
63  }
64 
65 }
66 
67 #endif