Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef _VIENNACL_TOOLS_MATRIX_KERNEL_CLASS_DEDUCER_HPP_
00016 #define _VIENNACL_TOOLS_MATRIX_KERNEL_CLASS_DEDUCER_HPP_
00017
00022 #include <string>
00023 #include <fstream>
00024 #include <sstream>
00025 #include "viennacl/forwards.h"
00026 #include "viennacl/linalg/kernels/matrix_col_kernels.h"
00027 #include "viennacl/linalg/kernels/matrix_row_kernels.h"
00028
00029 #include <vector>
00030 #include <map>
00031
00032 namespace viennacl
00033 {
00034 namespace tools
00035 {
00037 template <typename MatrixType1>
00038 struct MATRIX_KERNEL_CLASS_DEDUCER
00039 {};
00040
00041 template <typename SCALARTYPE, unsigned int ALIGNMENT>
00042 struct MATRIX_KERNEL_CLASS_DEDUCER< viennacl::matrix<SCALARTYPE, viennacl::row_major, ALIGNMENT> >
00043 {
00044 typedef viennacl::linalg::kernels::matrix_row<SCALARTYPE, ALIGNMENT> ResultType;
00045 };
00046
00047 template <typename SCALARTYPE, unsigned int ALIGNMENT>
00048 struct MATRIX_KERNEL_CLASS_DEDUCER< viennacl::matrix<SCALARTYPE, viennacl::column_major, ALIGNMENT> >
00049 {
00050 typedef viennacl::linalg::kernels::matrix_col<SCALARTYPE, ALIGNMENT> ResultType;
00051 };
00052
00053 }
00054
00055 }
00056
00057 #endif