Mercurial > hg > octave-nkf
diff src/ov-cx-mat.cc @ 4837:81f78a2ff8a6
[project @ 2004-03-12 19:13:01 by jwe]
author | jwe |
---|---|
date | Fri, 12 Mar 2004 19:13:02 +0000 |
parents | 2eb844b27953 |
children | b11223097ad4 |
line wrap: on
line diff
--- a/src/ov-cx-mat.cc +++ b/src/ov-cx-mat.cc @@ -445,12 +445,12 @@ octave_complex_matrix::save_hdf5 (hid_t loc_id, const char *name, bool save_as_floats) { - dim_vector d = dims (); - int empty = save_hdf5_empty (loc_id, name, d); - if (empty != 0) + dim_vector dv = dims (); + int empty = save_hdf5_empty (loc_id, name, dv); + if (empty) return (empty > 0); - int rank = d.length (); + int rank = dv.length (); hid_t space_hid = -1, data_hid = -1, type_hid = -1; bool retval = true; ComplexNDArray m = complex_array_value (); @@ -459,7 +459,7 @@ // Octave uses column-major, while HDF5 uses row-major ordering for (int i = 0; i < rank; i++) - hdims[i] = d (rank-i-1); + hdims[i] = dv (rank-i-1); space_hid = H5Screate_simple (rank, hdims, 0); if (space_hid < 0) return false; @@ -521,6 +521,7 @@ H5Dclose (data_hid); H5Tclose (type_hid); H5Sclose (space_hid); + return retval; } @@ -528,14 +529,15 @@ octave_complex_matrix::load_hdf5 (hid_t loc_id, const char *name, bool /* have_h5giterate_bug */) { + bool retval = false; + dim_vector dv; int empty = load_hdf5_empty (loc_id, name, dv); if (empty > 0) matrix.resize(dv); - if (empty != 0) + if (empty) return (empty > 0); - bool retval = false; hid_t data_hid = H5Dopen (loc_id, name); hid_t type_hid = H5Dget_type (data_hid); @@ -543,7 +545,7 @@ if (! hdf5_types_compatible (type_hid, complex_type)) { - H5Tclose(complex_type); + H5Tclose (complex_type); H5Dclose (data_hid); return false; } @@ -554,7 +556,7 @@ if (rank < 1) { - H5Tclose(complex_type); + H5Tclose (complex_type); H5Sclose (space_id); H5Dclose (data_hid); return false; @@ -588,9 +590,10 @@ matrix = m; } - H5Tclose(complex_type); + H5Tclose (complex_type); H5Sclose (space_id); H5Dclose (data_hid); + return retval; } #endif