00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #pragma once
00017
00018 #ifndef alg_types2_h__
00019 #define alg_types2_h__
00020
00021 #include "mtl/mtl.h"
00022 #include "alg_types.h"
00023
00024 namespace {
00025 template <typename SCALAR>
00026 struct matrix_types
00027 {
00028 typedef mtl::dense1D<SCALAR> mtlVector;
00029 typedef typename mtl::matrix<SCALAR, mtl::rectangle<>, mtl::dense<>, mtl::row_major>::type mtlMatrix;
00030 typedef typename mtl::matrix<SCALAR, mtl::diagonal<>, mtl::packed<>, mtl::row_major>::type mtlDiagMat;
00031 };
00032 }
00033
00034 template <unsigned D, unsigned W, coefficient_t F = Rational>
00035 struct matrix_alg_types : alg_types < D, W, F >, matrix_types < typename alg_types < D, W, F >::SCA > {};
00036
00037 #endif // alg_types2_h__