summaryrefslogtreecommitdiffstats
path: root/fortran/src
diff options
context:
space:
mode:
Diffstat (limited to 'fortran/src')
-rw-r--r--fortran/src/H5Df.c18
-rw-r--r--fortran/src/H5_f.c12
2 files changed, 10 insertions, 20 deletions
diff --git a/fortran/src/H5Df.c b/fortran/src/H5Df.c
index 22ce62c..70f0846 100644
--- a/fortran/src/H5Df.c
+++ b/fortran/src/H5Df.c
@@ -1420,11 +1420,7 @@ nh5dwrite_vl_real_c ( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_spa
hid_t c_file_space_id;
hid_t c_xfer_prp;
herr_t status;
-#if defined (_UNICOS)
- double *tmp;
-#else
- float *tmp;
-#endif
+ real_f *tmp;
size_t max_len;
hvl_t *c_buf;
@@ -1442,11 +1438,7 @@ nh5dwrite_vl_real_c ( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_spa
c_buf = (hvl_t *)malloc((size_t)num_elem * sizeof(hvl_t));
if (c_buf == NULL) return ret_value;
-#if defined (_UNICOS)
- tmp = (double *)buf;
-#else
- tmp = (float *)buf;
-#endif
+ tmp = (real_f *)buf;
for (i=0; i < num_elem; i++) {
c_buf[i].len = (size_t)len[i];
c_buf[i].p = tmp;
@@ -1518,11 +1510,7 @@ nh5dread_vl_real_c ( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_spac
if ( status <0 ) goto DONE;
for (i=0; i < num_elem; i++) {
len[i] = (size_t_f)c_buf[i].len;
-#if defined (_UNICOS)
- memcpy(&buf[i*max_len], c_buf[i].p, c_buf[i].len*sizeof(double));
-#else
- memcpy(&buf[i*max_len], c_buf[i].p, c_buf[i].len*sizeof(float));
-#endif
+ memcpy(&buf[i*max_len], c_buf[i].p, c_buf[i].len*sizeof(real_f));
}
H5Dvlen_reclaim(c_mem_type_id, c_mem_space_id, H5P_DEFAULT, c_buf);
diff --git a/fortran/src/H5_f.c b/fortran/src/H5_f.c
index 2571027..8ef7007 100644
--- a/fortran/src/H5_f.c
+++ b/fortran/src/H5_f.c
@@ -44,11 +44,13 @@ nh5init_types_c( hid_t_f * types, hid_t_f * floatingtypes, hid_t_f * integertype
int ret_value = -1;
hid_t c_type_id;
if ((types[0] = (hid_t_f)H5Tcopy(H5T_NATIVE_INT)) < 0) return ret_value;
-#if defined(_UNICOS)
- if ((types[1] = (hid_t_f)H5Tcopy(H5T_NATIVE_DOUBLE)) < 0) return ret_value;
-#else
- if ((types[1] = (hid_t_f)H5Tcopy(H5T_NATIVE_FLOAT)) < 0) return ret_value;
-#endif
+ /* Accomodate Crays with this check */
+ if(sizeof(real_f)==sizeof(double)) {
+ if ((types[1] = (hid_t_f)H5Tcopy(H5T_NATIVE_DOUBLE)) < 0) return ret_value;
+ } /* end if */
+ else {
+ if ((types[1] = (hid_t_f)H5Tcopy(H5T_NATIVE_FLOAT)) < 0) return ret_value;
+ } /* end else */
if ((types[2] = (hid_t_f)H5Tcopy(H5T_NATIVE_DOUBLE)) < 0) return ret_value;
/*
if ((types[3] = H5Tcopy(H5T_NATIVE_UINT8)) < 0) return ret_value;