Mercurial > octave-nkf
comparison liboctave/array/CMatrix.cc @ 19425:385499581a5e
allow disabling of permutation and diagonal matrices
* ov.cc (Vdisable_diagonal_matrix, Vdisable_permutation_matrix):
New static variables. Use them in octave_value constructors to
determine whether to create diagonal and permutation matrices.
(Fdisable_diagonal_matrix, Fdisable_permutation_matrix):
New functions.
* octave.cc (maximum_braindamage): Disable permutation and diagonal
matrices for --traditional option.
* CMatrix.cc, CMatrix.h, dMatrix.cc, dMatrix.h, fCMatrix.cc,
fCMatrix.h, fMatrix.cc, fMatrix.h: New conversion constructors.
* basics.txi, diagperm.txi: Update docs for change.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Mon, 08 Dec 2014 10:14:00 -0500 |
parents | fcd9e1198847 |
children | a0c7001cf1a8 |
comparison
equal
deleted
inserted
replaced
19424:68116bea38ba | 19425:385499581a5e |
---|---|
287 { | 287 { |
288 for (octave_idx_type i = 0; i < a.length (); i++) | 288 for (octave_idx_type i = 0; i < a.length (); i++) |
289 elem (i, i) = a.elem (i, i); | 289 elem (i, i) = a.elem (i, i); |
290 } | 290 } |
291 | 291 |
292 ComplexMatrix::ComplexMatrix (const MDiagArray2<double>& a) | |
293 : ComplexNDArray (a.dims (), 0.0) | |
294 { | |
295 for (octave_idx_type i = 0; i < a.length (); i++) | |
296 elem (i, i) = a.elem (i, i); | |
297 } | |
298 | |
299 ComplexMatrix::ComplexMatrix (const DiagArray2<double>& a) | |
300 : ComplexNDArray (a.dims (), 0.0) | |
301 { | |
302 for (octave_idx_type i = 0; i < a.length (); i++) | |
303 elem (i, i) = a.elem (i, i); | |
304 } | |
305 | |
292 ComplexMatrix::ComplexMatrix (const ComplexRowVector& rv) | 306 ComplexMatrix::ComplexMatrix (const ComplexRowVector& rv) |
293 : ComplexNDArray (rv) | 307 : ComplexNDArray (rv) |
294 { | 308 { |
295 } | 309 } |
296 | 310 |
298 : ComplexNDArray (cv) | 312 : ComplexNDArray (cv) |
299 { | 313 { |
300 } | 314 } |
301 | 315 |
302 ComplexMatrix::ComplexMatrix (const ComplexDiagMatrix& a) | 316 ComplexMatrix::ComplexMatrix (const ComplexDiagMatrix& a) |
317 : ComplexNDArray (a.dims (), 0.0) | |
318 { | |
319 for (octave_idx_type i = 0; i < a.length (); i++) | |
320 elem (i, i) = a.elem (i, i); | |
321 } | |
322 | |
323 ComplexMatrix::ComplexMatrix (const MDiagArray2<Complex>& a) | |
324 : ComplexNDArray (a.dims (), 0.0) | |
325 { | |
326 for (octave_idx_type i = 0; i < a.length (); i++) | |
327 elem (i, i) = a.elem (i, i); | |
328 } | |
329 | |
330 ComplexMatrix::ComplexMatrix (const DiagArray2<Complex>& a) | |
303 : ComplexNDArray (a.dims (), 0.0) | 331 : ComplexNDArray (a.dims (), 0.0) |
304 { | 332 { |
305 for (octave_idx_type i = 0; i < a.length (); i++) | 333 for (octave_idx_type i = 0; i < a.length (); i++) |
306 elem (i, i) = a.elem (i, i); | 334 elem (i, i) = a.elem (i, i); |
307 } | 335 } |