42 #if defined(HAVE_CXX0X) || defined(HAVE_CXX11) 93 template <
class Module>
94 struct linalg_traits : Module
98 #ifndef DOXYGEN_SHOULD_SKIP_THIS 103 #ifndef SET_MODULE_BACKEND 104 #define SET_MODULE_BACKEND(MODULE, BACKEND) \ 107 const static Backend backend = Backend::BACKEND; \ 109 #endif // SET_MODULE_BACKEND 119 #ifndef SET_GLOBAL_BACKEND 120 #define SET_GLOBAL_BACKEND(BACKEND) \ 121 SET_MODULE_BACKEND(Core, BACKEND) \ 122 SET_MODULE_BACKEND(Redux, BACKEND) \ 123 SET_MODULE_BACKEND(Linsolver, BACKEND) \ 124 SET_MODULE_BACKEND(Eigsolver, BACKEND) 125 #endif // SET_GLOBAL_BACKEND 129 SET_GLOBAL_BACKEND(EIGEN3)
131 SET_GLOBAL_BACKEND(VIENNACL)
137 #ifdef USE_EIGEN3_CORE 138 SET_MODULE_BACKEND(Core, EIGEN3)
139 #elif USE_VIENNACL_CORE 140 SET_MODULE_BACKEND(Core, VIENNACL)
141 #else // the default case 142 SET_MODULE_BACKEND(Core, DEFAULT)
146 #ifdef USE_EIGEN3_REDUX 147 SET_MODULE_BACKEND(Redux, EIGEN3)
148 #elif USE_VIENNACL_REDUX 149 SET_MODULE_BACKEND(Redux, VIENNACL)
150 #else // the default case 151 SET_MODULE_BACKEND(Redux, DEFAULT)
155 #ifdef USE_EIGEN3_LINSLV 156 SET_MODULE_BACKEND(Linsolver, EIGEN3)
157 #elif USE_VIENNACL_LINSLV 158 SET_MODULE_BACKEND(Linsolver, VIENNACL)
159 #else // the default case 160 SET_MODULE_BACKEND(Linsolver, DEFAULT)
164 #ifdef USE_EIGEN3_EIGSLV 165 SET_MODULE_BACKEND(Eigsolver, EIGEN3)
166 #elif USE_VIENNACL_EIGSLV 167 SET_MODULE_BACKEND(Eigsolver, VIENNACL)
168 #else // the default case 169 SET_MODULE_BACKEND(Eigsolver, DEFAULT)
172 #endif // end of global settings 174 #undef SET_GLOBAL_BACKEND 175 #undef SET_MODULE_BACKEND 177 #endif // DOXYGEN_SHOULD_SKIP_THIS 193 #endif // defined(HAVE_CXX0X) || defined(HAVE_CXX11)
all of classes and functions are contained in the shogun namespace