Mercurial > octave
changeset 31319:6cf02f842e74
Backed out changeset 24e45a79bf3c
author | Arun Giridhar <arungiridhar@gmail.com> |
---|---|
date | Wed, 19 Oct 2022 12:14:09 -0400 |
parents | eba9d6d4cc41 |
children | 6a5e4ef80a95 |
files | libinterp/corefcn/__dsearchn__.cc libinterp/corefcn/det.cc libinterp/corefcn/inv.cc libinterp/corefcn/pinv.cc |
diffstat | 4 files changed, 26 insertions(+), 54 deletions(-) [+] |
line wrap: on
line diff
--- a/libinterp/corefcn/__dsearchn__.cc Wed Oct 19 12:13:57 2022 -0400 +++ b/libinterp/corefcn/__dsearchn__.cc Wed Oct 19 12:14:09 2022 -0400 @@ -46,10 +46,8 @@ if (args.length () != 2) print_usage (); - const auto& tmp0 = args(0).matrix_value (); - const auto& tmp1 = args(1).matrix_value (); - Matrix x = tmp0.transpose (); - Matrix xi = tmp1.transpose (); + Matrix x = args(0).matrix_value ().transpose (); + Matrix xi = args(1).matrix_value ().transpose (); if (x.rows () != xi.rows () || x.columns () < 1) error ("__dsearchn__: number of rows of X and XI must match");
--- a/libinterp/corefcn/det.cc Wed Oct 19 12:13:57 2022 -0400 +++ b/libinterp/corefcn/det.cc Wed Oct 19 12:14:09 2022 -0400 @@ -96,37 +96,30 @@ retval(0) = arg.float_complex_diag_matrix_value () .determinant ().value (); if (nargout > 1) - { - const auto& tmp = arg.float_complex_diag_matrix_value (); - retval(1) = tmp.rcond (); - } + retval(1) = arg.float_complex_diag_matrix_value ().rcond (); } else { - const auto& tmp1 = arg.complex_diag_matrix_value (); - const auto& tmp2 = tmp1.determinant (); - retval(0) = tmp2.value (); + retval(0) = arg.complex_diag_matrix_value () + .determinant ().value (); if (nargout > 1) - retval(1) = tmp1.rcond (); + retval(1) = arg.complex_diag_matrix_value ().rcond (); } } else { if (isfloat) { - const auto& tmp1 = arg.float_diag_matrix_value (); - const auto& tmp2 = tmp1.determinant (); - retval(0) = tmp2.value (); + retval(0) = arg.float_diag_matrix_value () + .determinant ().value (); if (nargout > 1) - retval(1) = tmp1.rcond (); + retval(1) = arg.float_diag_matrix_value ().rcond (); } else { - const auto& tmp1 = arg.diag_matrix_value (); - const auto& tmp2 = tmp1.determinant (); - retval(0) = tmp2.value (); + retval(0) = arg.diag_matrix_value ().determinant ().value (); if (nargout > 1) - retval(1) = tmp1.rcond (); + retval(1) = arg.diag_matrix_value ().rcond (); } } } @@ -135,8 +128,7 @@ if (nargout <= 1) retval.resize (1); - const auto& tmp = arg.perm_matrix_value (); - retval(0) = static_cast<double> (tmp.determinant ()); + retval(0) = static_cast<double> (arg.perm_matrix_value ().determinant ()); if (nargout > 1) retval(1) = 1.0; }
--- a/libinterp/corefcn/inv.cc Wed Oct 19 12:13:57 2022 -0400 +++ b/libinterp/corefcn/inv.cc Wed Oct 19 12:14:09 2022 -0400 @@ -93,42 +93,38 @@ { if (isfloat) { - const auto& tmp = arg.float_complex_diag_matrix_value (); - result = tmp.inverse (info); + result = arg.float_complex_diag_matrix_value ().inverse (info); if (info == -1) frcond = 0.0f; else if (nargout > 1) - frcond = tmp.rcond (); + frcond = arg.float_complex_diag_matrix_value ().rcond (); } else { - const auto& tmp = arg.complex_diag_matrix_value (); - result = tmp.inverse (info); + result = arg.complex_diag_matrix_value ().inverse (info); if (info == -1) rcond = 0.0; else if (nargout > 1) - rcond = tmp.rcond (); + rcond = arg.complex_diag_matrix_value ().rcond (); } } else { if (isfloat) { - const auto& tmp = arg.float_diag_matrix_value (); - result = tmp.inverse (info); + result = arg.float_diag_matrix_value ().inverse (info); if (info == -1) frcond = 0.0f; else if (nargout > 1) - frcond = tmp.rcond (); + frcond = arg.float_diag_matrix_value ().rcond (); } else { - const auto& tmp = arg.diag_matrix_value (); - result = tmp.inverse (info); + result = arg.diag_matrix_value ().inverse (info); if (info == -1) rcond = 0.0; else if (nargout > 1) - rcond = tmp.rcond (); + rcond = arg.diag_matrix_value ().rcond (); } } } @@ -136,8 +132,7 @@ { info = 0; rcond = 1.0; - const auto& tmp = arg.perm_matrix_value (); - result = tmp.inverse (); + result = arg.perm_matrix_value ().inverse (); } else if (isfloat) {
--- a/libinterp/corefcn/pinv.cc Wed Oct 19 12:13:57 2022 -0400 +++ b/libinterp/corefcn/pinv.cc Wed Oct 19 12:14:09 2022 -0400 @@ -86,15 +86,9 @@ error ("pinv: TOL must be greater than zero"); if (arg.isreal ()) - { - const auto& tmp = arg.float_diag_matrix_value (); - retval = tmp.pseudo_inverse (tol); - } + retval = arg.float_diag_matrix_value ().pseudo_inverse (tol); else - { - const auto& tmp = arg.float_complex_diag_matrix_value (); - retval = tmp.pseudo_inverse (tol); - } + retval = arg.float_complex_diag_matrix_value ().pseudo_inverse (tol); } else { @@ -106,21 +100,14 @@ error ("pinv: TOL must be greater than zero"); if (arg.isreal ()) - { - const auto& tmp = arg.diag_matrix_value (); - retval = tmp.pseudo_inverse (tol); - } + retval = arg.diag_matrix_value ().pseudo_inverse (tol); else - { - const auto& tmp = arg.complex_diag_matrix_value (); - retval = tmp.pseudo_inverse (tol); - } + retval = arg.complex_diag_matrix_value ().pseudo_inverse (tol); } } else if (arg.is_perm_matrix ()) { - const auto& tmp = arg.perm_matrix_value (); - retval = tmp.inverse (); + retval = arg.perm_matrix_value ().inverse (); } else if (isfloat) {