00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef MTL_BASE_CASE_CAST_INCLUDE
00013 #define MTL_BASE_CASE_CAST_INCLUDE
00014
00015 #include <boost/numeric/mtl/recursion/base_case_matrix.hpp>
00016 #include <boost/numeric/mtl/recursion/simplify_base_case_matrix.hpp>
00017
00018 namespace mtl { namespace recursion {
00019
00020
00021 template <typename BaseCaseTest, typename Matrix>
00022 typename base_case_matrix<Matrix, BaseCaseTest>::type inline
00023 base_case_cast(Matrix const& matrix)
00024 {
00025 return simplify_base_case_matrix(matrix, BaseCaseTest());
00026 }
00027
00028
00029 template <typename BaseCaseTest, typename Matrix>
00030 typename base_case_matrix<Matrix, BaseCaseTest>::type inline
00031 base_case_cast(Matrix& matrix)
00032 {
00033 return simplify_base_case_matrix(matrix, BaseCaseTest());
00034 }
00035
00036
00037 }}
00038
00039 #endif // MTL_BASE_CASE_CAST_INCLUDE