$search
00001 // Copyright (C) 2009-2010 NICTA (www.nicta.com.au) 00002 // Copyright (C) 2009-2010 Conrad Sanderson 00003 // 00004 // This file is part of the Armadillo C++ library. 00005 // It is provided without any warranty of fitness 00006 // for any purpose. You can redistribute this file 00007 // and/or modify it under the terms of the GNU 00008 // Lesser General Public License (LGPL) as published 00009 // by the Free Software Foundation, either version 3 00010 // of the License or (at your option) any later version. 00011 // (see http://www.opensource.org/licenses for more info) 00012 00013 00016 00017 00018 00019 class op_rel_lt_pre 00020 { 00021 public: 00022 00023 template<typename T1> 00024 inline static void apply(Mat<uword>& out, const mtOp<uword, T1, op_rel_lt_pre>& X); 00025 00026 template<typename T1> 00027 inline static void apply(Cube<uword>& out, const mtOpCube<uword, T1, op_rel_lt_pre>& X); 00028 }; 00029 00030 00031 00032 class op_rel_lt_post 00033 { 00034 public: 00035 00036 template<typename T1> 00037 inline static void apply(Mat<uword>& out, const mtOp<uword, T1, op_rel_lt_post>& X); 00038 00039 template<typename T1> 00040 inline static void apply(Cube<uword>& out, const mtOpCube<uword, T1, op_rel_lt_post>& X); 00041 }; 00042 00043 00044 00045 class op_rel_gt_pre 00046 { 00047 public: 00048 00049 template<typename T1> 00050 inline static void apply(Mat<uword>& out, const mtOp<uword, T1, op_rel_gt_pre>& X); 00051 00052 template<typename T1> 00053 inline static void apply(Cube<uword>& out, const mtOpCube<uword, T1, op_rel_gt_pre>& X); 00054 }; 00055 00056 00057 00058 class op_rel_gt_post 00059 { 00060 public: 00061 00062 template<typename T1> 00063 inline static void apply(Mat<uword>& out, const mtOp<uword, T1, op_rel_gt_post>& X); 00064 00065 template<typename T1> 00066 inline static void apply(Cube<uword>& out, const mtOpCube<uword, T1, op_rel_gt_post>& X); 00067 }; 00068 00069 00070 00071 class op_rel_lteq_pre 00072 { 00073 public: 00074 00075 template<typename T1> 00076 inline static void apply(Mat<uword>& out, const mtOp<uword, T1, op_rel_lteq_pre>& X); 00077 00078 template<typename T1> 00079 inline static void apply(Cube<uword>& out, const mtOpCube<uword, T1, op_rel_lteq_pre>& X); 00080 }; 00081 00082 00083 00084 class op_rel_lteq_post 00085 { 00086 public: 00087 00088 template<typename T1> 00089 inline static void apply(Mat<uword>& out, const mtOp<uword, T1, op_rel_lteq_post>& X); 00090 00091 template<typename T1> 00092 inline static void apply(Cube<uword>& out, const mtOpCube<uword, T1, op_rel_lteq_post>& X); 00093 }; 00094 00095 00096 00097 class op_rel_gteq_pre 00098 { 00099 public: 00100 00101 template<typename T1> 00102 inline static void apply(Mat<uword>& out, const mtOp<uword, T1, op_rel_gteq_pre>& X); 00103 00104 template<typename T1> 00105 inline static void apply(Cube<uword>& out, const mtOpCube<uword, T1, op_rel_gteq_pre>& X); 00106 }; 00107 00108 00109 00110 class op_rel_gteq_post 00111 { 00112 public: 00113 00114 template<typename T1> 00115 inline static void apply(Mat<uword>& out, const mtOp<uword, T1, op_rel_gteq_post>& X); 00116 00117 template<typename T1> 00118 inline static void apply(Cube<uword>& out, const mtOpCube<uword, T1, op_rel_gteq_post>& X); 00119 }; 00120 00121 00122 00123 class op_rel_eq 00124 { 00125 public: 00126 00127 template<typename T1> 00128 inline static void apply(Mat<uword>& out, const mtOp<uword, T1, op_rel_eq>& X); 00129 00130 template<typename T1> 00131 inline static void apply(Cube<uword>& out, const mtOpCube<uword, T1, op_rel_eq>& X); 00132 }; 00133 00134 00135 00136 class op_rel_noteq 00137 { 00138 public: 00139 00140 template<typename T1> 00141 inline static void apply(Mat<uword>& out, const mtOp<uword, T1, op_rel_noteq>& X); 00142 00143 template<typename T1> 00144 inline static void apply(Cube<uword>& out, const mtOpCube<uword, T1, op_rel_noteq>& X); 00145 }; 00146 00147 00148