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