comparison liboctave/array/Array.cc @ 20267:a9574e3c6e9e

Deprecate Array::length() and Sparse::length() in favour of ::numel(). * liboctave/array/Array.h (Array::length): deprecate for ::numel. * liboctave/array/Sparse.h (Sparse::length): deprecate for ::numel. * libgui/graphics/QtHandlesUtils.cc, libgui/src/octave-qt-link.cc, libinterp/corefcn/Cell.cc, libinterp/corefcn/__contourc__.cc, libinterp/corefcn/__pchip_deriv__.cc, libinterp/corefcn/__qp__.cc, libinterp/corefcn/cellfun.cc, libinterp/corefcn/daspk.cc, libinterp/corefcn/dasrt.cc, libinterp/corefcn/dassl.cc, libinterp/corefcn/data.cc, libinterp/corefcn/filter.cc, libinterp/corefcn/find.cc, libinterp/corefcn/gl-render.cc, libinterp/corefcn/gl-render.h, libinterp/corefcn/graphics.cc, libinterp/corefcn/graphics.in.h, libinterp/corefcn/help.cc, libinterp/corefcn/hex2num.cc, libinterp/corefcn/input.cc, libinterp/corefcn/load-path.cc, libinterp/corefcn/load-save.cc, libinterp/corefcn/ls-oct-ascii.h, libinterp/corefcn/lsode.cc, libinterp/corefcn/matrix_type.cc, libinterp/corefcn/oct-hist.cc, libinterp/corefcn/oct-map.cc, libinterp/corefcn/oct-map.h, libinterp/corefcn/oct-obj.h, libinterp/corefcn/oct-stream.cc, libinterp/corefcn/oct-stream.h, libinterp/corefcn/pr-output.cc, libinterp/corefcn/quadcc.cc, libinterp/corefcn/rand.cc, libinterp/corefcn/regexp.cc, libinterp/corefcn/strfns.cc, libinterp/corefcn/sub2ind.cc, libinterp/corefcn/symtab.h, libinterp/corefcn/syscalls.cc, libinterp/corefcn/tsearch.cc, libinterp/corefcn/urlwrite.cc, libinterp/corefcn/utils.cc, libinterp/corefcn/variables.cc, libinterp/corefcn/xdiv.cc, libinterp/corefcn/xpow.cc, libinterp/dldfcn/__glpk__.cc, libinterp/dldfcn/__init_fltk__.cc, libinterp/dldfcn/__magick_read__.cc, libinterp/dldfcn/audiodevinfo.cc, libinterp/dldfcn/ccolamd.cc, libinterp/dldfcn/colamd.cc, libinterp/octave-value/ov-cell.cc, libinterp/octave-value/ov-class.cc, libinterp/octave-value/ov-class.h, libinterp/octave-value/ov-fcn-inline.cc, libinterp/octave-value/ov-java.cc, libinterp/octave-value/ov-perm.cc, libinterp/octave-value/ov-struct.cc, libinterp/octave-value/ov-typeinfo.cc, libinterp/octave-value/ov.cc, libinterp/operators/op-int.h, libinterp/parse-tree/pt-pr-code.cc, liboctave/array/Array-util.cc, liboctave/array/Array.cc, liboctave/array/CColVector.cc, liboctave/array/CDiagMatrix.cc, liboctave/array/CMatrix.cc, liboctave/array/CRowVector.cc, liboctave/array/DiagArray2.cc, liboctave/array/DiagArray2.h, liboctave/array/MArray.cc, liboctave/array/PermMatrix.cc, liboctave/array/PermMatrix.h, liboctave/array/Sparse.cc, liboctave/array/boolMatrix.cc, liboctave/array/chMatrix.cc, liboctave/array/chNDArray.cc, liboctave/array/dColVector.cc, liboctave/array/dDiagMatrix.cc, liboctave/array/dMatrix.cc, liboctave/array/dRowVector.cc, liboctave/array/fCColVector.cc, liboctave/array/fCDiagMatrix.cc, liboctave/array/fCMatrix.cc, liboctave/array/fCRowVector.cc, liboctave/array/fColVector.cc, liboctave/array/fDiagMatrix.cc, liboctave/array/fMatrix.cc, liboctave/array/fRowVector.cc, liboctave/array/idx-vector.cc, liboctave/array/intNDArray.cc, liboctave/numeric/CmplxCHOL.cc, liboctave/numeric/CmplxLU.cc, liboctave/numeric/CmplxQR.cc, liboctave/numeric/DASPK.cc, liboctave/numeric/DASRT.cc, liboctave/numeric/DASSL.cc, liboctave/numeric/LSODE.cc, liboctave/numeric/ODES.cc, liboctave/numeric/ODES.h, liboctave/numeric/base-dae.h, liboctave/numeric/base-lu.cc, liboctave/numeric/dbleCHOL.cc, liboctave/numeric/dbleLU.cc, liboctave/numeric/dbleQR.cc, liboctave/numeric/eigs-base.cc, liboctave/numeric/fCmplxCHOL.cc, liboctave/numeric/fCmplxLU.cc, liboctave/numeric/fCmplxQR.cc, liboctave/numeric/floatCHOL.cc, liboctave/numeric/floatLU.cc, liboctave/numeric/floatQR.cc, liboctave/numeric/lo-specfun.cc, liboctave/numeric/oct-rand.cc, liboctave/numeric/oct-spparms.cc, liboctave/numeric/sparse-base-chol.cc, liboctave/operators/mx-inlines.cc, liboctave/system/file-ops.cc, liboctave/util/glob-match.h, liboctave/util/kpse.cc, liboctave/util/lo-regexp.cc, liboctave/util/oct-glob.cc, liboctave/util/pathsearch.cc, liboctave/util/str-vec.cc, liboctave/util/str-vec.h, liboctave/util/url-transfer.cc: replace all usage of Array::length() and Sparse::length() with ::numel().
author Carnë Draug <carandraug@octave.org>
date Sat, 30 May 2015 03:14:07 +0100
parents 00cf2847355d
children 41d19a6ef55a
comparison
equal deleted inserted replaced
20266:83792dd9bcc1 20267:a9574e3c6e9e
70 Array<T>::fill (const T& val) 70 Array<T>::fill (const T& val)
71 { 71 {
72 if (rep->count > 1) 72 if (rep->count > 1)
73 { 73 {
74 --rep->count; 74 --rep->count;
75 rep = new ArrayRep (length (), val); 75 rep = new ArrayRep (numel (), val);
76 slice_data = rep->data; 76 slice_data = rep->data;
77 } 77 }
78 else 78 else
79 std::fill_n (slice_data, slice_len, val); 79 std::fill_n (slice_data, slice_len, val);
80 } 80 }
311 rec_permute_helper (const dim_vector& dv, const Array<octave_idx_type>& perm) 311 rec_permute_helper (const dim_vector& dv, const Array<octave_idx_type>& perm)
312 312
313 : n (dv.length ()), top (0), dim (new octave_idx_type [2*n]), 313 : n (dv.length ()), top (0), dim (new octave_idx_type [2*n]),
314 stride (dim + n), use_blk (false) 314 stride (dim + n), use_blk (false)
315 { 315 {
316 assert (n == perm.length ()); 316 assert (n == perm.numel ());
317 317
318 // Get cumulative dimensions. 318 // Get cumulative dimensions.
319 OCTAVE_LOCAL_BUFFER (octave_idx_type, cdim, n+1); 319 OCTAVE_LOCAL_BUFFER (octave_idx_type, cdim, n+1);
320 cdim[0] = 1; 320 cdim[0] = 1;
321 for (int i = 1; i < n+1; i++) cdim[i] = cdim[i-1] * dv(i-1); 321 for (int i = 1; i < n+1; i++) cdim[i] = cdim[i-1] * dv(i-1);
444 444
445 Array<octave_idx_type> perm_vec = perm_vec_arg; 445 Array<octave_idx_type> perm_vec = perm_vec_arg;
446 446
447 dim_vector dv = dims (); 447 dim_vector dv = dims ();
448 448
449 int perm_vec_len = perm_vec_arg.length (); 449 int perm_vec_len = perm_vec_arg.numel ();
450 450
451 if (perm_vec_len < dv.length ()) 451 if (perm_vec_len < dv.length ())
452 (*current_liboctave_error_handler) 452 (*current_liboctave_error_handler)
453 ("%s: invalid permutation vector", inv ? "ipermute" : "permute"); 453 ("%s: invalid permutation vector", inv ? "ipermute" : "permute");
454 454
530 octave_idx_type *cdim; 530 octave_idx_type *cdim;
531 idx_vector *idx; 531 idx_vector *idx;
532 532
533 public: 533 public:
534 rec_index_helper (const dim_vector& dv, const Array<idx_vector>& ia) 534 rec_index_helper (const dim_vector& dv, const Array<idx_vector>& ia)
535 : n (ia.length ()), top (0), dim (new octave_idx_type [2*n]), 535 : n (ia.numel ()), top (0), dim (new octave_idx_type [2*n]),
536 cdim (dim + n), idx (new idx_vector [n]) 536 cdim (dim + n), idx (new idx_vector [n])
537 { 537 {
538 assert (n > 0 && (dv.length () == std::max (n, 2))); 538 assert (n > 0 && (dv.length () == std::max (n, 2)));
539 539
540 dim[0] = dv(0); 540 dim[0] = dv(0);
835 835
836 template <class T> 836 template <class T>
837 Array<T> 837 Array<T>
838 Array<T>::index (const Array<idx_vector>& ia) const 838 Array<T>::index (const Array<idx_vector>& ia) const
839 { 839 {
840 int ial = ia.length (); 840 int ial = ia.numel ();
841 Array<T> retval; 841 Array<T> retval;
842 842
843 // FIXME: is this dispatching necessary? 843 // FIXME: is this dispatching necessary?
844 if (ial == 1) 844 if (ial == 1)
845 retval = index (ia(0)); 845 retval = index (ia(0));
1110 bool resize_ok, const T& rfv) const 1110 bool resize_ok, const T& rfv) const
1111 { 1111 {
1112 Array<T> tmp = *this; 1112 Array<T> tmp = *this;
1113 if (resize_ok) 1113 if (resize_ok)
1114 { 1114 {
1115 int ial = ia.length (); 1115 int ial = ia.numel ();
1116 dim_vector dv = dimensions.redim (ial); 1116 dim_vector dv = dimensions.redim (ial);
1117 dim_vector dvx = dim_vector::alloc (ial); 1117 dim_vector dvx = dim_vector::alloc (ial);
1118 for (int i = 0; i < ial; i++) dvx(i) = ia(i).extent (dv(i)); 1118 for (int i = 0; i < ial; i++) dvx(i) = ia(i).extent (dv(i));
1119 if (! (dvx == dv)) 1119 if (! (dvx == dv))
1120 { 1120 {
1288 template <class T> 1288 template <class T>
1289 void 1289 void
1290 Array<T>::assign (const Array<idx_vector>& ia, 1290 Array<T>::assign (const Array<idx_vector>& ia,
1291 const Array<T>& rhs, const T& rfv) 1291 const Array<T>& rhs, const T& rfv)
1292 { 1292 {
1293 int ial = ia.length (); 1293 int ial = ia.numel ();
1294 1294
1295 // FIXME: is this dispatching necessary / desirable? 1295 // FIXME: is this dispatching necessary / desirable?
1296 if (ial == 1) 1296 if (ial == 1)
1297 assign (ia(0), rhs, rfv); 1297 assign (ia(0), rhs, rfv);
1298 else if (ial == 2) 1298 else if (ial == 2)
1490 1490
1491 template <class T> 1491 template <class T>
1492 void 1492 void
1493 Array<T>::delete_elements (const Array<idx_vector>& ia) 1493 Array<T>::delete_elements (const Array<idx_vector>& ia)
1494 { 1494 {
1495 int ial = ia.length (); 1495 int ial = ia.numel ();
1496 1496
1497 if (ial == 1) 1497 if (ial == 1)
1498 delete_elements (ia(0)); 1498 delete_elements (ia(0));
1499 else 1499 else
1500 { 1500 {
1588 1588
1589 template <class T> 1589 template <class T>
1590 Array<T>& 1590 Array<T>&
1591 Array<T>::insert (const Array<T>& a, const Array<octave_idx_type>& ra_idx) 1591 Array<T>::insert (const Array<T>& a, const Array<octave_idx_type>& ra_idx)
1592 { 1592 {
1593 octave_idx_type n = ra_idx.length (); 1593 octave_idx_type n = ra_idx.numel ();
1594 Array<idx_vector> idx (dim_vector (n, 1)); 1594 Array<idx_vector> idx (dim_vector (n, 1));
1595 const dim_vector dva = a.dims ().redim (n); 1595 const dim_vector dva = a.dims ().redim (n);
1596 for (octave_idx_type k = 0; k < n; k++) 1596 for (octave_idx_type k = 0; k < n; k++)
1597 idx(k) = idx_vector (ra_idx(k), ra_idx(k) + dva(k)); 1597 idx(k) = idx_vector (ra_idx(k), ra_idx(k) + dva(k));
1598 1598
1774 1774
1775 Array<T> m (dims ()); 1775 Array<T> m (dims ());
1776 1776
1777 dim_vector dv = m.dims (); 1777 dim_vector dv = m.dims ();
1778 1778
1779 if (m.length () < 1) 1779 if (m.numel () < 1)
1780 return m; 1780 return m;
1781 1781
1782 if (dim >= dv.length ()) 1782 if (dim >= dv.length ())
1783 dv.resize (dim+1, 1); 1783 dv.resize (dim+1, 1);
1784 1784
1895 1895
1896 Array<T> m (dims ()); 1896 Array<T> m (dims ());
1897 1897
1898 dim_vector dv = m.dims (); 1898 dim_vector dv = m.dims ();
1899 1899
1900 if (m.length () < 1) 1900 if (m.numel () < 1)
1901 { 1901 {
1902 sidx = Array<octave_idx_type> (dv); 1902 sidx = Array<octave_idx_type> (dv);
1903 return m; 1903 return m;
1904 } 1904 }
1905 1905
2315 2315
2316 if ((numel () == 1 && retval.is_empty ()) 2316 if ((numel () == 1 && retval.is_empty ())
2317 || (rows () == 0 && dims ().numel (1) == 0)) 2317 || (rows () == 0 && dims ().numel (1) == 0))
2318 retval.dimensions = dim_vector (); 2318 retval.dimensions = dim_vector ();
2319 else if (rows () == 1 && ndims () == 2) 2319 else if (rows () == 1 && ndims () == 2)
2320 retval.dimensions = dim_vector (1, retval.length ()); 2320 retval.dimensions = dim_vector (1, retval.numel ());
2321 2321
2322 return retval; 2322 return retval;
2323 } 2323 }
2324 2324
2325 template <class T> 2325 template <class T>