Mercurial > hg > segmenter-vamp-plugin
comparison armadillo-2.4.4/include/armadillo_bits/op_cx_scalar_bones.hpp @ 0:8b6102e2a9b0
Armadillo Library
author | maxzanoni76 <max.zanoni@eecs.qmul.ac.uk> |
---|---|
date | Wed, 11 Apr 2012 09:27:06 +0100 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:8b6102e2a9b0 |
---|---|
1 // Copyright (C) 2008-2010 NICTA (www.nicta.com.au) | |
2 // Copyright (C) 2008-2010 Conrad Sanderson | |
3 // | |
4 // This file is part of the Armadillo C++ library. | |
5 // It is provided without any warranty of fitness | |
6 // for any purpose. You can redistribute this file | |
7 // and/or modify it under the terms of the GNU | |
8 // Lesser General Public License (LGPL) as published | |
9 // by the Free Software Foundation, either version 3 | |
10 // of the License or (at your option) any later version. | |
11 // (see http://www.opensource.org/licenses for more info) | |
12 | |
13 | |
14 //! \addtogroup op_cx_scalar | |
15 //! @{ | |
16 | |
17 | |
18 | |
19 class op_cx_scalar_times | |
20 { | |
21 public: | |
22 | |
23 template<typename T1> | |
24 inline static void | |
25 apply | |
26 ( | |
27 Mat< typename std::complex<typename T1::pod_type> >& out, | |
28 const mtOp<typename std::complex<typename T1::pod_type>, T1, op_cx_scalar_times>& X | |
29 ); | |
30 | |
31 template<typename T1> | |
32 inline static void | |
33 apply | |
34 ( | |
35 Cube< typename std::complex<typename T1::pod_type> >& out, | |
36 const mtOpCube<typename std::complex<typename T1::pod_type>, T1, op_cx_scalar_times>& X | |
37 ); | |
38 | |
39 }; | |
40 | |
41 | |
42 | |
43 class op_cx_scalar_plus | |
44 { | |
45 public: | |
46 | |
47 template<typename T1> | |
48 inline static void | |
49 apply | |
50 ( | |
51 Mat< typename std::complex<typename T1::pod_type> >& out, | |
52 const mtOp<typename std::complex<typename T1::pod_type>, T1, op_cx_scalar_plus>& X | |
53 ); | |
54 | |
55 template<typename T1> | |
56 inline static void | |
57 apply | |
58 ( | |
59 Cube< typename std::complex<typename T1::pod_type> >& out, | |
60 const mtOpCube<typename std::complex<typename T1::pod_type>, T1, op_cx_scalar_plus>& X | |
61 ); | |
62 | |
63 }; | |
64 | |
65 | |
66 | |
67 class op_cx_scalar_minus_pre | |
68 { | |
69 public: | |
70 | |
71 template<typename T1> | |
72 inline static void | |
73 apply | |
74 ( | |
75 Mat< typename std::complex<typename T1::pod_type> >& out, | |
76 const mtOp<typename std::complex<typename T1::pod_type>, T1, op_cx_scalar_minus_pre>& X | |
77 ); | |
78 | |
79 template<typename T1> | |
80 inline static void | |
81 apply | |
82 ( | |
83 Cube< typename std::complex<typename T1::pod_type> >& out, | |
84 const mtOpCube<typename std::complex<typename T1::pod_type>, T1, op_cx_scalar_minus_pre>& X | |
85 ); | |
86 | |
87 }; | |
88 | |
89 | |
90 | |
91 class op_cx_scalar_minus_post | |
92 { | |
93 public: | |
94 | |
95 template<typename T1> | |
96 inline static void | |
97 apply | |
98 ( | |
99 Mat< typename std::complex<typename T1::pod_type> >& out, | |
100 const mtOp<typename std::complex<typename T1::pod_type>, T1, op_cx_scalar_minus_post>& X | |
101 ); | |
102 | |
103 template<typename T1> | |
104 inline static void | |
105 apply | |
106 ( | |
107 Cube< typename std::complex<typename T1::pod_type> >& out, | |
108 const mtOpCube<typename std::complex<typename T1::pod_type>, T1, op_cx_scalar_minus_post>& X | |
109 ); | |
110 | |
111 }; | |
112 | |
113 | |
114 | |
115 class op_cx_scalar_div_pre | |
116 { | |
117 public: | |
118 | |
119 template<typename T1> | |
120 inline static void | |
121 apply | |
122 ( | |
123 Mat< typename std::complex<typename T1::pod_type> >& out, | |
124 const mtOp<typename std::complex<typename T1::pod_type>, T1, op_cx_scalar_div_pre>& X | |
125 ); | |
126 | |
127 template<typename T1> | |
128 inline static void | |
129 apply | |
130 ( | |
131 Cube< typename std::complex<typename T1::pod_type> >& out, | |
132 const mtOpCube<typename std::complex<typename T1::pod_type>, T1, op_cx_scalar_div_pre>& X | |
133 ); | |
134 | |
135 }; | |
136 | |
137 | |
138 | |
139 class op_cx_scalar_div_post | |
140 { | |
141 public: | |
142 | |
143 template<typename T1> | |
144 inline static void | |
145 apply | |
146 ( | |
147 Mat< typename std::complex<typename T1::pod_type> >& out, | |
148 const mtOp<typename std::complex<typename T1::pod_type>, T1, op_cx_scalar_div_post>& X | |
149 ); | |
150 | |
151 template<typename T1> | |
152 inline static void | |
153 apply | |
154 ( | |
155 Cube< typename std::complex<typename T1::pod_type> >& out, | |
156 const mtOpCube<typename std::complex<typename T1::pod_type>, T1, op_cx_scalar_div_post>& X | |
157 ); | |
158 | |
159 }; | |
160 | |
161 | |
162 | |
163 //! @} |