Mercurial > hg > octave-nkf
comparison src/ov-cx-mat.cc @ 4815:2eb844b27953
[project @ 2004-03-04 00:14:44 by jwe]
author | jwe |
---|---|
date | Thu, 04 Mar 2004 00:14:44 +0000 |
parents | b0d6da24caeb |
children | 81f78a2ff8a6 |
comparison
equal
deleted
inserted
replaced
4814:495e9df75836 | 4815:2eb844b27953 |
---|---|
459 | 459 |
460 // Octave uses column-major, while HDF5 uses row-major ordering | 460 // Octave uses column-major, while HDF5 uses row-major ordering |
461 for (int i = 0; i < rank; i++) | 461 for (int i = 0; i < rank; i++) |
462 hdims[i] = d (rank-i-1); | 462 hdims[i] = d (rank-i-1); |
463 | 463 |
464 space_hid = H5Screate_simple (rank, hdims, (hsize_t*) 0); | 464 space_hid = H5Screate_simple (rank, hdims, 0); |
465 if (space_hid < 0) return false; | 465 if (space_hid < 0) return false; |
466 | 466 |
467 hid_t save_type_hid = H5T_NATIVE_DOUBLE; | 467 hid_t save_type_hid = H5T_NATIVE_DOUBLE; |
468 | 468 |
469 if (save_as_floats) | 469 if (save_as_floats) |
508 | 508 |
509 if (retval) | 509 if (retval) |
510 { | 510 { |
511 Complex *mtmp = m.fortran_vec (); | 511 Complex *mtmp = m.fortran_vec (); |
512 if (H5Dwrite (data_hid, complex_type_hid, H5S_ALL, H5S_ALL, H5P_DEFAULT, | 512 if (H5Dwrite (data_hid, complex_type_hid, H5S_ALL, H5S_ALL, H5P_DEFAULT, |
513 (void*) X_CAST (double *, mtmp)) < 0) | 513 mtmp) < 0) |
514 { | 514 { |
515 H5Tclose (complex_type_hid); | 515 H5Tclose (complex_type_hid); |
516 retval = false; | 516 retval = false; |
517 } | 517 } |
518 } | 518 } |
573 dv(1) = hdims[0]; | 573 dv(1) = hdims[0]; |
574 } | 574 } |
575 else | 575 else |
576 { | 576 { |
577 dv.resize (rank); | 577 dv.resize (rank); |
578 for (int i = 0, j = rank - 1; i < (int)rank; i++, j--) | 578 for (hsize_t i = 0, j = rank - 1; i < rank; i++, j--) |
579 dv(j) = hdims[i]; | 579 dv(j) = hdims[i]; |
580 } | 580 } |
581 | 581 |
582 ComplexNDArray m (dv); | 582 ComplexNDArray m (dv); |
583 Complex *reim = m.fortran_vec (); | 583 Complex *reim = m.fortran_vec (); |
584 if (H5Dread (data_hid, complex_type, H5S_ALL, H5S_ALL, H5P_DEFAULT, | 584 if (H5Dread (data_hid, complex_type, H5S_ALL, H5S_ALL, H5P_DEFAULT, |
585 (void *) X_CAST (double *, reim)) >= 0) | 585 reim) >= 0) |
586 { | 586 { |
587 retval = true; | 587 retval = true; |
588 matrix = m; | 588 matrix = m; |
589 } | 589 } |
590 | 590 |