changeset 27387:e1968e40e43f

Remove use of NoAlias in construction of array_value from Sparse object (bug #56752). * Sparse.cc (array_value): Remove NoAlias declaration around local variable retval which will be returned from function. Use xelem() rather than elem() for efficiency.
author Carlo de Falco <carlo.defalco@polimi.it>
date Wed, 11 Sep 2019 08:24:01 -0700
parents 69dc24383358
children 90dfdf0d09ad
files liboctave/array/Sparse.cc
diffstat 1 files changed, 3 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/liboctave/array/Sparse.cc	Wed Sep 11 02:45:29 2019 +0200
+++ b/liboctave/array/Sparse.cc	Wed Sep 11 08:24:01 2019 -0700
@@ -2686,21 +2686,21 @@
 Array<T>
 Sparse<T>::array_value () const
 {
-  NoAlias< Array<T>> retval (dims (), T ());
+  Array<T> retval (dims (), T ());
   if (rows () == 1)
     {
       octave_idx_type i = 0;
       for (octave_idx_type j = 0, nc = cols (); j < nc; j++)
         {
           if (cidx (j+1) > i)
-            retval(j) = data (i++);
+            retval.xelem (j) = data (i++);
         }
     }
   else
     {
       for (octave_idx_type j = 0, nc = cols (); j < nc; j++)
         for (octave_idx_type i = cidx (j), iu = cidx (j+1); i < iu; i++)
-          retval(ridx (i), j) = data (i);
+          retval.xelem (ridx (i), j) = data (i);
     }
 
   return retval;