diff src/ov-cell.cc @ 4815:2eb844b27953

[project @ 2004-03-04 00:14:44 by jwe]
author jwe
date Thu, 04 Mar 2004 00:14:44 +0000
parents 495e9df75836
children 6430596f2238
line wrap: on
line diff
--- a/src/ov-cell.cc	Wed Mar 03 23:46:38 2004 +0000
+++ b/src/ov-cell.cc	Thu Mar 04 00:14:44 2004 +0000
@@ -687,19 +687,24 @@
 }
 
 #if defined (HAVE_HDF5)
+
 bool
 octave_cell::save_hdf5 (hid_t loc_id, const char *name, bool save_as_floats)
 {
   dim_vector dv = dims ();
-  hsize_t rank = dv.length(); 
+  hsize_t rank = dv.length (); 
   hid_t space_hid = -1, data_hid = -1, size_hid = -1;
 
   data_hid = H5Gcreate (loc_id, name, 0);
-  if (data_hid < 0) return false;
+
+  if (data_hid < 0)
+    return false;
 
   // Have to save cell array shape, since can't have a 
   // dataset of groups....
-  space_hid = H5Screate_simple (1, &rank, (hsize_t*) 0);
+
+  space_hid = H5Screate_simple (1, &rank, 0);
+
   if (space_hid < 0) 
     {
       H5Gclose (data_hid);
@@ -709,8 +714,8 @@
   OCTAVE_LOCAL_BUFFER (int, hdims, rank);
 
   // Octave uses column-major, while HDF5 uses row-major ordering
-  for (int i = 0; i < (int)rank; i++)
-    hdims[i] = dv (rank-i-1);
+  for (int i = 0; i < rank; i++)
+    hdims[i] = dv(rank-i-1);
 
   size_hid = H5Dcreate (data_hid, "dims", H5T_NATIVE_INT, space_hid, 
 			H5P_DEFAULT);
@@ -722,17 +727,19 @@
     }
 
   if (! H5Dwrite (size_hid, H5T_NATIVE_INT, H5S_ALL, H5S_ALL,
-		  H5P_DEFAULT, (void*) hdims) < 0)
+		  H5P_DEFAULT, hdims) < 0)
     {
       H5Dclose (size_hid);
       H5Sclose (space_hid);
       H5Gclose (data_hid);
       return false;
     }
+
   H5Dclose (size_hid);
   H5Sclose (space_hid);
 
-  // recursively add each element of the cell to this group
+  // Recursively add each element of the cell to this group.
+
   Cell tmp = cell_value ();
   
   for (int i = 0; i < dv.numel (); i++)
@@ -749,6 +756,7 @@
     }
 
   H5Gclose (data_hid);
+
   return true;
 }
 
@@ -774,33 +782,40 @@
 
   OCTAVE_LOCAL_BUFFER (hsize_t, hdims, rank);
   OCTAVE_LOCAL_BUFFER (hsize_t, maxdims, rank);
+
   H5Sget_simple_extent_dims (space_hid, hdims, maxdims);
 
-  // Octave uses column-major, while HDF5 uses row-major ordering
+  // Octave uses column-major, while HDF5 uses row-major ordering.
+
   dim_vector dv;
   dv.resize (hdims[0]);
+
   OCTAVE_LOCAL_BUFFER (int, tmp, hdims[0]);
   
   if (H5Dread (data_hid, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, 
-	       H5P_DEFAULT, (void *) tmp) < 0)
+	       H5P_DEFAULT, tmp) < 0)
     {
       H5Dclose(data_hid);
       H5Gclose(group_id);
       return false;
     }
+
   H5Dclose (data_hid);
   H5Gclose (group_id);
 
-  for (int i = 0, j = hdims[0] - 1; i < (int)hdims[0]; i++, j--)
+  for (hsize_t i = 0, j = hdims[0] - 1; i < hdims[0]; i++, j--)
     dv(j) = tmp[i];
 
   hdf5_callback_data dsub;
 
   herr_t retval2 = -1;
+
   Cell m (dv);
+
   int current_item = 0;
+
   if (have_h5giterate_bug)
-    current_item = 1;   // Skip dims items in group
+    current_item = 1;   // Skip dims items in group.
 
 #ifdef HAVE_H5GGET_NUM_OBJS
   hsize_t num_obj = 0;
@@ -825,7 +840,7 @@
       m.elem (i) = ov;
 
       if (have_h5giterate_bug)
-	current_item++;  // H5Giterate returned the last index processed
+	current_item++;  // H5Giterate returned the last index processed.
 
     }
 
@@ -837,6 +852,7 @@
   
   return retval;
 }
+
 #endif
 
 DEFUN (iscell, args, ,