changeset 29887:be669d935fb6

use m_prefix for data members in array classes * dim-vector.h, dim-vector.cc, Array.h, Array.cc, Sparse.h, Sparse.cc, DiagArray2.h, DiagArray2.cc, MDiagArray2.cc, CNDArray.cc, fCNDArray.cc: Use m_prefix for class data members.
author John W. Eaton <jwe@octave.org>
date Thu, 15 Jul 2021 16:12:24 -0400
parents ebd1ac75e99f
children f2c6ea6c4abc
files liboctave/array/Array.cc liboctave/array/Array.h liboctave/array/CNDArray.cc liboctave/array/DiagArray2.cc liboctave/array/DiagArray2.h liboctave/array/MDiagArray2.cc liboctave/array/Sparse.cc liboctave/array/Sparse.h liboctave/array/dim-vector.cc liboctave/array/dim-vector.h liboctave/array/fCNDArray.cc
diffstat 11 files changed, 489 insertions(+), 485 deletions(-) [+]
line wrap: on
line diff
--- a/liboctave/array/Array.cc	Thu Jul 15 16:11:12 2021 -0400
+++ b/liboctave/array/Array.cc	Thu Jul 15 16:12:24 2021 -0400
@@ -49,13 +49,13 @@
 // Note we can't specialize a member without also specializing the class.
 template <typename T>
 Array<T>::Array (const Array<T>& a, const dim_vector& dv)
