# HG changeset patch
# User Petter .T <petter.vilhelm@gmail.com>
# Date 1701381855 -3600
#      Thu Nov 30 23:04:15 2023 +0100
# Node ID a0e0ec128dcb5cedf3aa6ef4043309b86ad4d946
# Parent  60e9357d4a320acb310a630dd096ac7f8228f881
Avoid unessecary copy of dim_vector

There is only a need of one copy in the first case and
none in the second.

* mx-inlinces.cc: Use ref to avoid copies.

diff -r 60e9357d4a32 -r a0e0ec128dcb liboctave/operators/mx-inlines.cc
--- a/liboctave/operators/mx-inlines.cc	Thu Nov 30 23:02:35 2023 +0100
+++ b/liboctave/operators/mx-inlines.cc	Thu Nov 30 23:04:15 2023 +0100
@@ -501,8 +501,8 @@
                  void (*op2) (std::size_t, R *, const X *, Y),
                  const char *opname)
 {
-  dim_vector dx = x.dims ();
-  dim_vector dy = y.dims ();
+  const dim_vector &dx = x.dims ();
+  const dim_vector &dy = y.dims ();
   if (dx == dy)
     {
       Array<R> r (dx);
@@ -544,8 +544,8 @@
                   void (*op1) (std::size_t, R *, X),
                   const char *opname)
 {
-  dim_vector dr = r.dims ();
-  dim_vector dx = x.dims ();
+  const dim_vector &dr = r.dims ();
+  const dim_vector &dx = x.dims ();
   if (dr == dx)
     op (r.numel (), r.fortran_vec (), x.data ());
   else if (is_valid_inplace_bsxfun (opname, dr, dx))
