Mercurial > hg > octave-nkf
diff liboctave/array/fCMatrix.cc @ 19586: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 | 3746b92739f7 |
children | a0c7001cf1a8 |
line wrap: on
line diff
--- a/liboctave/array/fCMatrix.cc +++ b/liboctave/array/fCMatrix.cc @@ -290,6 +290,20 @@ elem (i, i) = a.elem (i, i); } +FloatComplexMatrix::FloatComplexMatrix (const MDiagArray2<float>& a) + : FloatComplexNDArray (a.dims (), 0.0) +{ + for (octave_idx_type i = 0; i < a.length (); i++) + elem (i, i) = a.elem (i, i); +} + +FloatComplexMatrix::FloatComplexMatrix (const DiagArray2<float>& a) + : FloatComplexNDArray (a.dims (), 0.0) +{ + for (octave_idx_type i = 0; i < a.length (); i++) + elem (i, i) = a.elem (i, i); +} + FloatComplexMatrix::FloatComplexMatrix (const FloatComplexRowVector& rv) : FloatComplexNDArray (rv) { @@ -307,6 +321,20 @@ elem (i, i) = a.elem (i, i); } +FloatComplexMatrix::FloatComplexMatrix (const MDiagArray2<FloatComplex>& a) + : FloatComplexNDArray (a.dims (), 0.0) +{ + for (octave_idx_type i = 0; i < a.length (); i++) + elem (i, i) = a.elem (i, i); +} + +FloatComplexMatrix::FloatComplexMatrix (const DiagArray2<FloatComplex>& a) + : FloatComplexNDArray (a.dims (), 0.0) +{ + for (octave_idx_type i = 0; i < a.length (); i++) + elem (i, i) = a.elem (i, i); +} + // FIXME: could we use a templated mixed-type copy function // here?