User: rhaas Date: 2012/08/09 07:43 PM
Modified: /trunk/src/nuc_eos/ readtable.c
Log: EOS_Omni: use H5Fis_hdf5, protect assumed type sizes
From: Roland Haas roland.haas@physics.gatech.edu
File Changes:
Directory: /trunk/src/nuc_eos/ ==============================
File [modified]: readtable.c Delta lines: +5 -14 =================================================================== --- trunk/src/nuc_eos/readtable.c 2012-08-09 21:52:00 UTC (rev 65) +++ trunk/src/nuc_eos/readtable.c 2012-08-10 00:43:38 UTC (rev 66) @@ -31,19 +31,6 @@ #fn_call, _error_code); \ }
-static int file_is_readable(const char* filename); -static int file_is_readable(const char* filename) -{ - FILE* fp = NULL; - fp = fopen(filename, "r"); - if(fp != NULL) - { - fclose(fp); - return 1; - } - return 0; -} - // Cactus calls this function. It reads in the table and calls a fortran // function to setup values for the fortran eos module void EOS_OMNI_ReadTable(CCTK_ARGUMENTS) @@ -66,7 +53,7 @@ const int doIO = !read_table_on_single_process || CCTK_MyProc(cctkGH) == my_reader_process;
hid_t file = -1; - if (doIO && !file_is_readable(nuceos_table_name)) + if (doIO && ! H5Fis_hdf5(nuceos_table_name) > 0) CCTK_VWarn(CCTK_WARN_ABORT, __LINE__, __FILE__, CCTK_THORNSTRING, "Could not read nuceos_table_name'%s'", nuceos_table_name); @@ -100,6 +87,10 @@ // Allocate memory for tables CCTK_REAL *alltables, *logrho, *logtemp, *ye, energy_shift;
+ // protect our use of H5T_NATIVE_DOUBLE and H5T_NATIVE_INT + assert (sizeof(CCTK_REAL) == sizeof(double)); + assert (sizeof(CCTK_INT) == sizeof(int)); + if (!(alltables = (CCTK_REAL*)malloc(nrho * ntemp * nye * 19 * sizeof(CCTK_REAL)))) CCTK_WARN(CCTK_WARN_ABORT, "Cannot allocate memory for EOS table\n"); if (!(logrho = (CCTK_REAL*)malloc(nrho * sizeof(CCTK_REAL))))
commits@lists.einsteintoolkit.org