00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00016
00017
00018
00019 class glue_mixed_times
00020 {
00021 public:
00022
00023 template<typename T1, typename T2>
00024 inline static void apply(Mat<typename eT_promoter<T1,T2>::eT>& out, const mtGlue<typename eT_promoter<T1,T2>::eT, T1, T2, glue_mixed_times>& X);
00025 };
00026
00027
00028
00029 class glue_mixed_plus
00030 {
00031 public:
00032
00033 template<typename T1, typename T2>
00034 inline static void apply(Mat<typename eT_promoter<T1,T2>::eT>& out, const mtGlue<typename eT_promoter<T1,T2>::eT, T1, T2, glue_mixed_plus>& X);
00035
00036 template<typename T1, typename T2>
00037 inline static void apply(Cube<typename eT_promoter<T1,T2>::eT>& out, const mtGlueCube<typename eT_promoter<T1,T2>::eT, T1, T2, glue_mixed_plus>& X);
00038 };
00039
00040
00041
00042 class glue_mixed_minus
00043 {
00044 public:
00045
00046 template<typename T1, typename T2>
00047 inline static void apply(Mat<typename eT_promoter<T1,T2>::eT>& out, const mtGlue<typename eT_promoter<T1,T2>::eT, T1, T2, glue_mixed_minus>& X);
00048
00049 template<typename T1, typename T2>
00050 inline static void apply(Cube<typename eT_promoter<T1,T2>::eT>& out, const mtGlueCube<typename eT_promoter<T1,T2>::eT, T1, T2, glue_mixed_minus>& X);
00051 };
00052
00053
00054
00055 class glue_mixed_div
00056 {
00057 public:
00058
00059 template<typename T1, typename T2>
00060 inline static void apply(Mat<typename eT_promoter<T1,T2>::eT>& out, const mtGlue<typename eT_promoter<T1,T2>::eT, T1, T2, glue_mixed_div>& X);
00061
00062 template<typename T1, typename T2>
00063 inline static void apply(Cube<typename eT_promoter<T1,T2>::eT>& out, const mtGlueCube<typename eT_promoter<T1,T2>::eT, T1, T2, glue_mixed_div>& X);
00064 };
00065
00066
00067
00068 class glue_mixed_schur
00069 {
00070 public:
00071
00072 template<typename T1, typename T2>
00073 inline static void apply(Mat<typename eT_promoter<T1,T2>::eT>& out, const mtGlue<typename eT_promoter<T1,T2>::eT, T1, T2, glue_mixed_schur>& X);
00074
00075 template<typename T1, typename T2>
00076 inline static void apply(Cube<typename eT_promoter<T1,T2>::eT>& out, const mtGlueCube<typename eT_promoter<T1,T2>::eT, T1, T2, glue_mixed_schur>& X);
00077 };
00078
00079
00080