comparison liboctave/fMatrix.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 445d27d79f4e
comparison
equal deleted inserted replaced
8336:9813c07ca946 8337:e02242c54c49
1257 (*current_liboctave_error_handler) ("matrix must be square"); 1257 (*current_liboctave_error_handler) ("matrix must be square");
1258 else 1258 else
1259 { 1259 {
1260 int typ = mattype.type (); 1260 int typ = mattype.type ();
1261 1261
1262 if (typ == MatrixType::Unknown)
1263 typ = mattype.type (*this);
1264
1262 if (typ == MatrixType::Lower || typ == MatrixType::Upper) 1265 if (typ == MatrixType::Lower || typ == MatrixType::Upper)
1263 { 1266 {
1264 for (octave_idx_type i = 0; i < nc; i++) 1267 for (octave_idx_type i = 0; i < nc; i++)
1265 retval *= elem (i,i); 1268 retval *= elem (i,i);
1266 } 1269 }
1299 1302
1300 if (info != 0) 1303 if (info != 0)
1301 rcon = 0.0; 1304 rcon = 0.0;
1302 1305
1303 for (octave_idx_type i = 0; i < nc; i++) 1306 for (octave_idx_type i = 0; i < nc; i++)
1304 retval *= elem (i,i); 1307 retval *= atmp (i,i);
1305 1308
1306 retval = retval.square (); 1309 retval = retval.square ();
1307 } 1310 }
1308 } 1311 }
1309 else if (typ != MatrixType::Full) 1312 else if (typ != MatrixType::Full)