comparison src/OPERATORS/op-dm-scm.cc @ 9732:b4fdfee405b5

remove ArrayN<T> + fix nonhom. diag-scalar ops
author Jaroslav Hajek <highegg@gmail.com>
date Fri, 16 Oct 2009 13:12:31 +0200
parents 1bba53c0a38d
children fb6b6fcafa62
comparison
equal deleted inserted replaced
9731:7b9cbaad68d6 9732:b4fdfee405b5
146 // If v2 is a scalar in disguise, return a diagonal matrix rather than 146 // If v2 is a scalar in disguise, return a diagonal matrix rather than
147 // a sparse matrix. 147 // a sparse matrix.
148 { 148 {
149 std::complex<double> d = v2.complex_value (); 149 std::complex<double> d = v2.complex_value ();
150 150
151 return octave_value (v1.diag_matrix_value () + d); 151 return octave_value (v1.matrix_value () + d);
152 } 152 }
153 else 153 else
154 return v1.diag_matrix_value () + v2.sparse_complex_matrix_value (); 154 return v1.diag_matrix_value () + v2.sparse_complex_matrix_value ();
155 } 155 }
156 156
162 // If v2 is a scalar in disguise, return a diagonal matrix rather than 162 // If v2 is a scalar in disguise, return a diagonal matrix rather than
163 // a sparse matrix. 163 // a sparse matrix.
164 { 164 {
165 double d = v2.scalar_value (); 165 double d = v2.scalar_value ();
166 166
167 return octave_value (v1.complex_diag_matrix_value () + d); 167 return octave_value (v1.complex_matrix_value () + d);
168 } 168 }
169 else 169 else
170 return v1.complex_diag_matrix_value () + v2.sparse_matrix_value (); 170 return v1.complex_diag_matrix_value () + v2.sparse_matrix_value ();
171 } 171 }
172 172
178 // If v2 is a scalar in disguise, return a diagonal matrix rather than 178 // If v2 is a scalar in disguise, return a diagonal matrix rather than
179 // a sparse matrix. 179 // a sparse matrix.
180 { 180 {
181 std::complex<double> d = v2.complex_value (); 181 std::complex<double> d = v2.complex_value ();
182 182
183 return octave_value (v1.complex_diag_matrix_value () + d); 183 return octave_value (v1.complex_matrix_value () + d);
184 } 184 }
185 else 185 else
186 return v1.complex_diag_matrix_value () + v2.sparse_complex_matrix_value (); 186 return v1.complex_diag_matrix_value () + v2.sparse_complex_matrix_value ();
187 } 187 }
188 188
194 // If v2 is a scalar in disguise, return a diagonal matrix rather than 194 // If v2 is a scalar in disguise, return a diagonal matrix rather than
195 // a sparse matrix. 195 // a sparse matrix.
196 { 196 {
197 std::complex<double> d = v2.complex_value (); 197 std::complex<double> d = v2.complex_value ();
198 198
199 return octave_value (v1.diag_matrix_value () + (-d)); 199 return octave_value (v1.matrix_value () + (-d));
200 } 200 }
201 else 201 else
202 return v1.diag_matrix_value () - v2.sparse_complex_matrix_value (); 202 return v1.diag_matrix_value () - v2.sparse_complex_matrix_value ();
203 } 203 }
204 204
210 // If v2 is a scalar in disguise, return a diagonal matrix rather than 210 // If v2 is a scalar in disguise, return a diagonal matrix rather than
211 // a sparse matrix. 211 // a sparse matrix.
212 { 212 {
213 double d = v2.scalar_value (); 213 double d = v2.scalar_value ();
214 214
215 return octave_value (v1.complex_diag_matrix_value () + (-d)); 215 return octave_value (v1.complex_matrix_value () + (-d));
216 } 216 }
217 else 217 else
218 return v1.complex_diag_matrix_value () - v2.sparse_matrix_value (); 218 return v1.complex_diag_matrix_value () - v2.sparse_matrix_value ();
219 } 219 }
220 220
226 // If v2 is a scalar in disguise, return a diagonal matrix rather than 226 // If v2 is a scalar in disguise, return a diagonal matrix rather than
227 // a sparse matrix. 227 // a sparse matrix.
228 { 228 {
229 std::complex<double> d = v2.complex_value (); 229 std::complex<double> d = v2.complex_value ();
230 230
231 return octave_value (v1.complex_diag_matrix_value () + (-d)); 231 return octave_value (v1.complex_matrix_value () + (-d));
232 } 232 }
233 else 233 else
234 return v1.complex_diag_matrix_value () - v2.sparse_complex_matrix_value (); 234 return v1.complex_diag_matrix_value () - v2.sparse_complex_matrix_value ();
235 } 235 }
236 236