-  : dimensions (dv), rep (a.rep),
-    slice_data (a.slice_data), slice_len (a.slice_len)
+  : m_dimensions (dv), m_rep (a.m_rep),
+    m_slice_data (a.m_slice_data), m_slice_len (a.m_slice_len)
 {
-  if (dimensions.safe_numel () != a.numel ())
+  if (m_dimensions.safe_numel () != a.numel ())
     {
-      std::string dimensions_str = a.dimensions.str ();
-      std::string new_dims_str = dimensions.str ();
+      std::string dimensions_str = a.m_dimensions.str ();
+      std::string new_dims_str = m_dimensions.str ();
 
       (*current_liboctave_error_handler)
         ("reshape: can't reshape %s array to %s array",
@@ -64,52 +64,52 @@
 
   // This goes here because if an exception is thrown by the above,
   // destructor will be never called.
-  rep->count++;
-  dimensions.chop_trailing_singletons ();
+  m_rep->m_count++;
+  m_dimensions.chop_trailing_singletons ();
 }
 
 template <typename T>
 void
 Array<T>::fill (const T& val)
 {
-  if (rep->count > 1)
+  if (m_rep->m_count > 1)
     {
-      --rep->count;
-      rep = new ArrayRep (numel (), val);
-      slice_data = rep->data;
+      --m_rep->m_count;
+      m_rep = new ArrayRep (numel (), val);
+      m_slice_data = m_rep->m_data;
     }
   else
-    std::fill_n (slice_data, slice_len, val);
+    std::fill_n (m_slice_data, m_slice_len, val);
 }
 
 template <typename T>
 void
 Array<T>::clear (void)
 {
-  if (--rep->count == 0)
-    delete rep;
-
-  rep = nil_rep ();
-  rep->count++;
-  slice_data = rep->data;
-  slice_len = rep->len;
-
-  dimensions = dim_vector ();
+  if (--m_rep->m_count == 0)
+    delete m_rep;
+
+  m_rep = nil_rep ();
+  m_rep->m_count++;
+  m_slice_data = m_rep->m_data;
+  m_slice_len = m_rep->m_len;
+
+  m_dimensions = dim_vector ();
 }
 
 template <typename T>
 void
 Array<T>::clear (const dim_vector& dv)
 {
-  if (--rep->count == 0)
-    delete rep;
-
-  rep = new ArrayRep (dv.safe_numel ());
-  slice_data = rep->data;
-  slice_len = rep->len;
-
-  dimensions = dv;
-  dimensions.chop_trailing_singletons ();
+  if (--m_rep->m_count == 0)
+    delete m_rep;
+
+  m_rep = new ArrayRep (dv.safe_numel ());
+  m_slice_data = m_rep->m_data;
+  m_slice_len = m_rep->m_len;
+
+  m_dimensions = dv;
+  m_dimensions.chop_trailing_singletons ();
 }
 
 template <typename T>
@@ -122,16 +122,16 @@
     {
       bool dims_changed = false;
 
-      dim_vector new_dimensions = dimensions;
+      dim_vector new_dimensions = m_dimensions;
 
       int k = 0;
 
       for (int i = 0; i < ndims (); i++)
         {
-          if (dimensions(i) == 1)
+          if (m_dimensions(i) == 1)
             dims_changed = true;
           else
-            new_dimensions(k++) = dimensions(i);
+            new_dimensions(k++) = m_dimensions(i);
         }
 
       if (dims_changed)
@@ -169,7 +169,7 @@
 octave_idx_type
 Array<T>::compute_index (octave_idx_type i, octave_idx_type j) const
 {
-  return ::compute_index (i, j, dimensions);
+  return ::compute_index (i, j, m_dimensions);
 }
 
 template <typename T>
@@ -177,25 +177,25 @@
 Array<T>::compute_index (octave_idx_type i, octave_idx_type j,
                          octave_idx_type k) const
 {
-  return ::compute_index (i, j, k, dimensions);
+  return ::compute_index (i, j, k, m_dimensions);
 }
 
 template <typename T>
 octave_idx_type
 Array<T>::compute_index (const Array<octave_idx_type>& ra_idx) const
 {
-  return ::compute_index (ra_idx, dimensions);
+  return ::compute_index (ra_idx, m_dimensions);
 }
 
 template <typename T>
 T&
 Array<T>::checkelem (octave_idx_type n)
 {
-  // Do checks directly to avoid recomputing slice_len.
+  // Do checks directly to avoid recomputing m_slice_len.
   if (n < 0)
     octave::err_invalid_index (n);
-  if (n >= slice_len)
-    octave::err_index_out_of_range (1, 1, n+1, slice_len, dimensions);
+  if (n >= m_slice_len)
+    octave::err_index_out_of_range (1, 1, n+1, m_slice_len, m_dimensions);
 
   return elem (n);
 }
@@ -225,11 +225,11 @@
 typename Array<T>::crefT
 Array<T>::checkelem (octave_idx_type n) const
 {
-  // Do checks directly to avoid recomputing slice_len.
+  // Do checks directly to avoid recomputing m_slice_len.
   if (n < 0)
     octave::err_invalid_index (n);
-  if (n >= slice_len)
-    octave::err_index_out_of_range (1, 1, n+1, slice_len, dimensions);
+  if (n >= m_slice_len)
+    octave::err_index_out_of_range (1, 1, n+1, m_slice_len, m_dimensions);
 
   return elem (n);
 }
@@ -260,7 +260,7 @@
 Array<T>
 Array<T>::column (octave_idx_type k) const
 {
-  octave_idx_type r = dimensions(0);
+  octave_idx_type r = m_dimensions(0);
 
   return Array<T> (*this, dim_vector (r, 1), k*r, k*r + r);
 }
@@ -269,8 +269,8 @@
 Array<T>
 Array<T>::page (octave_idx_type k) const
 {
-  octave_idx_type r = dimensions(0);
-  octave_idx_type c = dimensions(1);
+  octave_idx_type r = m_dimensions(0);
+  octave_idx_type c = m_dimensions(1);
   octave_idx_type p = r*c;
 
   return Array<T> (*this, dim_vector (r, c), k*p, k*p + p);
@@ -726,7 +726,7 @@
   else
     {
       if (i.extent (n) != n)
-        octave::err_index_out_of_range (1, 1, i.extent (n), n, dimensions);
+        octave::err_index_out_of_range (1, 1, i.extent (n), n, m_dimensions);
 
       dim_vector result_dims = i.orig_dimensions ();
       octave_idx_type idx_len = i.length ();
@@ -765,7 +765,7 @@
 Array<T>::index (const octave::idx_vector& i, const octave::idx_vector& j) const
 {
   // Get dimensions, allowing Fortran indexing in the 2nd dim.
-  dim_vector dv = dimensions.redim (2);
+  dim_vector dv = m_dimensions.redim (2);
   octave_idx_type r = dv(0);
   octave_idx_type c = dv(1);
   Array<T> retval;
@@ -778,9 +778,9 @@
   else
     {
       if (i.extent (r) != r)
-        octave::err_index_out_of_range (2, 1, i.extent (r), r, dimensions); // throws
+        octave::err_index_out_of_range (2, 1, i.extent (r), r, m_dimensions); // throws
       if (j.extent (c) != c)
-        octave::err_index_out_of_range (2, 2, j.extent (c), c, dimensions); // throws
+        octave::err_index_out_of_range (2, 2, j.extent (c), c, m_dimensions); // throws
 
       octave_idx_type n = numel ();
       octave_idx_type il = i.length (r);
@@ -833,7 +833,7 @@
   else if (ial > 0)
     {
       // Get dimensions, allowing Fortran indexing in the last dim.
-      dim_vector dv = dimensions.redim (ial);
+      dim_vector dv = m_dimensions.redim (ial);
 
       // Check for out of bounds conditions.
       bool all_colons = true;
@@ -841,7 +841,7 @@
         {
           if (ia(i).extent (dv(i)) != dv(i))
             octave::err_index_out_of_range (ial, i+1, ia(i).extent (dv(i)), dv(i),
-                                            dimensions); // throws
+                                            m_dimensions); // throws
 
           all_colons = all_colons && ia(i).is_colon ();
         }
@@ -923,19 +923,19 @@
   if (n == nx - 1 && n > 0)
     {
       // Stack "pop" operation.
-      if (rep->count == 1)
-        slice_data[slice_len-1] = T ();
-      slice_len--;
-      dimensions = dv;
+      if (m_rep->m_count == 1)
+        m_slice_data[m_slice_len-1] = T ();
+      m_slice_len--;
+      m_dimensions = dv;
     }
   else if (n == nx + 1 && nx > 0)
     {
       // Stack "push" operation.
-      if (rep->count == 1
-          && slice_data + slice_len < rep->data + rep->len)
+      if (m_rep->m_count == 1
+          && m_slice_data + m_slice_len < m_rep->m_data + m_rep->m_len)
         {
-          slice_data[slice_len++] = rfv;
-          dimensions = dv;
+          m_slice_data[m_slice_len++] = rfv;
+          m_dimensions = dv;
         }
       else
         {
@@ -1013,14 +1013,14 @@
   int dvl = dv.ndims ();
   if (dvl == 2)
     resize2 (dv(0), dv(1), rfv);
-  else if (dimensions != dv)
+  else if (m_dimensions != dv)
     {
-      if (dimensions.ndims () > dvl || dv.any_neg ())
+      if (m_dimensions.ndims () > dvl || dv.any_neg ())
         octave::err_invalid_resize ();
 
       Array<T> tmp (dv);
       // Prepare for recursive resizing.
-      rec_resize_helper rh (dv, dimensions.redim (dvl));
+      rec_resize_helper rh (dv, m_dimensions.redim (dvl));
 
       // Do it.
       rh.resize_fill (data (), tmp.fortran_vec (), rfv);
@@ -1060,7 +1060,7 @@
   Array<T> tmp = *this;
   if (resize_ok)
     {
-      dim_vector dv = dimensions.redim (2);
+      dim_vector dv = m_dimensions.redim (2);
       octave_idx_type r = dv(0);
       octave_idx_type c = dv(1);
       octave_idx_type rx = i.extent (r);
@@ -1089,7 +1089,7 @@
   if (resize_ok)
     {
       int ial = ia.numel ();
-      dim_vector dv = dimensions.redim (ial);
+      dim_vector dv = m_dimensions.redim (ial);
       dim_vector dvx = dim_vector::alloc (ial);
       for (int i = 0; i < ial; i++)
         dvx(i) = ia(i).extent (dv(i));
@@ -1103,7 +1103,7 @@
           else
             tmp.resize (dvx, rfv);
 
-          if (tmp.dimensions != dvx)
+          if (tmp.m_dimensions != dvx)
             return Array<T> ();
         }
     }
@@ -1127,7 +1127,7 @@
   if (nx != n)
     {
       // Optimize case A = []; A(1:n) = X with A empty.
-      if (dimensions.zero_by_zero () && colon)
+      if (m_dimensions.zero_by_zero () && colon)
         {
           if (rhl == 1)
             *this = Array<T> (dim_vector (1, nx), rhs(0));
@@ -1146,7 +1146,7 @@
       if (rhl == 1)
         fill (rhs(0));
       else
-        *this = rhs.reshape (dimensions);
+        *this = rhs.reshape (m_dimensions);
     }
   else
     {
@@ -1163,15 +1163,15 @@
 Array<T>::assign (const octave::idx_vector& i, const octave::idx_vector& j,
                   const Array<T>& rhs, const T& rfv)
 {
-  bool initial_dims_all_zero = dimensions.all_zero ();
+  bool initial_dims_all_zero = m_dimensions.all_zero ();
 
   // Get RHS extents, discarding singletons.
   dim_vector rhdv = rhs.dims ();
 
   // Get LHS extents, allowing Fortran indexing in the second dim.
-  dim_vector dv = dimensions.redim (2);
-
-  // Check for out-of-bounds and form resizing dimensions.
+  dim_vector dv = m_dimensions.redim (2);
+
+  // Check for out-of-bounds and form resizing m_dimensions.
   dim_vector rdv;
 
   // In the special when all dimensions are zero, colons are allowed
@@ -1211,7 +1211,7 @@
             }
 
           resize (rdv, rfv);
-          dv = dimensions;
+          dv = m_dimensions;
         }
 
       if (all_colons)
@@ -1220,7 +1220,7 @@
           if (isfill)
             fill (rhs(0));
           else
-            *this = rhs.reshape (dimensions);
+            *this = rhs.reshape (m_dimensions);
         }
       else
         {
@@ -1276,13 +1276,13 @@
     assign (ia(0), ia(1), rhs, rfv);
   else if (ial > 0)
     {
-      bool initial_dims_all_zero = dimensions.all_zero ();
+      bool initial_dims_all_zero = m_dimensions.all_zero ();
 
       // Get RHS extents, discarding singletons.
       dim_vector rhdv = rhs.dims ();
 
       // Get LHS extents, allowing Fortran indexing in the second dim.
-      dim_vector dv = dimensions.redim (ial);
+      dim_vector dv = m_dimensions.redim (ial);
 
       // Get the extents forced by indexing.
       dim_vector rdv;
@@ -1344,7 +1344,7 @@
               if (isfill)
                 fill (rhs(0));
               else
-                *this = rhs.reshape (dimensions);
+                *this = rhs.reshape (m_dimensions);
             }
           else
             {
@@ -1406,7 +1406,7 @@
 
       octave_idx_type l, u;
       bool col_vec = ndims () == 2 && columns () == 1 && rows () != 1;
-      if (i.is_scalar () && i(0) == n-1 && dimensions.isvector ())
+      if (i.is_scalar () && i(0) == n-1 && m_dimensions.isvector ())
         {
           // Stack "pop" operation.
           resize1 (n-1);
@@ -1437,7 +1437,7 @@
   if (dim < 0 || dim >= ndims ())
     (*current_liboctave_error_handler) ("invalid dimension in delete_elements");
 
-  octave_idx_type n = dimensions(dim);
+  octave_idx_type n = m_dimensions(dim);
   if (i.is_colon ())
     {
       *this = Array<T> ();
@@ -1455,10 +1455,10 @@
           octave_idx_type nd = n + l - u;
           octave_idx_type dl = 1;
           octave_idx_type du = 1;
-          dim_vector rdv = dimensions;
+          dim_vector rdv = m_dimensions;
           rdv(dim) = nd;
-          for (int k = 0; k < dim; k++) dl *= dimensions(k);
-          for (int k = dim + 1; k < ndims (); k++) du *= dimensions(k);
+          for (int k = 0; k < dim; k++) dl *= m_dimensions(k);
+          for (int k = dim + 1; k < ndims (); k++) du *= m_dimensions(k);
 
           // Special case deleting a contiguous range.
           Array<T> tmp = Array<T> (rdv);
@@ -1509,7 +1509,7 @@
         }
       if (dim < 0)
         {
-          dim_vector dv = dimensions;
+          dim_vector dv = m_dimensions;
           dv(0) = 0;
           *this = Array<T> (dv);
         }
@@ -1538,7 +1538,7 @@
 
           for (int i = 0; i < ial; i++)
             {
-              octave_idx_type dim_len = (i >= nd ? 1 : dimensions(i));
+              octave_idx_type dim_len = (i >= nd ? 1 : m_dimensions(i));
 
               if (ia(i).length (dim_len) == 0)
                 {
@@ -1577,7 +1577,7 @@
       idx(0) = i;
       idx(1) = j;
       for (int k = 2; k < a.ndims (); k++)
-        idx(k) = octave::idx_vector (0, a.dimensions(k));
+        idx(k) = octave::idx_vector (0, a.m_dimensions(k));
       assign (idx, a);
     }
 
@@ -1746,7 +1746,7 @@
 {
   make_unique ();
 
-  return slice_data;
+  return m_slice_data;
 }
 
 // Non-real types don't have NaNs.
@@ -2299,9 +2299,9 @@
 
   if ((numel () == 1 && retval.isempty ())
       || (rows () == 0 && dims ().numel (1) == 0))
-    retval.dimensions = dim_vector ();
+    retval.m_dimensions = dim_vector ();
   else if (rows () == 1 && ndims () == 2)
-    retval.dimensions = dim_vector (1, retval.numel ());
+    retval.m_dimensions = dim_vector (1, retval.numel ());
 
   return retval;
 }
@@ -2740,12 +2740,12 @@
 void
 Array<T>::print_info (std::ostream& os, const std::string& prefix) const
 {
-  os << prefix << "rep address: " << rep << '\n'
-     << prefix << "rep->len:    " << rep->len << '\n'
-     << prefix << "rep->data:   " << static_cast<void *> (rep->data) << '\n'
-     << prefix << "rep->count:  " << rep->count << '\n'
-     << prefix << "slice_data:  " << static_cast<void *> (slice_data) << '\n'
-     << prefix << "slice_len:   " << slice_len << '\n';
+  os << prefix << "m_rep address:   " << m_rep << '\n'
+     << prefix << "m_rep->m_len:    " << m_rep->m_len << '\n'
+     << prefix << "m_rep->m_data:   " << static_cast<void *> (m_rep->m_data) << '\n'
+     << prefix << "m_rep->m_count:  " << m_rep->m_count << '\n'
+     << prefix << "m_slice_data:    " << static_cast<void *> (m_slice_data) << '\n'
+     << prefix << "m_slice_len:     " << m_slice_len << '\n';
 
   // 2D info:
   //
@@ -2756,9 +2756,9 @@
 template <typename T>
 bool Array<T>::optimize_dimensions (const dim_vector& dv)
 {
-  bool retval = dimensions == dv;
+  bool retval = m_dimensions == dv;
   if (retval)
-    dimensions = dv;
+    m_dimensions = dv;
 
   return retval;
 }
--- a/liboctave/array/Array.h	Thu Jul 15 16:11:12 2021 -0400
+++ b/liboctave/array/Array.h	Thu Jul 15 16:12:24 2021 -0400
@@ -136,46 +136,46 @@
   {
   public:
 
-    T *data;
-    octave_idx_type len;
-    octave::refcount<octave_idx_type> count;
+    T *m_data;
+    octave_idx_type m_len;
+    octave::refcount<octave_idx_type> m_count;
 
     ArrayRep (T *d, octave_idx_type l)
-      : data (new T [l]), len (l), count (1)
+      : m_data (new T [l]), m_len (l), m_count (1)
     {
-      std::copy_n (d, l, data);
+      std::copy_n (d, l, m_data);
     }
 
     template <typename U>
     ArrayRep (U *d, octave_idx_type l)
-      : data (new T [l]), len (l), count (1)
+      : m_data (new T [l]), m_len (l), m_count (1)
     {
-      std::copy_n (d, l, data);
+      std::copy_n (d, l, m_data);
     }
 
     // Use new instead of setting data to 0 so that fortran_vec and
     // data always return valid addresses, even for zero-size arrays.
 
-    ArrayRep (void) : data (new T [0]), len (0), count (1) { }
+    ArrayRep (void) : m_data (new T [0]), m_len (0), m_count (1) { }
 
     explicit ArrayRep (octave_idx_type n)
-      : data (new T [n]), len (n), count (1) { }
+      : m_data (new T [n]), m_len (n), m_count (1) { }
 
     explicit ArrayRep (octave_idx_type n, const T& val)
-      : data (new T [n]), len (n), count (1)
+      : m_data (new T [n]), m_len (n), m_count (1)
     {
-      std::fill_n (data, n, val);
+      std::fill_n (m_data, n, val);
     }
 
     ArrayRep (const ArrayRep& a)
-      : data (new T [a.len]), len (a.len), count (1)
+      : m_data (new T [a.m_len]), m_len (a.m_len), m_count (1)
     {
-      std::copy_n (a.data, a.len, data);
+      std::copy_n (a.m_data, a.m_len, m_data);
     }
 
-    ~ArrayRep (void) { delete [] data; }
+    ~ArrayRep (void) { delete [] m_data; }
 
-    octave_idx_type numel (void) const { return len; }
+    octave_idx_type numel (void) const { return m_len; }
 
   private:
 
@@ -190,15 +190,15 @@
 
   void make_unique (void)
   {
-    if (rep->count > 1)
+    if (m_rep->m_count > 1)
       {
-        ArrayRep *r = new ArrayRep (slice_data, slice_len);
+        ArrayRep *r = new ArrayRep (m_slice_data, m_slice_len);
 
-        if (--rep->count == 0)
-          delete rep;
+        if (--m_rep->m_count == 0)
+          delete m_rep;
 
-        rep = r;
-        slice_data = rep->data;
+        m_rep = r;
+        m_slice_data = m_rep->m_data;
       }
   }
 
@@ -217,27 +217,27 @@
 
 protected:
 
-  dim_vector dimensions;
+  dim_vector m_dimensions;
 
-  typename Array<T>::ArrayRep *rep;
+  typename Array<T>::ArrayRep *m_rep;
 
   // Rationale:
-  // slice_data is a pointer to rep->data, denoting together with slice_len the
+  // m_slice_data is a pointer to m_rep->m_data, denoting together with m_slice_len the
   // actual portion of the data referenced by this Array<T> object.  This
   // allows to make shallow copies not only of a whole array, but also of
-  // contiguous subranges.  Every time rep is directly manipulated, slice_data
-  // and slice_len need to be properly updated.
+  // contiguous subranges.  Every time m_rep is directly manipulated, m_slice_data
+  // and m_slice_len need to be properly updated.
 
-  T *slice_data;
-  octave_idx_type slice_len;
+  T *m_slice_data;
+  octave_idx_type m_slice_len;
 
   //! slice constructor
   Array (const Array<T>& a, const dim_vector& dv,
          octave_idx_type l, octave_idx_type u)
-    : dimensions (dv), rep(a.rep), slice_data (a.slice_data+l), slice_len (u-l)
+    : m_dimensions (dv), m_rep(a.m_rep), m_slice_data (a.m_slice_data+l), m_slice_len (u-l)
   {
-    rep->count++;
-    dimensions.chop_trailing_singletons ();
+    m_rep->m_count++;
+    m_dimensions.chop_trailing_singletons ();
   }
 
 private:
@@ -248,37 +248,37 @@
 
   //! For jit support
   Array (T *sdata, octave_idx_type slen, octave_idx_type *adims, void *arep)
-    : dimensions (adims),
-      rep (reinterpret_cast<typename Array<T>::ArrayRep *> (arep)),
-      slice_data (sdata), slice_len (slen) { }
+    : m_dimensions (adims),
+      m_rep (reinterpret_cast<typename Array<T>::ArrayRep *> (arep)),
+      m_slice_data (sdata), m_slice_len (slen) { }
 
 public:
 
   //! Empty ctor (0 by 0).
   Array (void)
-    : dimensions (), rep (nil_rep ()), slice_data (rep->data),
-      slice_len (rep->len)
+    : m_dimensions (), m_rep (nil_rep ()), m_slice_data (m_rep->m_data),
+      m_slice_len (m_rep->m_len)
   {
-    rep->count++;
+    m_rep->m_count++;
   }
 
   //! nD uninitialized ctor.
   explicit Array (const dim_vector& dv)
-    : dimensions (dv),
-      rep (new typename Array<T>::ArrayRep (dv.safe_numel ())),
-      slice_data (rep->data), slice_len (rep->len)
+    : m_dimensions (dv),
+      m_rep (new typename Array<T>::ArrayRep (dv.safe_numel ())),
+      m_slice_data (m_rep->m_data), m_slice_len (m_rep->m_len)
   {
-    dimensions.chop_trailing_singletons ();
+    m_dimensions.chop_trailing_singletons ();
   }
 
   //! nD initialized ctor.
   explicit Array (const dim_vector& dv, const T& val)
-    : dimensions (dv),
-      rep (new typename Array<T>::ArrayRep (dv.safe_numel ())),
-      slice_data (rep->data), slice_len (rep->len)
+    : m_dimensions (dv),
+      m_rep (new typename Array<T>::ArrayRep (dv.safe_numel ())),
+      m_slice_data (m_rep->m_data), m_slice_len (m_rep->m_len)
   {
     fill (val);
-    dimensions.chop_trailing_singletons ();
+    m_dimensions.chop_trailing_singletons ();
   }
 
   //! Reshape constructor.
@@ -291,26 +291,26 @@
   //! Type conversion case.
   template <typename U>
   Array (const Array<U>& a)
-    : dimensions (a.dims ()),
-      rep (new typename Array<T>::ArrayRep (a.data (), a.numel ())),
-      slice_data (rep->data), slice_len (rep->len)
+    : m_dimensions (a.dims ()),
+      m_rep (new typename Array<T>::ArrayRep (a.data (), a.numel ())),
+      m_slice_data (m_rep->m_data), m_slice_len (m_rep->m_len)
   { }
 
   //! No type conversion case.
   Array (const Array<T>& a)
-    : dimensions (a.dimensions), rep (a.rep), slice_data (a.slice_data),
-      slice_len (a.slice_len)
+    : m_dimensions (a.m_dimensions), m_rep (a.m_rep), m_slice_data (a.m_slice_data),
+      m_slice_len (a.m_slice_len)
   {
-    rep->count++;
+    m_rep->m_count++;
   }
 
   Array (Array<T>&& a)
-    : dimensions (std::move (a.dimensions)), rep (a.rep),
-      slice_data (a.slice_data), slice_len (a.slice_len)
+    : m_dimensions (std::move (a.m_dimensions)), m_rep (a.m_rep),
+      m_slice_data (a.m_slice_data), m_slice_len (a.m_slice_len)
   {
-    a.rep = nullptr;
-    a.slice_data = nullptr;
-    a.slice_len = 0;
+    a.m_rep = nullptr;
+    a.m_slice_data = nullptr;
+    a.m_slice_len = 0;
   }
 
 public:
@@ -318,26 +318,26 @@
   virtual ~Array (void)
   {
     // Because we define a move constructor and a move assignment
-    // operator, rep may be a nullptr here.  We should only need to
+    // operator, m_rep may be a nullptr here.  We should only need to
     // protect the move assignment operator in a similar way.
 
-    if (rep && --rep->count == 0)
-      delete rep;
+    if (m_rep && --m_rep->m_count == 0)
+      delete m_rep;
   }
 
   Array<T>& operator = (const Array<T>& a)
   {
     if (this != &a)
       {
-        if (--rep->count == 0)
-          delete rep;
+        if (--m_rep->m_count == 0)
+          delete m_rep;
 
-        rep = a.rep;
-        rep->count++;
+        m_rep = a.m_rep;
+        m_rep->m_count++;
 
-        dimensions = a.dimensions;
-        slice_data = a.slice_data;
-        slice_len = a.slice_len;
+        m_dimensions = a.m_dimensions;
+        m_slice_data = a.m_slice_data;
+        m_slice_len = a.m_slice_len;
       }
 
     return *this;
@@ -347,22 +347,22 @@
   {
     if (this != &a)
       {
-        dimensions = std::move (a.dimensions);
+        m_dimensions = std::move (a.m_dimensions);
 
         // Because we define a move constructor and a move assignment
-        // operator, rep may be a nullptr here.  We should only need to
+        // operator, m_rep may be a nullptr here.  We should only need to
         // protect the destructor in a similar way.
 
-        if (rep && --rep->count == 0)
-          delete rep;
+        if (m_rep && --m_rep->m_count == 0)
+          delete m_rep;
 
-        rep = a.rep;
-        slice_data = a.slice_data;
-        slice_len = a.slice_len;
+        m_rep = a.m_rep;
+        m_slice_data = a.m_slice_data;
+        m_slice_len = a.m_slice_len;
 
-        a.rep = nullptr;
-        a.slice_data = nullptr;
-        a.slice_len = 0;
+        a.m_rep = nullptr;
+        a.m_slice_data = nullptr;
+        a.m_slice_len = 0;
       }
 
     return *this;
@@ -377,15 +377,15 @@
   { clear (dim_vector (r, c)); }
 
   //! Number of elements in the array.
-  octave_idx_type numel (void) const { return slice_len; }
+  octave_idx_type numel (void) const { return m_slice_len; }
   //@}
 
   //! Return the array as a column vector.
   Array<T> as_column (void) const
   {
     Array<T> retval (*this);
-    if (dimensions.ndims () != 2 || dimensions(1) != 1)
-      retval.dimensions = dim_vector (numel (), 1);
+    if (m_dimensions.ndims () != 2 || m_dimensions(1) != 1)
+      retval.m_dimensions = dim_vector (numel (), 1);
 
     return retval;
   }
@@ -394,8 +394,8 @@
   Array<T> as_row (void) const
   {
     Array<T> retval (*this);
-    if (dimensions.ndims () != 2 || dimensions(0) != 1)
-      retval.dimensions = dim_vector (1, numel ());
+    if (m_dimensions.ndims () != 2 || m_dimensions(0) != 1)
+      retval.m_dimensions = dim_vector (1, numel ());
 
     return retval;
   }
@@ -404,8 +404,8 @@
   Array<T> as_matrix (void) const
   {
     Array<T> retval (*this);
-    if (dimensions.ndims () != 2)
-      retval.dimensions = dimensions.redim (2);
+    if (m_dimensions.ndims () != 2)
+      retval.m_dimensions = m_dimensions.redim (2);
 
     return retval;
   }
@@ -414,7 +414,7 @@
   //!
   //! Get the first dimension of the array (number of rows)
   //@{
-  octave_idx_type dim1 (void) const { return dimensions(0); }
+  octave_idx_type dim1 (void) const { return m_dimensions(0); }
   octave_idx_type rows (void) const { return dim1 (); }
   //@}
 
@@ -422,7 +422,7 @@
   //!
   //! Get the second dimension of the array (number of columns)
   //@{
-  octave_idx_type dim2 (void) const { return dimensions(1); }
+  octave_idx_type dim2 (void) const { return m_dimensions(1); }
   octave_idx_type cols (void) const { return dim2 (); }
   octave_idx_type columns (void) const { return dim2 (); }
   //@}
@@ -431,7 +431,7 @@
   //!
   //! Get the third dimension of the array (number of pages)
   //@{
-  octave_idx_type dim3 (void) const { return dimensions(2); }
+  octave_idx_type dim3 (void) const { return m_dimensions(2); }
   octave_idx_type pages (void) const { return dim3 (); }
   //@}
 
@@ -446,14 +446,14 @@
   {
     // Should we throw for negative values?
     // Should >= ndims () be handled by dim_vector operator() instead ?
-    return d >= ndims () ? 1 : dimensions(d);
+    return d >= ndims () ? 1 : m_dimensions(d);
   }
 
   std::size_t byte_size (void) const
   { return static_cast<std::size_t> (numel ()) * sizeof (T); }
 
   //! Return a const-reference so that dims ()(i) works efficiently.
-  const dim_vector& dims (void) const { return dimensions; }
+  const dim_vector& dims (void) const { return m_dimensions; }
 
   //! Chop off leading singleton dimensions
   OCTARRAY_API Array<T> squeeze (void) const;
@@ -465,12 +465,12 @@
 
   octave_idx_type compute_index_unchecked (const Array<octave_idx_type>& ra_idx)
   const
-  { return dimensions.compute_index (ra_idx.data (), ra_idx.numel ()); }
+  { return m_dimensions.compute_index (ra_idx.data (), ra_idx.numel ()); }
 
   // No checking, even for multiple references, ever.
 
-  T& xelem (octave_idx_type n) { return slice_data[n]; }
-  crefT xelem (octave_idx_type n) const { return slice_data[n]; }
+  T& xelem (octave_idx_type n) { return m_slice_data[n]; }
+  crefT xelem (octave_idx_type n) const { return m_slice_data[n]; }
 
   T& xelem (octave_idx_type i, octave_idx_type j)
   { return xelem (dim1 ()*j+i); }
@@ -574,22 +574,22 @@
 
   bool isempty (void) const { return numel () == 0; }
 
-  bool isvector (void) const { return dimensions.isvector (); }
+  bool isvector (void) const { return m_dimensions.isvector (); }
 
-  bool is_nd_vector (void) const { return dimensions.is_nd_vector (); }
+  bool is_nd_vector (void) const { return m_dimensions.is_nd_vector (); }
 
   OCTARRAY_API Array<T> transpose (void) const;
   OCTARRAY_API Array<T> hermitian (T (*fcn) (const T&) = nullptr) const;
 
-  const T * data (void) const { return slice_data; }
+  const T * data (void) const { return m_slice_data; }
 
   const T * fortran_vec (void) const { return data (); }
 
   OCTARRAY_API T * fortran_vec (void);
 
-  bool is_shared (void) { return rep->count > 1; }
+  bool is_shared (void) { return m_rep->m_count > 1; }
 
-  int ndims (void) const { return dimensions.ndims (); }
+  int ndims (void) const { return m_dimensions.ndims (); }
 
   //@{
   //! Indexing without resizing.
@@ -691,12 +691,12 @@
 
   void maybe_economize (void)
   {
-    if (rep->count == 1 && slice_len != rep->len)
+    if (m_rep->m_count == 1 && m_slice_len != m_rep->m_len)
       {
-        ArrayRep *new_rep = new ArrayRep (slice_data, slice_len);
-        delete rep;
-        rep = new_rep;
-        slice_data = rep->data;
+        ArrayRep *new_rep = new ArrayRep (m_slice_data, m_slice_len);
+        delete m_rep;
+        m_rep = new_rep;
+        m_slice_data = m_rep->m_data;
       }
   }
 
@@ -835,7 +835,7 @@
 
   template <typename U> friend class Array;
 
-  //! Returns true if this->dims () == dv, and if so, replaces this->dimensions
+  //! Returns true if this->dims () == dv, and if so, replaces this->m_dimensions
   //! by a shallow copy of dv.  This is useful for maintaining several arrays
   //! with supposedly equal dimensions (e.g. structs in the interpreter).
   OCTARRAY_API bool optimize_dimensions (const dim_vector& dv);
@@ -843,13 +843,13 @@
   //@{
   //! WARNING: Only call these functions from jit
 
-  int jit_ref_count (void) { return rep->count.value (); }
+  int jit_ref_count (void) { return m_rep->m_count.value (); }
 
-  T * jit_slice_data (void) const { return slice_data; }
+  T * jit_slice_data (void) const { return m_slice_data; }
 
-  octave_idx_type * jit_dimensions (void) const { return dimensions.to_jit (); }
+  octave_idx_type * jit_dimensions (void) const { return m_dimensions.to_jit (); }
 
-  void * jit_array_rep (void) const { return rep; }
+  void * jit_array_rep (void) const { return m_rep; }
   //@}
 
 private:
@@ -862,12 +862,12 @@
 template<typename T>
 template<template <typename...> class Container>
 Array<T>::Array (const Container<T>& a, const dim_vector& dv)
-  : dimensions (dv), rep (new typename Array<T>::ArrayRep (dv.safe_numel ())),
-    slice_data (rep->data), slice_len (rep->len)
+  : m_dimensions (dv), m_rep (new typename Array<T>::ArrayRep (dv.safe_numel ())),
+    m_slice_data (m_rep->m_data), m_slice_len (m_rep->m_len)
 {
-  if (dimensions.safe_numel () != octave_idx_type (a.size ()))
+  if (m_dimensions.safe_numel () != octave_idx_type (a.size ()))
     {
-      std::string new_dims_str = dimensions.str ();
+      std::string new_dims_str = m_dimensions.str ();
 
       (*current_liboctave_error_handler)
         ("reshape: can't reshape %zi elements into %s array",
@@ -876,9 +876,9 @@
 
   octave_idx_type i = 0;
   for (const T& x : a)
-    slice_data[i++] = x;
+    m_slice_data[i++] = x;
 
-  dimensions.chop_trailing_singletons ();
+  m_dimensions.chop_trailing_singletons ();
 }
 
 template <typename T>
--- a/liboctave/array/CNDArray.cc	Thu Jul 15 16:11:12 2021 -0400
+++ b/liboctave/array/CNDArray.cc	Thu Jul 15 16:12:24 2021 -0400
@@ -508,10 +508,11 @@
 ComplexNDArray::insert (const NDArray& a, octave_idx_type r, octave_idx_type c)
 {
   dim_vector a_dv = a.dims ();
+  dim_vector dv = dims ();
 
   int n = a_dv.ndims ();
 
-  if (n != dimensions.ndims ())
+  if (n != dv.ndims ())
     (*current_liboctave_error_handler)
       ("Array<T>::insert: invalid indexing operation");
 
@@ -522,7 +523,7 @@
 
   for (int i = 0; i < n; i++)
     {
-      if (a_ra_idx(i) < 0 || (a_ra_idx(i) + a_dv(i)) > dimensions(i))
+      if (a_ra_idx(i) < 0 || (a_ra_idx(i) + a_dv(i)) > dv(i))
         (*current_liboctave_error_handler)
           ("Array<T>::insert: range error for insert");
     }
--- a/liboctave/array/DiagArray2.cc	Thu Jul 15 16:11:12 2021 -0400
+++ b/liboctave/array/DiagArray2.cc	Thu Jul 15 16:12:24 2021 -0400
@@ -38,7 +38,7 @@
 template <typename T>
 DiagArray2<T>::DiagArray2 (const Array<T>& a, octave_idx_type r,
                            octave_idx_type c)
-  : Array<T> (a.as_column ()), d1 (r), d2 (c)
+  : Array<T> (a.as_column ()), m_d1 (r), m_d2 (c)
 {
   octave_idx_type rcmin = std::min (r, c);
   if (rcmin != a.numel ())
@@ -68,14 +68,14 @@
 DiagArray2<T>
 DiagArray2<T>::transpose (void) const
 {
-  return DiagArray2<T> (*this, d2, d1);
+  return DiagArray2<T> (*this, m_d2, m_d1);
 }
 
 template <typename T>
 DiagArray2<T>
 DiagArray2<T>::hermitian (T (* fcn) (const T&)) const
 {
-  return DiagArray2<T> (Array<T>::template map<T> (fcn), d2, d1);
+  return DiagArray2<T> (Array<T>::template map<T> (fcn), m_d2, m_d1);
 }
 
 // A two-dimensional array with diagonal elements only.
@@ -107,7 +107,7 @@
   if (r != dim1 () || c != dim2 ())
     {
       Array<T>::resize (dim_vector (std::min (r, c), 1), rfv);
-      d1 = r; d2 = c;
+      m_d1 = r; m_d2 = c;
     }
 }
 
--- a/liboctave/array/DiagArray2.h	Thu Jul 15 16:11:12 2021 -0400
+++ b/liboctave/array/DiagArray2.h	Thu Jul 15 16:12:24 2021 -0400
@@ -42,32 +42,32 @@
 DiagArray2 : protected Array<T>
 {
 protected:
-  octave_idx_type d1, d2;
+  octave_idx_type m_d1, m_d2;
 
 public:
 
   using typename Array<T>::element_type;
 
   DiagArray2 (void)
-    : Array<T> (), d1 (0), d2 (0) { }
+    : Array<T> (), m_d1 (0), m_d2 (0) { }
 
   DiagArray2 (octave_idx_type r, octave_idx_type c)
-    : Array<T> (dim_vector (std::min (r, c), 1)), d1 (r), d2 (c) { }
+    : Array<T> (dim_vector (std::min (r, c), 1)), m_d1 (r), m_d2 (c) { }
 
   DiagArray2 (octave_idx_type r, octave_idx_type c, const T& val)
-    : Array<T> (dim_vector (std::min (r, c), 1), val), d1 (r), d2 (c) { }
+    : Array<T> (dim_vector (std::min (r, c), 1), val), m_d1 (r), m_d2 (c) { }
 
   explicit DiagArray2 (const Array<T>& a)
-    : Array<T> (a.as_column ()), d1 (a.numel ()), d2 (a.numel ()) { }
+    : Array<T> (a.as_column ()), m_d1 (a.numel ()), m_d2 (a.numel ()) { }
 
   DiagArray2 (const Array<T>& a, octave_idx_type r, octave_idx_type c);
 
   DiagArray2 (const DiagArray2<T>& a)
-    : Array<T> (a), d1 (a.d1), d2 (a.d2) { }
+    : Array<T> (a), m_d1 (a.m_d1), m_d2 (a.m_d2) { }
 
   template <typename U>
   DiagArray2 (const DiagArray2<U>& a)
-    : Array<T> (a.extract_diag ()), d1 (a.dim1 ()), d2 (a.dim2 ()) { }
+    : Array<T> (a.extract_diag ()), m_d1 (a.dim1 ()), m_d2 (a.dim2 ()) { }
 
   ~DiagArray2 (void) = default;
 
@@ -76,15 +76,15 @@
     if (this != &a)
       {
         Array<T>::operator = (a);
-        d1 = a.d1;
-        d2 = a.d2;
+        m_d1 = a.m_d1;
+        m_d2 = a.m_d2;
       }
 
     return *this;
   }
 
-  octave_idx_type dim1 (void) const { return d1; }
-  octave_idx_type dim2 (void) const { return d2; }
+  octave_idx_type dim1 (void) const { return m_d1; }
+  octave_idx_type dim2 (void) const { return m_d2; }
 
   octave_idx_type rows (void) const { return dim1 (); }
   octave_idx_type cols (void) const { return dim2 (); }
@@ -98,7 +98,7 @@
 
   std::size_t byte_size (void) const { return Array<T>::byte_size (); }
 
-  dim_vector dims (void) const { return dim_vector (d1, d2); }
+  dim_vector dims (void) const { return dim_vector (m_d1, m_d2); }
 
   bool isempty (void) const { return numel () == 0; }
 
--- a/liboctave/array/MDiagArray2.cc	Thu Jul 15 16:11:12 2021 -0400
+++ b/liboctave/array/MDiagArray2.cc	Thu Jul 15 16:12:24 2021 -0400
@@ -54,12 +54,13 @@
 
 // Element by element MDiagArray2 by scalar ops.
 
-#define MARRAY_DAS_OP(OP, FN)                                           \
-  template <typename T>                                                 \
-  MDiagArray2<T>                                                        \
-  operator OP (const MDiagArray2<T>& a, const T& s)                     \
-  {                                                                     \
-    return MDiagArray2<T> (do_ms_binary_op<T, T, T> (a, s, FN), a.d1, a.d2); \
+#define MARRAY_DAS_OP(OP, FN)                                   \
+  template <typename T>                                         \
+  MDiagArray2<T>                                                \
+  operator OP (const MDiagArray2<T>& a, const T& s)             \
+  {                                                             \
+    return MDiagArray2<T> (do_ms_binary_op<T, T, T> (a, s, FN), \
+                           a.m_d1, a.m_d2);                     \
   }
 
 MARRAY_DAS_OP (*, mx_inline_mul)
@@ -72,7 +73,7 @@
 operator * (const T& s, const MDiagArray2<T>& a)
 {
   return MDiagArray2<T> (do_sm_binary_op<T, T, T> (s, a, mx_inline_mul),
-                         a.d1, a.d2);
+                         a.m_d1, a.m_d2);
 }
 
 // Element by element MDiagArray2 by MDiagArray2 ops.
@@ -82,10 +83,11 @@
   MDiagArray2<T>                                                        \
   FCN (const MDiagArray2<T>& a, const MDiagArray2<T>& b)                \
   {                                                                     \
-    if (a.d1 != b.d1 || a.d2 != b.d2)                                   \
-      octave::err_nonconformant (#FCN, a.d1, a.d2, b.d1, b.d2);                 \
+    if (a.m_d1 != b.m_d1 || a.m_d2 != b.m_d2)                           \
+      octave::err_nonconformant (#FCN, a.m_d1, a.m_d2, b.m_d1, b.m_d2); \
                                                                         \
-    return MDiagArray2<T> (do_mm_binary_op<T, T, T> (a, b, FN, FN, FN, #FCN), a.d1, a.d2); \
+    return MDiagArray2<T> (do_mm_binary_op<T, T, T> (a, b, FN, FN, FN, #FCN), \
+                           a.m_d1, a.m_d2);                             \
   }
 
 MARRAY_DADA_OP (operator +, +, mx_inline_add)
@@ -106,5 +108,5 @@
 operator - (const MDiagArray2<T>& a)
 {
   return MDiagArray2<T> (do_mx_unary_op<T, T> (a, mx_inline_uminus),
-                         a.d1, a.d2);
+                         a.m_d1, a.m_d2);
 }
--- a/liboctave/array/Sparse.cc	Thu Jul 15 16:11:12 2021 -0400
+++ b/liboctave/array/Sparse.cc	Thu Jul 15 16:12:24 2021 -0400
@@ -68,39 +68,39 @@
 {
   octave_idx_type i;
 
-  if (nzmx <= 0)
+  if (m_nzmx <= 0)
     (*current_liboctave_error_handler)
       ("Sparse::SparseRep::elem (octave_idx_type, octave_idx_type): sparse matrix filled");
 
-  for (i = c[_c]; i < c[_c + 1]; i++)
-    if (r[i] == _r)
-      return d[i];
-    else if (r[i] > _r)
+  for (i = m_c[_c]; i < m_c[_c + 1]; i++)
+    if (m_r[i] == _r)
+      return m_d[i];
+    else if (m_r[i] > _r)
       break;
 
   // Ok, If we've gotten here, we're in trouble.  Have to create a
   // new element in the sparse array.  This' gonna be slow!!!
-  if (c[ncols] == nzmx)
+  if (m_c[m_ncols] == m_nzmx)
     (*current_liboctave_error_handler)
       ("Sparse::SparseRep::elem (octave_idx_type, octave_idx_type): sparse matrix filled");
 
-  octave_idx_type to_move = c[ncols] - i;
+  octave_idx_type to_move = m_c[m_ncols] - i;
   if (to_move != 0)
     {
-      for (octave_idx_type j = c[ncols]; j > i; j--)
+      for (octave_idx_type j = m_c[m_ncols]; j > i; j--)
         {
-          d[j] = d[j-1];
-          r[j] = r[j-1];
+          m_d[j] = m_d[j-1];
+          m_r[j] = m_r[j-1];
         }
     }
 
-  for (octave_idx_type j = _c + 1; j < ncols + 1; j++)
-    c[j] = c[j] + 1;
-
-  d[i] = 0.;
-  r[i] = _r;
-
-  return d[i];
+  for (octave_idx_type j = _c + 1; j < m_ncols + 1; j++)
+    m_c[j] = m_c[j] + 1;
+
+  m_d[i] = 0.;
+  m_r[i] = _r;
+
+  return m_d[i];
 }
 
 template <typename T>
@@ -108,10 +108,10 @@
 T
 Sparse<T>::SparseRep::celem (octave_idx_type _r, octave_idx_type _c) const
 {
-  if (nzmx > 0)
-    for (octave_idx_type i = c[_c]; i < c[_c + 1]; i++)
-      if (r[i] == _r)
-        return d[i];
+  if (m_nzmx > 0)
+    for (octave_idx_type i = m_c[_c]; i < m_c[_c + 1]; i++)
+      if (m_r[i] == _r)
+        return m_d[i];
   return T ();
 }
 
@@ -124,20 +124,20 @@
     {
       octave_idx_type i = 0;
       octave_idx_type k = 0;
-      for (octave_idx_type j = 1; j <= ncols; j++)
+      for (octave_idx_type j = 1; j <= m_ncols; j++)
         {
-          octave_idx_type u = c[j];
+          octave_idx_type u = m_c[j];
           for (; i < u; i++)
-            if (d[i] != T ())
+            if (m_d[i] != T ())
               {
-                d[k] = d[i];
-                r[k++] = r[i];
+                m_d[k] = m_d[i];
+                m_r[k++] = m_r[i];
               }
-          c[j] = k;
+          m_c[j] = k;
         }
     }
 
-  change_length (c[ncols]);
+  change_length (m_c[m_ncols]);
 }
 
 template <typename T>
@@ -145,32 +145,32 @@
 void
 Sparse<T>::SparseRep::change_length (octave_idx_type nz)
 {
-  for (octave_idx_type j = ncols; j > 0 && c[j] > nz; j--)
-    c[j] = nz;
+  for (octave_idx_type j = m_ncols; j > 0 && m_c[j] > nz; j--)
+    m_c[j] = nz;
 
   // Always preserve space for 1 element.
   nz = (nz > 0 ? nz : 1);
 
   // Skip reallocation if we have less than 1/frac extra elements to discard.
   static const int frac = 5;
-  if (nz > nzmx || nz < nzmx - nzmx/frac)
+  if (nz > m_nzmx || nz < m_nzmx - m_nzmx/frac)
     {
       // Reallocate.
-      octave_idx_type min_nzmx = std::min (nz, nzmx);
+      octave_idx_type min_nzmx = std::min (nz, m_nzmx);
 
       octave_idx_type *new_ridx = new octave_idx_type [nz];
-      std::copy_n (r, min_nzmx, new_ridx);
-
-      delete [] r;
-      r = new_ridx;
+      std::copy_n (m_r, min_nzmx, new_ridx);
+
+      delete [] m_r;
+      m_r = new_ridx;
 
       T *new_data = new T [nz];
-      std::copy_n (d, min_nzmx, new_data);
-
-      delete [] d;
-      d = new_data;
-
-      nzmx = nz;
+      std::copy_n (m_d, min_nzmx, new_data);
+
+      delete [] m_d;
+      m_d = new_data;
+
+      m_nzmx = nz;
     }
 }
 
@@ -179,7 +179,7 @@
 bool
 Sparse<T>::SparseRep::indices_ok (void) const
 {
-  return sparse_indices_ok (r, c, nrows, ncols, nnz ());
+  return sparse_indices_ok (m_r, m_c, m_nrows, m_ncols, nnz ());
 }
 
 template <typename T>
@@ -190,7 +190,7 @@
   octave_idx_type nz = nnz ();
 
   for (octave_idx_type i = 0; i < nz; i++)
-    if (octave::math::isnan (d[i]))
+    if (octave::math::isnan (m_d[i]))
       return true;
 
   return false;
@@ -199,11 +199,11 @@
 template <typename T>
 OCTAVE_API
 Sparse<T>::Sparse (octave_idx_type nr, octave_idx_type nc, T val)
-  : rep (nullptr), dimensions (dim_vector (nr, nc))
+  : m_rep (nullptr), m_dimensions (dim_vector (nr, nc))
 {
   if (val != T ())
     {
-      rep = new typename Sparse<T>::SparseRep (nr, nc, dimensions.safe_numel ());
+      m_rep = new typename Sparse<T>::SparseRep (nr, nc, m_dimensions.safe_numel ());
 
       octave_idx_type ii = 0;
       xcidx (0) = 0;
@@ -219,7 +219,7 @@
     }
   else
     {
-      rep = new typename Sparse<T>::SparseRep (nr, nc, 0);
+      m_rep = new typename Sparse<T>::SparseRep (nr, nc, 0);
       for (octave_idx_type j = 0; j < nc+1; j++)
         xcidx (j) = 0;
     }
@@ -228,8 +228,8 @@
 template <typename T>
 OCTAVE_API
 Sparse<T>::Sparse (const PermMatrix& a)
-  : rep (new typename Sparse<T>::SparseRep (a.rows (), a.cols (), a.rows ())),
-    dimensions (dim_vector (a.rows (), a.cols ()))
+  : m_rep (new typename Sparse<T>::SparseRep (a.rows (), a.cols (), a.rows ())),
+    m_dimensions (dim_vector (a.rows (), a.cols ()))
 {
   octave_idx_type n = a.rows ();
   for (octave_idx_type i = 0; i <= n; i++)
@@ -247,19 +247,19 @@
 template <typename T>
 OCTAVE_API
 Sparse<T>::Sparse (const dim_vector& dv)
-  : rep (nullptr), dimensions (dv)
+  : m_rep (nullptr), m_dimensions (dv)
 {
   if (dv.ndims () != 2)
     (*current_liboctave_error_handler)
       ("Sparse::Sparse (const dim_vector&): dimension mismatch");
 
-  rep = new typename Sparse<T>::SparseRep (dv(0), dv(1), 0);
+  m_rep = new typename Sparse<T>::SparseRep (dv(0), dv(1), 0);
 }
 
 template <typename T>
 OCTAVE_API
 Sparse<T>::Sparse (const Sparse<T>& a, const dim_vector& dv)
-  : rep (nullptr), dimensions (dv)
+  : m_rep (nullptr), m_dimensions (dv)
 {
 
   // Work in unsigned long long to avoid overflow issues with numel
@@ -279,7 +279,7 @@
   octave_idx_type old_nr = old_dims(0);
   octave_idx_type old_nc = old_dims(1);
 
-  rep = new typename Sparse<T>::SparseRep (new_nr, new_nc, new_nzmx);
+  m_rep = new typename Sparse<T>::SparseRep (new_nr, new_nc, new_nzmx);
 
   octave_idx_type kk = 0;
   xcidx (0) = 0;
@@ -305,7 +305,7 @@
                    const octave::idx_vector& c, octave_idx_type nr,
                    octave_idx_type nc, bool sum_terms,
                    octave_idx_type nzm)
-  : rep (nullptr), dimensions ()
+  : m_rep (nullptr), m_dimensions ()
 {
   if (nr < 0)
     nr = r.extent (0);
@@ -321,7 +321,7 @@
       ("sparse: column index %" OCTAVE_IDX_TYPE_FORMAT " out of bound "
        "%" OCTAVE_IDX_TYPE_FORMAT, r.extent (nc), nc);
 
-  dimensions = dim_vector (nr, nc);
+  m_dimensions = dim_vector (nr, nc);
 
   octave_idx_type n = a.numel ();
   octave_idx_type rl = r.length (nr);
@@ -338,8 +338,8 @@
   if ((rl != 1 && rl != n) || (cl != 1 && cl != n))
     (*current_liboctave_error_handler) ("sparse: dimension mismatch");
 
-  // Only create rep after input validation to avoid memory leak.
-  rep = new typename Sparse<T>::SparseRep (nr, nc, (nzm > 0 ? nzm : 0));
+  // Only create m_rep after input validation to avoid memory leak.
+  m_rep = new typename Sparse<T>::SparseRep (nr, nc, (nzm > 0 ? nzm : 0));
 
   if (rl <= 1 && cl <= 1)
     {
@@ -670,9 +670,9 @@
 template <typename T>
 OCTAVE_API
 Sparse<T>::Sparse (const Array<T>& a)
-  : rep (nullptr), dimensions (a.dims ())
+  : m_rep (nullptr), m_dimensions (a.dims ())
 {
-  if (dimensions.ndims () > 2)
+  if (m_dimensions.ndims () > 2)
     (*current_liboctave_error_handler)
       ("Sparse::Sparse (const Array<T>&): dimension mismatch");
 
@@ -686,7 +686,7 @@
     if (a(i) != T ())
       new_nzmx++;
 
-  rep = new typename Sparse<T>::SparseRep (nr, nc, new_nzmx);
+  m_rep = new typename Sparse<T>::SparseRep (nr, nc, new_nzmx);
 
   octave_idx_type ii = 0;
   xcidx (0) = 0;
@@ -706,8 +706,8 @@
 OCTAVE_API
 Sparse<T>::~Sparse (void)
 {
-  if (--rep->count == 0)
-    delete rep;
+  if (--m_rep->m_count == 0)
+    delete m_rep;
 }
 
 template <typename T>
@@ -716,13 +716,13 @@
 {
   if (this != &a)
     {
-      if (--rep->count == 0)
-        delete rep;
-
-      rep = a.rep;
-      rep->count++;
-
-      dimensions = a.dimensions;
+      if (--m_rep->m_count == 0)
+        delete m_rep;
+
+      m_rep = a.m_rep;
+      m_rep->m_count++;
+
+      m_dimensions = a.m_dimensions;
     }
 
   return *this;
@@ -733,7 +733,7 @@
 octave_idx_type
 Sparse<T>::compute_index (const Array<octave_idx_type>& ra_idx) const
 {
-  octave_idx_type n = dimensions.ndims ();
+  octave_idx_type n = m_dimensions.ndims ();
 
   if (n <= 0 || n != ra_idx.numel ())
     (*current_liboctave_error_handler)
@@ -745,7 +745,7 @@
 
   while (--n >= 0)
     {
-      retval *= dimensions(n);
+      retval *= m_dimensions(n);
       retval += ra_idx(n);
     }
 
@@ -860,9 +860,9 @@
       dims2.resize (2);
     }
 
-  if (dimensions != dims2)
+  if (m_dimensions != dims2)
     {
-      if (dimensions.numel () == dims2.numel ())
+      if (m_dimensions.numel () == dims2.numel ())
         {
           octave_idx_type new_nnz = nnz ();
           octave_idx_type new_nr = dims2 (0);
@@ -906,7 +906,7 @@
         }
       else
         {
-          std::string dimensions_str = dimensions.str ();
+          std::string dimensions_str = m_dimensions.str ();
           std::string new_dims_str = new_dims.str ();
 
           (*current_liboctave_error_handler)
@@ -993,7 +993,7 @@
   if (r == dim1 () && c == dim2 ())
     return;
 
-  // This wouldn't be necessary for r >= rows () if nrows wasn't part of the
+  // This wouldn't be necessary for r >= rows () if m_nrows wasn't part of the
   // Sparse rep.  It is not good for anything in there.
   make_unique ();
 
@@ -1001,7 +1001,7 @@
     {
       octave_idx_type i = 0;
       octave_idx_type k = 0;
-      for (octave_idx_type j = 1; j <= rep->ncols; j++)
+      for (octave_idx_type j = 1; j <= m_rep->m_ncols; j++)
         {
           octave_idx_type u = xcidx (j);
           for (; i < u; i++)
@@ -1014,23 +1014,23 @@
         }
     }
 
-  rep->nrows = dimensions(0) = r;
-
-  if (c != rep->ncols)
+  m_rep->m_nrows = m_dimensions(0) = r;
+
+  if (c != m_rep->m_ncols)
     {
       octave_idx_type *new_cidx = new octave_idx_type [c+1];
-      std::copy_n (rep->c, std::min (c, rep->ncols) + 1, new_cidx);
-      delete [] rep->c;
-      rep->c = new_cidx;
-
-      if (c > rep->ncols)
-        std::fill_n (rep->c + rep->ncols + 1, c - rep->ncols,
-                     rep->c[rep->ncols]);
+      std::copy_n (m_rep->m_c, std::min (c, m_rep->m_ncols) + 1, new_cidx);
+      delete [] m_rep->m_c;
+      m_rep->m_c = new_cidx;
+
+      if (c > m_rep->m_ncols)
+        std::fill_n (m_rep->m_c + m_rep->m_ncols + 1, c - m_rep->m_ncols,
+                     m_rep->m_c[m_rep->m_ncols]);
     }
 
-  rep->ncols = dimensions(1) = c;
-
-  rep->change_length (rep->nnz ());
+  m_rep->m_ncols = m_dimensions(1) = c;
+
+  m_rep->change_length (m_rep->nnz ());
 }
 
 template <typename T>
@@ -1058,8 +1058,8 @@
         nel++;
 
   Sparse<T> tmp (*this);
-  --rep->count;
-  rep = new typename Sparse<T>::SparseRep (nr, nc, nel);
+  --m_rep->m_count;
+  m_rep = new typename Sparse<T>::SparseRep (nr, nc, nel);
 
   for (octave_idx_type i = 0; i < tmp.cidx (c); i++)
     {
@@ -1901,7 +1901,7 @@
 
       if (idx.is_colon ())
         {
-          *this = rhs.reshape (dimensions);
+          *this = rhs.reshape (m_dimensions);
         }
       else if (nc == 1 && rhs.cols () == 1)
         {
@@ -1999,7 +1999,7 @@
         }
       else
         {
-          dim_vector save_dims = dimensions;
+          dim_vector save_dims = m_dimensions;
           *this = index (octave::idx_vector::colon);
           assign (idx, rhs.index (octave::idx_vector::colon));
           *this = reshape (save_dims);
@@ -3081,14 +3081,14 @@
 void
 Sparse<T>::print_info (std::ostream& os, const std::string& prefix) const
 {
-  os << prefix << "rep address: " << rep << "\n"
-     << prefix << "rep->nzmx:   " << rep->nzmx  << "\n"
-     << prefix << "rep->nrows:  " << rep->nrows << "\n"
-     << prefix << "rep->ncols:  " << rep->ncols << "\n"
-     << prefix << "rep->data:   " << static_cast<void *> (rep->d) << "\n"
-     << prefix << "rep->ridx:   " << static_cast<void *> (rep->r) << "\n"
-     << prefix << "rep->cidx:   " << static_cast<void *> (rep->c) << "\n"
-     << prefix << "rep->count:  " << rep->count << "\n";
+  os << prefix << "m_rep address:  " << m_rep << "\n"
+     << prefix << "m_rep->m_nzmx:  " << m_rep->m_nzmx  << "\n"
+     << prefix << "m_rep->m_nrows: " << m_rep->m_nrows << "\n"
+     << prefix << "m_rep->m_ncols: " << m_rep->m_ncols << "\n"
+     << prefix << "m_rep->data:    " << static_cast<void *> (m_rep->m_d) << "\n"
+     << prefix << "m_rep->ridx:    " << static_cast<void *> (m_rep->m_r) << "\n"
+     << prefix << "m_rep->cidx:    " << static_cast<void *> (m_rep->m_c) << "\n"
+     << prefix << "m_rep->m_count: " << m_rep->m_count << "\n";
 }
 
 #if defined (__clang__)
--- a/liboctave/array/Sparse.h	Thu Jul 15 16:11:12 2021 -0400
+++ b/liboctave/array/Sparse.h	Thu Jul 15 16:12:24 2021 -0400
@@ -62,65 +62,65 @@
   {
   public:
 
-    T *d;
-    octave_idx_type *r;
-    octave_idx_type *c;
-    octave_idx_type nzmx;
-    octave_idx_type nrows;
-    octave_idx_type ncols;
-    octave::refcount<octave_idx_type> count;
+    T *m_d;
+    octave_idx_type *m_r;
+    octave_idx_type *m_c;
+    octave_idx_type m_nzmx;
+    octave_idx_type m_nrows;
+    octave_idx_type m_ncols;
+    octave::refcount<octave_idx_type> m_count;
 
     SparseRep (void)
-      : d (new T [1]), r (new octave_idx_type [1] {}),
-        c (new octave_idx_type [1] {}),
-        nzmx (1), nrows (0), ncols (0), count (1)
+      : m_d (new T [1]), m_r (new octave_idx_type [1] {}),
+        m_c (new octave_idx_type [1] {}),
+        m_nzmx (1), m_nrows (0), m_ncols (0), m_count (1)
     { }
 
     SparseRep (octave_idx_type n)
-      : d (new T [1]), r (new octave_idx_type [1] {}),
-        c (new octave_idx_type [n+1] {}),
-        nzmx (1), nrows (n), ncols (n), count (1)
+      : m_d (new T [1]), m_r (new octave_idx_type [1] {}),
+        m_c (new octave_idx_type [n+1] {}),
+        m_nzmx (1), m_nrows (n), m_ncols (n), m_count (1)
     { }
 
     SparseRep (octave_idx_type nr, octave_idx_type nc, octave_idx_type nz = 1)
-      : d (nz > 0 ? new T [nz] : new T [1]),
-        r (nz > 0 ? new octave_idx_type [nz] {} : new octave_idx_type [1] {}),
-        c (new octave_idx_type [nc+1] {}),
-        nzmx (nz > 0 ? nz : 1), nrows (nr), ncols (nc), count (1)
+      : m_d (nz > 0 ? new T [nz] : new T [1]),
+        m_r (nz > 0 ? new octave_idx_type [nz] {} : new octave_idx_type [1] {}),
+        m_c (new octave_idx_type [nc+1] {}),
+        m_nzmx (nz > 0 ? nz : 1), m_nrows (nr), m_ncols (nc), m_count (1)
     { }
 
     SparseRep (const SparseRep& a)
-      : d (new T [a.nzmx]), r (new octave_idx_type [a.nzmx]),
-        c (new octave_idx_type [a.ncols + 1]),
-        nzmx (a.nzmx), nrows (a.nrows), ncols (a.ncols), count (1)
+      : m_d (new T [a.m_nzmx]), m_r (new octave_idx_type [a.m_nzmx]),
+        m_c (new octave_idx_type [a.m_ncols + 1]),
+        m_nzmx (a.m_nzmx), m_nrows (a.m_nrows), m_ncols (a.m_ncols), m_count (1)
     {
       octave_idx_type nz = a.nnz ();
-      std::copy_n (a.d, nz, d);
-      std::copy_n (a.r, nz, r);
-      std::copy_n (a.c, ncols + 1, c);
+      std::copy_n (a.m_d, nz, m_d);
+      std::copy_n (a.m_r, nz, m_r);
+      std::copy_n (a.m_c, m_ncols + 1, m_c);
     }
 
-    ~SparseRep (void) { delete [] d; delete [] r; delete [] c; }
+    ~SparseRep (void) { delete [] m_d; delete [] m_r; delete [] m_c; }
 
-    octave_idx_type length (void) const { return nzmx; }
+    octave_idx_type length (void) const { return m_nzmx; }
 
-    octave_idx_type nnz (void) const { return c[ncols]; }
+    octave_idx_type nnz (void) const { return m_c[m_ncols]; }
 
     OCTAVE_API T& elem (octave_idx_type _r, octave_idx_type _c);
 
     OCTAVE_API T celem (octave_idx_type _r, octave_idx_type _c) const;
 
-    T& data (octave_idx_type i) { return d[i]; }
+    T& data (octave_idx_type i) { return m_d[i]; }
 
-    T cdata (octave_idx_type i) const { return d[i]; }
+    T cdata (octave_idx_type i) const { return m_d[i]; }
 
-    octave_idx_type& ridx (octave_idx_type i) { return r[i]; }
+    octave_idx_type& ridx (octave_idx_type i) { return m_r[i]; }
 
-    octave_idx_type cridx (octave_idx_type i) const { return r[i]; }
+    octave_idx_type cridx (octave_idx_type i) const { return m_r[i]; }
 
-    octave_idx_type& cidx (octave_idx_type i) { return c[i]; }
+    octave_idx_type& cidx (octave_idx_type i) { return m_c[i]; }
 
-    octave_idx_type ccidx (octave_idx_type i) const { return c[i]; }
+    octave_idx_type ccidx (octave_idx_type i) const { return m_c[i]; }
 
     OCTAVE_API void maybe_compress (bool remove_zeros);
 
@@ -141,14 +141,14 @@
 
   void make_unique (void)
   {
-    if (rep->count > 1)
+    if (m_rep->m_count > 1)
       {
-        SparseRep *r = new SparseRep (*rep);
+        SparseRep *r = new SparseRep (*m_rep);
 
-        if (--rep->count == 0)
-          delete rep;
+        if (--m_rep->m_count == 0)
+          delete m_rep;
 
-        rep = r;
+        m_rep = r;
       }
   }
 
@@ -157,9 +157,9 @@
   // !!! WARNING !!! -- these should be protected, not public.  You
   // should not access these data members directly!
 
-  typename Sparse<T>::SparseRep *rep;
+  typename Sparse<T>::SparseRep *m_rep;
 
-  dim_vector dimensions;
+  dim_vector m_dimensions;
 
 private:
 
@@ -168,28 +168,28 @@
 public:
 
   Sparse (void)
-    : rep (nil_rep ()), dimensions (dim_vector (0,0))
+    : m_rep (nil_rep ()), m_dimensions (dim_vector (0,0))
   {
-    rep->count++;
+    m_rep->m_count++;
   }
 
   explicit Sparse (octave_idx_type n)
-    : rep (new typename Sparse<T>::SparseRep (n)),
-      dimensions (dim_vector (n, n)) { }
+    : m_rep (new typename Sparse<T>::SparseRep (n)),
+      m_dimensions (dim_vector (n, n)) { }
 
   explicit Sparse (octave_idx_type nr, octave_idx_type nc)
-    : rep (new typename Sparse<T>::SparseRep (nr, nc)),
-      dimensions (dim_vector (nr, nc)) { }
+    : m_rep (new typename Sparse<T>::SparseRep (nr, nc)),
+      m_dimensions (dim_vector (nr, nc)) { }
 
   explicit OCTAVE_API Sparse (octave_idx_type nr, octave_idx_type nc, T val);
 
   Sparse (const dim_vector& dv, octave_idx_type nz)
-    : rep (new typename Sparse<T>::SparseRep (dv(0), dv(1), nz)),
-      dimensions (dv) { }
+    : m_rep (new typename Sparse<T>::SparseRep (dv(0), dv(1), nz)),
+      m_dimensions (dv) { }
 
   Sparse (octave_idx_type nr, octave_idx_type nc, octave_idx_type nz)
-    : rep (new typename Sparse<T>::SparseRep (nr, nc, nz)),
-      dimensions (dim_vector (nr, nc)) { }
+    : m_rep (new typename Sparse<T>::SparseRep (nr, nc, nz)),
+      m_dimensions (dim_vector (nr, nc)) { }
 
   // Both SparseMatrix and SparseBoolMatrix need this ctor, and this
   // is their only common ancestor.
@@ -198,21 +198,21 @@
   // Type conversion case.  Preserves nzmax.
   template <typename U>
   Sparse (const Sparse<U>& a)
-    : rep (new typename Sparse<T>::SparseRep (a.rep->nrows, a.rep->ncols,
-                                              a.rep->nzmx)),
-      dimensions (a.dimensions)
+    : m_rep (new typename Sparse<T>::SparseRep (a.m_rep->m_nrows, a.m_rep->m_ncols,
+                                              a.m_rep->m_nzmx)),
+      m_dimensions (a.m_dimensions)
   {
     octave_idx_type nz = a.nnz ();
-    std::copy_n (a.rep->d, nz, rep->d);
-    std::copy_n (a.rep->r, nz, rep->r);
-    std::copy_n (a.rep->c, rep->ncols + 1, rep->c);
+    std::copy_n (a.m_rep->m_d, nz, m_rep->m_d);
+    std::copy_n (a.m_rep->m_r, nz, m_rep->m_r);
+    std::copy_n (a.m_rep->m_c, m_rep->m_ncols + 1, m_rep->m_c);
   }
 
   // No type conversion case.
   Sparse (const Sparse<T>& a)
-    : rep (a.rep), dimensions (a.dimensions)
+    : m_rep (a.m_rep), m_dimensions (a.m_dimensions)
   {
-    rep->count++;
+    m_rep->m_count++;
   }
 
 public:
@@ -235,20 +235,20 @@
 
   //! Amount of storage for nonzero elements.
   //! This may differ from the actual number of elements, see nnz().
-  octave_idx_type nzmax (void) const { return rep->length (); }
+  octave_idx_type nzmax (void) const { return m_rep->length (); }
 
   //! Actual number of nonzero terms.
-  octave_idx_type nnz (void) const { return rep->nnz (); }
+  octave_idx_type nnz (void) const { return m_rep->nnz (); }
 
   // Querying the number of elements (incl. zeros) may overflow the index type,
   // so don't do it unless you really need it.
   octave_idx_type numel (void) const
   {
-    return dimensions.safe_numel ();
+    return m_dimensions.safe_numel ();
   }
 
-  octave_idx_type dim1 (void) const { return dimensions(0); }
-  octave_idx_type dim2 (void) const { return dimensions(1); }
+  octave_idx_type dim1 (void) const { return m_dimensions(0); }
+  octave_idx_type dim2 (void) const { return m_dimensions(1); }
 
   octave_idx_type rows (void) const { return dim1 (); }
   octave_idx_type cols (void) const { return dim2 (); }
@@ -270,7 +270,7 @@
             * (sizeof (T) + sizeof (octave_idx_type)));
   }
 
-  dim_vector dims (void) const { return dimensions; }
+  dim_vector dims (void) const { return m_dimensions; }
 
   Sparse<T> squeeze (void) const { return *this; }
 
@@ -308,10 +308,10 @@
     return xelem (i, j);
   }
 
-  T& xelem (octave_idx_type i, octave_idx_type j) { return rep->elem (i, j); }
+  T& xelem (octave_idx_type i, octave_idx_type j) { return m_rep->elem (i, j); }
   T xelem (octave_idx_type i, octave_idx_type j) const
   {
-    return rep->celem (i, j);
+    return m_rep->celem (i, j);
   }
 
   T& xelem (const Array<octave_idx_type>& ra_idx)
@@ -435,7 +435,7 @@
     if (remove_zeros)
       make_unique ();  // Need to unshare because elements are removed.
 
-    rep->maybe_compress (remove_zeros);
+    m_rep->maybe_compress (remove_zeros);
     return (*this);
   }
 
@@ -459,7 +459,7 @@
   {
     if (nz < nnz ())
       make_unique ();  // Unshare now because elements will be truncated.
-    rep->change_length (nz);
+    m_rep->change_length (nz);
   }
 
   OCTAVE_API Sparse<T>&
@@ -473,42 +473,42 @@
 
   OCTAVE_API Sparse<T> transpose (void) const;
 
-  T * data (void) { make_unique (); return rep->d; }
-  T& data (octave_idx_type i) { make_unique (); return rep->data (i); }
-  T * xdata (void) { return rep->d; }
-  T& xdata (octave_idx_type i) { return rep->data (i); }
+  T * data (void) { make_unique (); return m_rep->m_d; }
+  T& data (octave_idx_type i) { make_unique (); return m_rep->data (i); }
+  T * xdata (void) { return m_rep->m_d; }
+  T& xdata (octave_idx_type i) { return m_rep->data (i); }
 
-  T data (octave_idx_type i) const { return rep->data (i); }
+  T data (octave_idx_type i) const { return m_rep->data (i); }
   // FIXME: shouldn't this be returning const T*?
-  T * data (void) const { return rep->d; }
+  T * data (void) const { return m_rep->m_d; }
 
-  octave_idx_type * ridx (void) { make_unique (); return rep->r; }
+  octave_idx_type * ridx (void) { make_unique (); return m_rep->m_r; }
   octave_idx_type& ridx (octave_idx_type i)
   {
-    make_unique (); return rep->ridx (i);
+    make_unique (); return m_rep->ridx (i);
   }
 
-  octave_idx_type * xridx (void) { return rep->r; }
-  octave_idx_type& xridx (octave_idx_type i) { return rep->ridx (i); }
+  octave_idx_type * xridx (void) { return m_rep->m_r; }
+  octave_idx_type& xridx (octave_idx_type i) { return m_rep->ridx (i); }
 
-  octave_idx_type ridx (octave_idx_type i) const { return rep->cridx (i); }
+  octave_idx_type ridx (octave_idx_type i) const { return m_rep->cridx (i); }
   // FIXME: shouldn't this be returning const octave_idx_type*?
-  octave_idx_type * ridx (void) const { return rep->r; }
+  octave_idx_type * ridx (void) const { return m_rep->m_r; }
 
-  octave_idx_type * cidx (void) { make_unique (); return rep->c; }
+  octave_idx_type * cidx (void) { make_unique (); return m_rep->m_c; }
   octave_idx_type& cidx (octave_idx_type i)
   {
-    make_unique (); return rep->cidx (i);
+    make_unique (); return m_rep->cidx (i);
   }
 
-  octave_idx_type * xcidx (void) { return rep->c; }
-  octave_idx_type& xcidx (octave_idx_type i) { return rep->cidx (i); }
+  octave_idx_type * xcidx (void) { return m_rep->m_c; }
+  octave_idx_type& xcidx (octave_idx_type i) { return m_rep->cidx (i); }
 
-  octave_idx_type cidx (octave_idx_type i) const { return rep->ccidx (i); }
+  octave_idx_type cidx (octave_idx_type i) const { return m_rep->ccidx (i); }
   // FIXME: shouldn't this be returning const octave_idx_type*?
-  octave_idx_type * cidx (void) const { return rep->c; }
+  octave_idx_type * cidx (void) const { return m_rep->m_c; }
 
-  octave_idx_type ndims (void) const { return dimensions.ndims (); }
+  octave_idx_type ndims (void) const { return m_dimensions.ndims (); }
 
   OCTAVE_API void delete_elements (const octave::idx_vector& i);
 
@@ -659,10 +659,10 @@
   map (U (&fcn) (const T&)) const
   { return map<U, U (&) (const T&)> (fcn); }
 
-  bool indices_ok (void) const { return rep->indices_ok (); }
+  bool indices_ok (void) const { return m_rep->indices_ok (); }
 
   bool any_element_is_nan (void) const
-  { return rep->any_element_is_nan (); }
+  { return m_rep->any_element_is_nan (); }
 };
 
 template <typename T>
--- a/liboctave/array/dim-vector.cc	Thu Jul 15 16:11:12 2021 -0400
+++ b/liboctave/array/dim-vector.cc	Thu Jul 15 16:12:24 2021 -0400
@@ -71,14 +71,14 @@
 
   for (int i = 0; i < nd; i++)
     {
-      if (rep[i] != 1)
-        rep[j++] = rep[i];
+      if (m_rep[i] != 1)
+        m_rep[j++] = m_rep[i];
     }
 
   if (j == 1)
-    rep[1] = 1;
+    m_rep[1] = 1;
 
-  rep[-1] = (j > 2 ? j : 2);
+  m_rep[-1] = (j > 2 ? j : 2);
 }
 
 std::string
@@ -120,9 +120,9 @@
 
   for (int i = 0; i < n_dims; i++)
     {
-      n *= rep[i];
-      if (rep[i] != 0)
-        idx_max /= rep[i];
+      n *= m_rep[i];
+      if (m_rep[i] != 0)
+        idx_max /= m_rep[i];
       if (idx_max <= 0)
         throw std::bad_alloc ();
     }
@@ -170,7 +170,7 @@
 
   for (int i = 0; i < ndb; i++)
     {
-      if (i != dim && rep[i] != dvb(i))
+      if (i != dim && m_rep[i] != dvb(i))
         {
           match = false;
           break;
@@ -179,7 +179,7 @@
 
   for (int i = ndb; i < new_nd; i++)
     {
-      if (i != dim && rep[i] != 1)
+      if (i != dim && m_rep[i] != 1)
         {
           match = false;
           break;
@@ -187,13 +187,13 @@
     }
 
   if (match)
-    rep[dim] += (dim < ndb ? dvb(dim) : 1);
+    m_rep[dim] += (dim < ndb ? dvb(dim) : 1);
   else
     {
       // Dimensions don't match.  The only allowed fix is to omit 0x0.
       if (ndb == 2 && dvb(0) == 0 && dvb(1) == 0)
         match = true;
-      else if (orig_nd == 2 && rep[0] == 0 && rep[1] == 0)
+      else if (orig_nd == 2 && m_rep[0] == 0 && m_rep[1] == 0)
         {
           *this = dvb;
           match = true;
@@ -223,7 +223,7 @@
     return true;
   else if (ndims () == 2 && dvb.ndims () == 2)
     {
-      bool e2dv = rep[0] + rep[1] == 1;
+      bool e2dv = m_rep[0] + m_rep[1] == 1;
       bool e2dvb = dvb(0) + dvb(1) == 1;
       if (e2dvb)
         {
@@ -252,8 +252,8 @@
     {
       dim_vector retval = alloc (n);
 
-      std::copy_n (rep, n_dims, retval.rep);
-      std::fill_n (retval.rep + n_dims, n - n_dims, 1);
+      std::copy_n (m_rep, n_dims, retval.m_rep);
+      std::fill_n (retval.m_rep + n_dims, n - n_dims, 1);
 
       return retval;
     }
@@ -264,18 +264,18 @@
 
       dim_vector retval = alloc (n);
 
-      std::copy_n (rep, n-1, retval.rep);
+      std::copy_n (m_rep, n-1, retval.m_rep);
 
       // Accumulate overflow dimensions into last remaining dimension
-      int k = rep[n-1];
+      int k = m_rep[n-1];
       for (int i = n; i < n_dims; i++)
-        k *= rep[i];
+        k *= m_rep[i];
 
-      retval.rep[n-1] = k;
+      retval.m_rep[n-1] = k;
 
       // All dim_vectors are at least 2-D.  Make Nx1 if necessary.
       if (n == 1)
-        retval.rep[1] = 1;
+        retval.m_rep[1] = 1;
 
       return retval;
     }
--- a/liboctave/array/dim-vector.h	Thu Jul 15 16:11:12 2021 -0400
+++ b/liboctave/array/dim-vector.h	Thu Jul 15 16:12:24 2021 -0400
@@ -95,9 +95,9 @@
 {
 private:
 
-  octave_idx_type *rep;
+  octave_idx_type *m_rep;
 
-  octave_idx_type& count (void) const { return rep[-2]; }
+  octave_idx_type& count (void) const { return m_rep[-2]; }
 
   octave_idx_type increment_count (void)
   {
@@ -121,7 +121,7 @@
     return r;
   }
 
-  //! Clone this->rep.
+  //! Clone this->m_rep.
 
   octave_idx_type * clonerep (void)
   {
@@ -129,12 +129,12 @@
 
     octave_idx_type *r = newrep (nd);
 
-    std::copy_n (rep, nd, r);
+    std::copy_n (m_rep, nd, r);
 
     return r;
   }
 
-  //! Clone and resize this->rep to length n, filling by given value.
+  //! Clone and resize this->m_rep to length n, filling by given value.
 
   octave_idx_type * resizerep (int n, octave_idx_type fill_value)
   {
@@ -148,7 +148,7 @@
     if (nd > n)
       nd = n;
 
-    std::copy_n (rep, nd, r);
+    std::copy_n (m_rep, nd, r);
     std::fill_n (r + nd, n - nd, fill_value);
 
     return r;
@@ -159,7 +159,7 @@
   void freerep (void)
   {
     assert (count () == 0);
-    delete [] (rep - 2);
+    delete [] (m_rep - 2);
   }
 
   void make_unique (void)
@@ -171,7 +171,7 @@
         if (decrement_count () == 0)
           freerep ();
 
-        rep = new_rep;
+        m_rep = new_rep;
       }
   }
 
@@ -214,19 +214,19 @@
 
   template <typename... Ints>
   dim_vector (const octave_idx_type r, const octave_idx_type c,
-              Ints... lengths) : rep (newrep (2 + sizeof... (Ints)))
+              Ints... lengths) : m_rep (newrep (2 + sizeof... (Ints)))
   {
     std::initializer_list<octave_idx_type> all_lengths = {r, c, lengths...};
     for (const octave_idx_type l: all_lengths)
-      *rep++ = l;
-    rep -= all_lengths.size ();
+      *m_rep++ = l;
+    m_rep -= all_lengths.size ();
   }
 
   // Fast access with absolutely no checking
 
-  octave_idx_type& xelem (int i) { return rep[i]; }
+  octave_idx_type& xelem (int i) { return m_rep[i]; }
 
-  octave_idx_type xelem (int i) const { return rep[i]; }
+  octave_idx_type xelem (int i) const { return m_rep[i]; }
 
   // Safe access to to elements
 
@@ -241,13 +241,13 @@
   void chop_trailing_singletons (void)
   {
     int nd = ndims ();
-    if (nd > 2 && rep[nd-1] == 1)
+    if (nd > 2 && m_rep[nd-1] == 1)
       {
         make_unique ();
         do
           nd--;
-        while (nd > 2 && rep[nd-1] == 1);
-        rep[-1] = nd;
+        while (nd > 2 && m_rep[nd-1] == 1);
+        m_rep[-1] = nd;
       }
   }
 
@@ -256,7 +256,7 @@
   // WARNING: Only call by jit
   octave_idx_type * to_jit (void) const
   {
-    return rep;
+    return m_rep;
   }
 
 private:
@@ -267,16 +267,16 @@
 
   static OCTAVE_API octave_idx_type dim_max (void);
 
-  explicit dim_vector (void) : rep (nil_rep ())
+  explicit dim_vector (void) : m_rep (nil_rep ())
   { increment_count (); }
 
-  dim_vector (const dim_vector& dv) : rep (dv.rep)
+  dim_vector (const dim_vector& dv) : m_rep (dv.m_rep)
   { increment_count (); }
 
-  dim_vector (dim_vector&& dv) : rep (dv.rep) { dv.rep = nullptr; }
+  dim_vector (dim_vector&& dv) : m_rep (dv.m_rep) { dv.m_rep = nullptr; }
 
 // FIXME: Should be private, but required by array constructor for jit
-  explicit dim_vector (octave_idx_type *r) : rep (r) { }
+  explicit dim_vector (octave_idx_type *r) : m_rep (r) { }
 
   static dim_vector alloc (int n)
   {
@@ -290,7 +290,7 @@
         if (decrement_count () == 0)
           freerep ();
 
-        rep = dv.rep;
+        m_rep = dv.m_rep;
         increment_count ();
       }
 
@@ -302,14 +302,14 @@
     if (&dv != this)
       {
         // Because we define a move constructor and a move assignment
-        // operator, rep may be a nullptr here.  We should only need to
+        // operator, m_rep may be a nullptr here.  We should only need to
         // protect the destructor in a similar way.
 
-        if (rep && decrement_count () == 0)
+        if (m_rep && decrement_count () == 0)
           freerep ();
 
-        rep = dv.rep;
-        dv.rep = nullptr;
+        m_rep = dv.m_rep;
+        dv.m_rep = nullptr;
       }
 
     return *this;
@@ -318,10 +318,10 @@
   ~dim_vector (void)
   {
     // Because we define a move constructor and a move assignment
-    // operator, rep may be a nullptr here.  We should only need to
+    // operator, m_rep may be a nullptr here.  We should only need to
     // protect the move assignment operator in a similar way.
 
-    if (rep && decrement_count () == 0)
+    if (m_rep && decrement_count () == 0)
       freerep ();
   }
 
@@ -331,7 +331,7 @@
   //! elements in the dim_vector including trailing singletons.  It is also
   //! the number of dimensions an Array with this dim_vector would have.
 
-  octave_idx_type ndims (void) const { return rep[-1]; }
+  octave_idx_type ndims (void) const { return m_rep[-1]; }
 
   //! Number of dimensions.
   //! Synonymous with ndims().
@@ -357,7 +357,7 @@
         if (decrement_count () == 0)
           freerep ();
 
-        rep = r;
+        m_rep = r;
       }
   }
 
@@ -365,7 +365,7 @@
 
   bool all_zero (void) const
   {
-    return std::all_of (rep, rep + ndims (),
+    return std::all_of (m_rep, m_rep + ndims (),
                         [] (octave_idx_type dim) { return dim == 0; });
   }
 
@@ -381,7 +381,7 @@
 
   bool any_zero (void) const
   {
-    return std::any_of (rep, rep + ndims (),
+    return std::any_of (m_rep, m_rep + ndims (),
                         [] (octave_idx_type dim) { return dim == 0; });
   }
 
@@ -422,7 +422,7 @@
 
   bool any_neg (void) const
   {
-    return std::any_of (rep, rep + ndims (),
+    return std::any_of (m_rep, m_rep + ndims (),
                         [] (octave_idx_type dim) { return dim < 0; });
   }
 
@@ -527,7 +527,7 @@
   {
     octave_idx_type k = 0;
     for (int i = nidx - 1; i >= 0; i--)
-      k = rep[i] * k + idx[i];
+      k = m_rep[i] * k + idx[i];
 
     return k;
   }
@@ -541,7 +541,7 @@
     int i;
     for (i = start; i < ndims (); i++)
       {
-        if (++(*idx) == rep[i])
+        if (++(*idx) == m_rep[i])
           *idx++ = 0;
         else
           break;
@@ -558,7 +558,7 @@
 
     octave_idx_type k = 1;
     for (int i = 0; i < nd; i++)
-      retval.rep[i] = (k *= rep[i]);
+      retval.m_rep[i] = (k *= m_rep[i]);
 
     return retval;
   }
@@ -571,7 +571,7 @@
     octave_idx_type k = idx[0];
 
     for (int i = 1; i < ndims (); i++)
-      k += rep[i-1] * idx[i];
+      k += m_rep[i-1] * idx[i];
 
     return k;
   }
@@ -586,7 +586,7 @@
 operator == (const dim_vector& a, const dim_vector& b)
 {
   // Fast case.
-  if (a.rep == b.rep)
+  if (a.m_rep == b.m_rep)
     return true;
 
   int a_len = a.ndims ();
@@ -595,7 +595,7 @@
   if (a_len != b_len)
     return false;
 
-  return std::equal (a.rep, a.rep + a_len, b.rep);
+  return std::equal (a.m_rep, a.m_rep + a_len, b.m_rep);
 }
 
 inline bool
--- a/liboctave/array/fCNDArray.cc	Thu Jul 15 16:11:12 2021 -0400
+++ b/liboctave/array/fCNDArray.cc	Thu Jul 15 16:12:24 2021 -0400
@@ -521,10 +521,11 @@
                              octave_idx_type r, octave_idx_type c)
 {
   dim_vector a_dv = a.dims ();
+  dim_vector dv = dims ();
 
   int n = a_dv.ndims ();
 
-  if (n == dimensions.ndims ())
+  if (n == dv.ndims ())
     {
       Array<octave_idx_type> a_ra_idx (dim_vector (a_dv.ndims (), 1), 0);
 
@@ -533,7 +534,7 @@
 
       for (int i = 0; i < n; i++)
         {
-          if (a_ra_idx(i) < 0 || (a_ra_idx(i) + a_dv(i)) > dimensions(i))
+          if (a_ra_idx(i) < 0 || (a_ra_idx(i) + a_dv(i)) > dv(i))
             (*current_liboctave_error_handler)
               ("Array<T>::insert: range error for insert");
         }