Mercurial > hg > octave-nkf
comparison liboctave/fCMatrix.cc @ 8337:e02242c54c49
reuse matrix type detected in det
author | Jaroslav Hajek <highegg@gmail.com> |
---|---|
date | Wed, 19 Nov 2008 16:55:47 +0100 |
parents | 9813c07ca946 |
children | 25bc2d31e1bf |
comparison
equal
deleted
inserted
replaced
8336:9813c07ca946 | 8337:e02242c54c49 |
---|---|
1586 (*current_liboctave_error_handler) ("matrix must be square"); | 1586 (*current_liboctave_error_handler) ("matrix must be square"); |
1587 else | 1587 else |
1588 { | 1588 { |
1589 int typ = mattype.type (); | 1589 int typ = mattype.type (); |
1590 | 1590 |
1591 if (typ == MatrixType::Unknown) | |
1592 typ = mattype.type (*this); | |
1593 | |
1591 if (typ == MatrixType::Lower || typ == MatrixType::Upper) | 1594 if (typ == MatrixType::Lower || typ == MatrixType::Upper) |
1592 { | 1595 { |
1593 for (octave_idx_type i = 0; i < nc; i++) | 1596 for (octave_idx_type i = 0; i < nc; i++) |
1594 retval *= elem (i,i); | 1597 retval *= elem (i,i); |
1595 } | 1598 } |
1628 | 1631 |
1629 if (info != 0) | 1632 if (info != 0) |
1630 rcon = 0.0; | 1633 rcon = 0.0; |
1631 | 1634 |
1632 for (octave_idx_type i = 0; i < nc; i++) | 1635 for (octave_idx_type i = 0; i < nc; i++) |
1633 retval *= elem (i,i); | 1636 retval *= atmp (i,i); |
1634 | 1637 |
1635 retval = retval.square (); | 1638 retval = retval.square (); |
1636 } | 1639 } |
1637 } | 1640 } |
1638 else if (typ != MatrixType::Full) | 1641 else if (typ != MatrixType::Full) |