op_cx_scalar_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 op_cx_scalar
00018 //! @{
00019 
00020 
00021 
00022 class op_cx_scalar_times
00023   {
00024   public:
00025   
00026   template<typename T1>
00027   inline static void
00028   apply
00029     (
00030           Mat< typename std::complex<typename T1::pod_type> >& out,
00031     const mtOp<typename std::complex<typename T1::pod_type>, T1, op_cx_scalar_times>& X
00032     );
00033 
00034   };
00035 
00036 
00037 
00038 class op_cx_scalar_plus
00039   {
00040   public:
00041   
00042   template<typename T1>
00043   inline static void
00044   apply
00045     (
00046           Mat< typename std::complex<typename T1::pod_type> >& out,
00047     const mtOp<typename std::complex<typename T1::pod_type>, T1, op_cx_scalar_plus>& X
00048     );
00049 
00050   };
00051 
00052 
00053 
00054 class op_cx_scalar_minus_pre
00055   {
00056   public:
00057   
00058   template<typename T1>
00059   inline static void
00060   apply
00061     (
00062           Mat< typename std::complex<typename T1::pod_type> >& out,
00063     const mtOp<typename std::complex<typename T1::pod_type>, T1, op_cx_scalar_minus_pre>& X
00064     );
00065 
00066   };
00067 
00068 
00069 
00070 class op_cx_scalar_minus_post
00071   {
00072   public:
00073   
00074   template<typename T1>
00075   inline static void
00076   apply
00077     (
00078           Mat< typename std::complex<typename T1::pod_type> >& out,
00079     const mtOp<typename std::complex<typename T1::pod_type>, T1, op_cx_scalar_minus_post>& X
00080     );
00081 
00082   };
00083 
00084 
00085 
00086 class op_cx_scalar_div_pre
00087   {
00088   public:
00089   
00090   template<typename T1>
00091   inline static void
00092   apply
00093     (
00094           Mat< typename std::complex<typename T1::pod_type> >& out,
00095     const mtOp<typename std::complex<typename T1::pod_type>, T1, op_cx_scalar_div_pre>& X
00096     );
00097 
00098   };
00099 
00100 
00101 
00102 class op_cx_scalar_div_post
00103   {
00104   public:
00105   
00106   template<typename T1>
00107   inline static void
00108   apply
00109     (
00110           Mat< typename std::complex<typename T1::pod_type> >& out,
00111     const mtOp<typename std::complex<typename T1::pod_type>, T1, op_cx_scalar_div_post>& X
00112     );
00113 
00114   };
00115 
00116 
00117 
00118 //! @}