00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef MTL_MATRIX_UPPER_INCLUDE
00013 #define MTL_MATRIX_UPPER_INCLUDE
00014
00015 #include <boost/numeric/mtl/matrix/bands.hpp>
00016 #include <limits>
00017
00018 namespace mtl { namespace matrix {
00019
00020 namespace traits {
00021
00022 template <typename Matrix>
00023 struct upper
00024 {
00025 typedef typename traits::bands<Matrix>::type type;
00026 };
00027 }
00028
00030 template <typename Matrix>
00031 typename traits::upper<Matrix>::type
00032 inline upper(const Matrix& A)
00033 {
00034 return bands(A, 0, std::numeric_limits<long>::max());
00035 }
00036
00037
00038 }}
00039
00040 #endif // MTL_MATRIX_UPPER_INCLUDE