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 //! @}