comparison libinterp/octave-value/ov-cell.cc @ 21660:53728df3e4c9

maint: for clarity, call ndims() rather than length() on dimension vectors. * ov-re-sparse.cc, QtHandlesUtils.cc, __lin_interpn__.cc, bsxfun.cc, cellfun.cc, data.cc, dot.cc, ellipj.cc, fft.cc, fft2.cc, fftn.cc, filter.cc, gl-render.cc, graphics.cc, mex.cc, oct-map.h, sub2ind.cc, symtab.cc, tril.cc, typecast.cc, utils.cc, variables.cc, ov-base-diag.cc, ov-base-int.cc, ov-base.cc, ov-base.h, ov-bool-mat.cc, ov-bool-sparse.cc, ov-cell.cc, ov-class.cc, ov-cx-mat.cc, ov-cx-sparse.cc, ov-flt-cx-mat.cc, ov-flt-re-mat.cc, ov-intx.h, ov-java.cc, ov-lazy-idx.cc, ov-re-mat.cc, ov-str-mat.cc, ov-struct.cc, ov.cc, pt-arg-list.cc, pt-mat.cc, Array-util.cc, Array.cc, Array.h, CNDArray.cc, CSparse.cc, Sparse.cc, Sparse.h, dNDArray.cc, dSparse.cc, dim-vector.cc, dim-vector.h, fCNDArray.cc, fNDArray.cc, idx-vector.cc, bsxfun.h, oct-fftw.cc, mx-inlines.cc, lo-array-errwarn.cc, lo-array-gripes.cc: For clarity, call ndims() rather than length() on dimension vectors.
author Rik <rik@octave.org>
date Mon, 02 May 2016 08:53:18 -0700
parents 40de9f8f23a6
children 263d18409fdf
comparison
equal deleted inserted replaced
21659:ff2347e1df02 21660:53728df3e4c9
702 #define CELL_ELT_TAG "<cell-element>" 702 #define CELL_ELT_TAG "<cell-element>"
703 703
704 bool 704 bool
705 octave_cell::save_ascii (std::ostream& os) 705 octave_cell::save_ascii (std::ostream& os)
706 { 706 {
707 dim_vector d = dims (); 707 dim_vector dv = dims ();
708 if (d.length () > 2) 708 if (dv.ndims () > 2)
709 { 709 {
710 os << "# ndims: " << d.length () << "\n"; 710 os << "# ndims: " << dv.ndims () << "\n";
711 711
712 for (int i = 0; i < d.length (); i++) 712 for (int i = 0; i < dv.ndims (); i++)
713 os << " " << d(i); 713 os << " " << dv(i);
714 os << "\n"; 714 os << "\n";
715 715
716 Cell tmp = cell_value (); 716 Cell tmp = cell_value ();
717 717
718 for (octave_idx_type i = 0; i < d.numel (); i++) 718 for (octave_idx_type i = 0; i < dv.numel (); i++)
719 { 719 {
720 octave_value o_val = tmp.elem (i); 720 octave_value o_val = tmp.elem (i);
721 721
722 // Recurse to print sub-value. 722 // Recurse to print sub-value.
723 bool b = save_text_data (os, o_val, CELL_ELT_TAG, false, 0); 723 bool b = save_text_data (os, o_val, CELL_ELT_TAG, false, 0);
855 } 855 }
856 856
857 bool 857 bool
858 octave_cell::save_binary (std::ostream& os, bool& save_as_floats) 858 octave_cell::save_binary (std::ostream& os, bool& save_as_floats)
859 { 859 {
860 dim_vector d = dims (); 860 dim_vector dv = dims ();
861 if (d.length () < 1) 861 if (dv.ndims () < 1)
862 return false; 862 return false;
863 863
864 // Use negative value for ndims 864 // Use negative value for ndims
865 int32_t di = - d.length (); 865 int32_t di = - dv.ndims ();
866 os.write (reinterpret_cast<char *> (&di), 4); 866 os.write (reinterpret_cast<char *> (&di), 4);
867 for (int i = 0; i < d.length (); i++) 867 for (int i = 0; i < dv.ndims (); i++)
868 { 868 {
869 di = d(i); 869 di = dv(i);
870 os.write (reinterpret_cast<char *> (&di), 4); 870 os.write (reinterpret_cast<char *> (&di), 4);
871 } 871 }
872 872
873 Cell tmp = cell_value (); 873 Cell tmp = cell_value ();
874 874
875 for (octave_idx_type i = 0; i < d.numel (); i++) 875 for (octave_idx_type i = 0; i < dv.numel (); i++)
876 { 876 {
877 octave_value o_val = tmp.elem (i); 877 octave_value o_val = tmp.elem (i);
878 878
879 // Recurse to print sub-value. 879 // Recurse to print sub-value.
880 bool b = save_binary_data (os, o_val, CELL_ELT_TAG, "", 0, 880 bool b = save_binary_data (os, o_val, CELL_ELT_TAG, "", 0,
970 dim_vector dv = dims (); 970 dim_vector dv = dims ();
971 int empty = save_hdf5_empty (loc_id, name, dv); 971 int empty = save_hdf5_empty (loc_id, name, dv);
972 if (empty) 972 if (empty)
973 return (empty > 0); 973 return (empty > 0);
974 974
975 hsize_t rank = dv.length (); 975 hsize_t rank = dv.ndims ();
976 hid_t space_hid, data_hid, size_hid; 976 hid_t space_hid, data_hid, size_hid;
977 space_hid = data_hid = size_hid = -1; 977 space_hid = data_hid = size_hid = -1;
978 978
979 #if defined (HAVE_HDF5_18) 979 #if defined (HAVE_HDF5_18)
980 data_hid = H5Gcreate (loc_id, name, octave_H5P_DEFAULT, octave_H5P_DEFAULT, octave_H5P_DEFAULT); 980 data_hid = H5Gcreate (loc_id, name, octave_H5P_DEFAULT, octave_H5P_DEFAULT, octave_H5P_DEFAULT);
1326 // The resulting dim_vector should have dimensions: 1326 // The resulting dim_vector should have dimensions:
1327 // [numel(fields) size(struct)] 1327 // [numel(fields) size(struct)]
1328 // except if the struct is a column vector. 1328 // except if the struct is a column vector.
1329 1329
1330 dim_vector result_dv; 1330 dim_vector result_dv;
1331 if (m_dv(m_dv.length () - 1) == 1) 1331 if (m_dv(m_dv.ndims () - 1) == 1)
1332 result_dv.resize (m_dv.length ()); 1332 result_dv.resize (m_dv.ndims ());
1333 else 1333 else
1334 result_dv.resize (m_dv.length () + 1); // Add 1 for the fields. 1334 result_dv.resize (m_dv.ndims () + 1); // Add 1 for the fields.
1335 1335
1336 result_dv(0) = num_fields; 1336 result_dv(0) = num_fields;
1337 1337
1338 for (int i = 1; i < result_dv.length (); i++) 1338 for (int i = 1; i < result_dv.ndims (); i++)
1339 result_dv(i) = m_dv(i-1); 1339 result_dv(i) = m_dv(i-1);
1340 1340
1341 NoAlias<Cell> c (result_dv); 1341 NoAlias<Cell> c (result_dv);
1342 1342
1343 octave_idx_type n_elts = m.numel (); 1343 octave_idx_type n_elts = m.numel ();