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)
     {