glue_mixed_proto.hpp

Go to the documentation of this file.
00001 // Copyright (C) 2010 NICTA and the authors listed below
00002 // http://nicta.com.au
00003 // 
00004 // Authors:
00005 // - Conrad Sanderson (conradsand at ieee dot org)
00006 // 
00007 // This file is part of the Armadillo C++ library.
00008 // It is provided without any warranty of fitness
00009 // for any purpose. You can redistribute this file
00010 // and/or modify it under the terms of the GNU
00011 // Lesser General Public License (LGPL) as published
00012 // by the Free Software Foundation, either version 3
00013 // of the License or (at your option) any later version.
00014 // (see http://www.opensource.org/licenses for more info)
00015 
00016 
00017 //! \addtogroup glue_mixed
00018 //! @{
00019 
00020 
00021 
00022 class glue_mixed_times
00023   {
00024   public:
00025   
00026   template<typename T1, typename T2>
00027   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);
00028   };
00029 
00030 
00031 
00032 class glue_mixed_plus
00033   {
00034   public:
00035   
00036   template<typename T1, typename T2>
00037   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);
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 
00050 
00051 
00052 class glue_mixed_div
00053   {
00054   public:
00055   
00056   template<typename T1, typename T2>
00057   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);
00058   };
00059 
00060 
00061 
00062 class glue_mixed_schur
00063   {
00064   public:
00065   
00066   template<typename T1, typename T2>
00067   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);
00068   };
00069 
00070 
00071 
00072 //! @}