diff options
author | Allen Byrne <50328838+byrnHDF@users.noreply.github.com> | 2021-05-07 16:43:12 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-05-07 16:43:12 (GMT) |
commit | 69553290541c48722c3a201864f79c9827125b89 (patch) | |
tree | 40fbe7dd77fcd430627a3151a3969a4b7433ddac /tools/lib | |
parent | 333a79c1b285054e65a709dc2da5fc876d513b37 (diff) | |
download | hdf5-69553290541c48722c3a201864f79c9827125b89.zip hdf5-69553290541c48722c3a201864f79c9827125b89.tar.gz hdf5-69553290541c48722c3a201864f79c9827125b89.tar.bz2 |
h5diff subset indexing (#628)
* OESS-98 convert plugin option to FetchContent, add tests
* Fixes for pkcfg files because of plugin option
* OESS-98 fix tools test for plugins
* Keep doxygen comments under 100 chars long - format hint
* Whitespace
* HDFFV-11144 - Reclassify CMake messages
* HDFFV-11099/11100 added help text
* Reworked switch statement to compare string instead
* Fix typo
* Update CDash mode
* Correct name of threadsafe
* Correct option name
* Undo accidental commit
* Note LLVM 10 to 11 format default changes
* Update format plugin
* Undo clang-format version 11 changes
* One more correction
* Update supported platforms
* Revert whitespace changes
* Correct whitespace
* Changes from PR#3
* HDFFV-11213 added option to control gcc10 warnings diagnostics
* HDFFV-11212 Use the new references correctly in JNI utility and tests
* format source
* Fix typo
* Add new test file
* HDFFV-11212 - update test and remove unused arg
* Minor non-space formatting changes
* Use H5I_INVALID_ID instead of "-1"
* source formatting
* add missing testfile, update jni function
* Undo commit of debug code
* remove mislocated file
* Fix h5repack test for handling of fapls and id close
* Update h5diff test files usage text
* HDFFV-11212 add new ref tests for JNI export dataset
* src format update
* Remove blank line typo
* src format typo
* long double requires %Lg
* Another long double foramt specifer S.B. %Lg
* issue with t128bit test
* Windows issue with h5dump and type.
* Fix review issues
* refactor function nesting and fix error checks
* format fixes
* Remove untested functions and javadoc quiet comments
* Restore TRY block.
* Change string append errors to memory exception
* revert to H5_JNI_FATAL_ERROR - support functions need work
* Add assertion error for h5util functions
* remove duplicate function
* format fix
* Revert HD function error handling
* Update copyright comments
* GH #386 java folder copyright corrections
* Whitespace
* GH #359 implement and fix tools 1.6 API usage
* remove excessive comments
* Flip inits to correct ifdef section
* rework ifdef to be simpler
* format issue
* Reformat ifdef inits
* remove static attribute
* format compliance
* Update names
* Revert because logic relies on float not being int
* Changes noticed from creating merge of #412
* Double underscore change
* Correct compiler version variable used
* Remove header guard underscores
* Whitespace cleanup
* Split format source and commit changes on repo push
* remove pre-split setting
* Change windows TS to use older VS.
* correct window os name
* HDFFV-11212 JNI export util and Javadoc
* Suggested review changes
* Another change found
* Committing clang-format changes
* HDFFV-11113 long double in tools
* HDFFV-11113 add note
* Disable long double tests for now
* HDFFV-11228 remove arbitrary CMake warning groups.
* Make each flag a string
* Some Javadoc warning fixes
* Updated javadoc fixes
* # WARNING: head commit changed in the meantime
HDFFV-11229 Fix long double usage in tools and java
Changed h5dump and h5ls to just print 128-bit for long double type.
Added test and file for dataset and attributes with all three float
types.
* Committing clang-format changes
* HDFFV-11229 Add release note
* HDFFV-11229 windows testfile needed
* fix typo
* Remove non supported message text
* HDFFV-11229 - change ldouble test to check both native and general
* HDFFV-11229 add second file compare
* HDFFV-11229 fix reference file
* HDFFV-11229 autotools check two refs
* HDFFV-11229 revert back to removal of NATIVE_LDOUBLE in tools output
* Committing clang-format changes
* Update release note
* Update attribute type of ref file
* Change source of ninja for macs
* try port instead of brew
* Recommended is to use brew.
* Undo non long double changes
* remove unneeded file
* Fix perl and doxygen CMake code
* Add "option" command for clang options
* Rework CMake add_custom to use the BYPRODUCTS argument
* Add stamp files to BYPRODUCTS
* Only one copy of file exists
* Fix custom cmmand depends targets
* Fix fortran custom command DEPENDS
* Add LD_LIBRARY_PATH to tests
* Add custom target for DEPENDS
* Add h5detect conditionaly to generated target DEPENDS
* Correct DEPENDS targets
* Parallel builds need the mpi compiler for pkgconfig scripts.
* install only if MPI build
* Fortran target depends
* Remove incorrect source attribute
* doxygen adjustments
* doxygen build updates
* Correct version
* Correct function version - function has been merged to 1.12
* Correct version string for map functions
* Cleanup warnings for tools debug builds
* TRILAB-227 - fix indexing for h5diff selections
* Correct location of pos to index function call
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Diffstat (limited to 'tools/lib')
-rw-r--r-- | tools/lib/h5diff_array.c | 188 |
1 files changed, 89 insertions, 99 deletions
diff --git a/tools/lib/h5diff_array.c b/tools/lib/h5diff_array.c index 77b6a5e..43ded12 100644 --- a/tools/lib/h5diff_array.c +++ b/tools/lib/h5diff_array.c @@ -225,7 +225,7 @@ diff_array(void *_mem1, void *_mem2, diff_opt_t *opts, hid_t container1_id, hid_ mcomp_t members; H5T_class_t type_class; - H5TOOLS_START_DEBUG(" - rank:%d hs_nelmts:%ld errstat:%d", opts->rank, opts->hs_nelmts, opts->err_stat); + H5TOOLS_START_DEBUG(" - rank:%d hs_nelmts:%lld errstat:%d", opts->rank, opts->hs_nelmts, opts->err_stat); opts->print_header = 1; /* enable print header */ /* get the size. */ @@ -411,7 +411,7 @@ diff_array(void *_mem1, void *_mem2, diff_opt_t *opts, hid_t container1_id, hid_ HDmemset(&members, 0, sizeof(mcomp_t)); get_member_types(opts->m_tid, &members); for (i = 0; i < opts->hs_nelmts; i++) { - H5TOOLS_DEBUG("opts->pos[%ld]:%ld - nelmts:%ld", i, opts->pos[i], opts->hs_nelmts); + H5TOOLS_DEBUG("opts->pos[%lld]:%lld - nelmts:%lld", i, opts->pos[i], opts->hs_nelmts); nfound += diff_datum(mem1 + i * size, mem2 + i * size, i, opts, container1_id, container2_id, &members); if (opts->count_bool && nfound >= opts->count) @@ -419,7 +419,7 @@ diff_array(void *_mem1, void *_mem2, diff_opt_t *opts, hid_t container1_id, hid_ } /* i */ close_member_types(&members); } /* switch */ - H5TOOLS_ENDDEBUG(":%d - errstat:%d", nfound, opts->err_stat); + H5TOOLS_ENDDEBUG(":%lld - errstat:%d", nfound, opts->err_stat); return nfound; } @@ -475,7 +475,7 @@ diff_datum(void *_mem1, void *_mem2, hsize_t elemtno, diff_opt_t *opts, hid_t co hsize_t nfound = 0; /* differences found */ diff_err_t ret_value = opts->err_stat; - H5TOOLS_START_DEBUG("ph:%d elemtno:%d - errstat:%d", opts->print_header, elemtno, opts->err_stat); + H5TOOLS_START_DEBUG("ph:%d elemtno:%lld - errstat:%d", opts->print_header, elemtno, opts->err_stat); type_size = H5Tget_size(opts->m_tid); type_class = H5Tget_class(opts->m_tid); @@ -593,8 +593,8 @@ diff_datum(void *_mem1, void *_mem2, hsize_t elemtno, diff_opt_t *opts, hid_t co * of length of strings. * For now mimic the previous way. */ - H5TOOLS_DEBUG("string size:%d", size1); - H5TOOLS_DEBUG("string size:%d", size2); + H5TOOLS_DEBUG("string size:%ld", size1); + H5TOOLS_DEBUG("string size:%ld", size2); if (size1 != size2) { H5TOOLS_DEBUG("string sizes difference"); nfound++; @@ -725,7 +725,7 @@ diff_datum(void *_mem1, void *_mem2, hsize_t elemtno, diff_opt_t *opts, hid_t co H5TOOLS_DEBUG("H5T_ARRAY ph=%d", opts->print_header); arr_opts = *opts; - H5TOOLS_DEBUG("Check opts: hs_nelmts:%ld to %ld rank:%d to %ld", opts->hs_nelmts, + H5TOOLS_DEBUG("Check opts: hs_nelmts:%lld to %lld rank:%d to %d", opts->hs_nelmts, arr_opts.hs_nelmts, opts->rank, arr_opts.rank); /* get the array's base datatype for each element */ arr_opts.m_tid = H5Tget_super(opts->m_tid); @@ -1074,7 +1074,7 @@ diff_datum(void *_mem1, void *_mem2, hsize_t elemtno, diff_opt_t *opts, hid_t co H5TOOLS_INFO("H5Rdestroy H5R_OBJECT1 failed"); if (H5Rdestroy(ref1_buf) < 0) H5TOOLS_INFO("H5Rdestroy H5R_OBJECT1 failed"); - H5TOOLS_DEBUG("H5T_REFERENCE - H5T_STD_REF complete nfound:%d - errstat:%d", nfound, + H5TOOLS_DEBUG("H5T_REFERENCE - H5T_STD_REF complete nfound:%lld - errstat:%d", nfound, ref_opts.err_stat); } /*------------------------------------------------------------------------- @@ -1286,7 +1286,7 @@ diff_datum(void *_mem1, void *_mem2, hsize_t elemtno, diff_opt_t *opts, hid_t co done: opts->err_stat = opts->err_stat | ret_value; - H5TOOLS_ENDDEBUG(":%d - errstat:%d", nfound, opts->err_stat); + H5TOOLS_ENDDEBUG(":%lld - errstat:%d", nfound, opts->err_stat); return nfound; } @@ -1378,7 +1378,7 @@ diff_region(hid_t obj1_id, hid_t obj2_id, hid_t region1_id, hid_t region2_id, di hsize_t nfound_p = 0; /* point differences found */ hsize_t ret_value = 0; - H5TOOLS_START_DEBUG(""); + H5TOOLS_START_DEBUG(" "); ndims1 = H5Sget_simple_extent_ndims(region1_id); ndims2 = H5Sget_simple_extent_ndims(region2_id); @@ -1397,8 +1397,8 @@ diff_region(hid_t obj1_id, hid_t obj2_id, hid_t region1_id, hid_t region2_id, di npoints2 = H5Sget_select_elem_npoints(region2_id); } H5E_END_TRY; - H5TOOLS_DEBUG("blocks: 1=%ld-2=%ld", nblocks1, nblocks2); - H5TOOLS_DEBUG("points: 1=%ld-2=%ld", npoints1, npoints2); + H5TOOLS_DEBUG("blocks: 1=%lld-2=%lld", nblocks1, nblocks2); + H5TOOLS_DEBUG("points: 1=%lld-2=%lld", npoints1, npoints2); if (nblocks1 != nblocks2 || npoints1 != npoints2 || ndims1 != ndims2) { opts->not_cmp = 1; @@ -1561,7 +1561,7 @@ diff_region(hid_t obj1_id, hid_t obj2_id, hid_t region1_id, hid_t region2_id, di ret_value = nfound_p + nfound_b; done: - H5TOOLS_ENDDEBUG(" with diffs:%d", ret_value); + H5TOOLS_ENDDEBUG(" with diffs:%lld", ret_value); return ret_value; } @@ -1598,7 +1598,7 @@ character_compare(char *mem1, char *mem2, hsize_t elemtno, size_t u, diff_opt_t } nfound++; } - H5TOOLS_ENDDEBUG(": %d", nfound); + H5TOOLS_ENDDEBUG(": %lld", nfound); return nfound; } @@ -1669,7 +1669,7 @@ character_compare_opt(unsigned char *mem1, unsigned char *mem2, hsize_t elemtno, nfound++; } - H5TOOLS_ENDDEBUG(": %d zero:%d", nfound, both_zero); + H5TOOLS_ENDDEBUG(": %lld zero:%d", nfound, both_zero); return nfound; } @@ -1850,7 +1850,7 @@ diff_float_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, d } } - H5TOOLS_ENDDEBUG(": %d zero:%d", nfound, both_zero); + H5TOOLS_ENDDEBUG(": %lld zero:%d", nfound, both_zero); return nfound; } @@ -2021,7 +2021,7 @@ diff_double_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, nfound++; } } - H5TOOLS_ENDDEBUG(":%d - errstat:%d", nfound, opts->err_stat); + H5TOOLS_ENDDEBUG(":%lld - errstat:%d", nfound, opts->err_stat); return nfound; } @@ -2196,7 +2196,7 @@ diff_ldouble_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, nfound++; } - H5TOOLS_ENDDEBUG(":%d - errstat:%d", nfound, opts->err_stat); + H5TOOLS_ENDDEBUG(":%lld - errstat:%d", nfound, opts->err_stat); return nfound; } @@ -2285,7 +2285,7 @@ diff_schar_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, d nfound++; } - H5TOOLS_ENDDEBUG(":%d - errstat:%d", nfound, opts->err_stat); + H5TOOLS_ENDDEBUG(":%lld - errstat:%d", nfound, opts->err_stat); return nfound; } @@ -2373,7 +2373,7 @@ diff_uchar_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, d nfound++; } - H5TOOLS_ENDDEBUG(":%d - errstat:%d", nfound, opts->err_stat); + H5TOOLS_ENDDEBUG(":%lld - errstat:%d", nfound, opts->err_stat); return nfound; } @@ -2461,7 +2461,7 @@ diff_short_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, d nfound++; } - H5TOOLS_ENDDEBUG(":%d - errstat:%d", nfound, opts->err_stat); + H5TOOLS_ENDDEBUG(":%lld - errstat:%d", nfound, opts->err_stat); return nfound; } @@ -2553,7 +2553,7 @@ diff_ushort_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, nfound++; } - H5TOOLS_ENDDEBUG(":%d - errstat:%d", nfound, opts->err_stat); + H5TOOLS_ENDDEBUG(":%lld - errstat:%d", nfound, opts->err_stat); return nfound; } @@ -2641,7 +2641,7 @@ diff_int_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, dif nfound++; } - H5TOOLS_ENDDEBUG(":%d - errstat:%d", nfound, opts->err_stat); + H5TOOLS_ENDDEBUG(":%lld - errstat:%d", nfound, opts->err_stat); return nfound; } @@ -2729,7 +2729,7 @@ diff_uint_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, di nfound++; } - H5TOOLS_ENDDEBUG(":%d - errstat:%d", nfound, opts->err_stat); + H5TOOLS_ENDDEBUG(":%lld - errstat:%d", nfound, opts->err_stat); return nfound; } @@ -2817,7 +2817,7 @@ diff_long_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, di nfound++; } - H5TOOLS_ENDDEBUG(":%d - errstat:%d", nfound, opts->err_stat); + H5TOOLS_ENDDEBUG(":%lld - errstat:%d", nfound, opts->err_stat); return nfound; } @@ -2907,7 +2907,7 @@ diff_ulong_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, d nfound++; } - H5TOOLS_ENDDEBUG(":%d - errstat:%d", nfound, opts->err_stat); + H5TOOLS_ENDDEBUG(":%lld - errstat:%d", nfound, opts->err_stat); return nfound; } @@ -3000,7 +3000,7 @@ diff_llong_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, d } } - H5TOOLS_ENDDEBUG(":%d - errstat:%d", nfound, opts->err_stat); + H5TOOLS_ENDDEBUG(":%lld - errstat:%d", nfound, opts->err_stat); return nfound; } @@ -3100,7 +3100,7 @@ diff_ullong_element(unsigned char *mem1, unsigned char *mem2, hsize_t elem_idx, } } - H5TOOLS_ENDDEBUG(": %d zero:%d", nfound, both_zero); + H5TOOLS_ENDDEBUG(": %lld zero:%d", nfound, both_zero); return nfound; } @@ -3119,7 +3119,7 @@ ull2float(unsigned long long ull_value, float *f_value) size_t dst_size; int ret_value = 0; - H5TOOLS_START_DEBUG(""); + H5TOOLS_START_DEBUG(" "); if ((dxpl_id = H5Pcreate(H5P_DATASET_XFER)) < 0) H5TOOLS_GOTO_ERROR(FAIL, "H5Pcreate failed"); @@ -3146,7 +3146,7 @@ done: if (buf) HDfree(buf); - H5TOOLS_ENDDEBUG(""); + H5TOOLS_ENDDEBUG(" "); return ret_value; } @@ -3348,97 +3348,87 @@ print_header(diff_opt_t *opts) static void print_pos(diff_opt_t *opts, hsize_t idx, size_t u) { - int i, j; - - H5TOOLS_START_DEBUG(" -- idx:%ld", idx); + H5TOOLS_START_DEBUG(" -- idx:%lld", idx); if (print_data(opts)) { + hsize_t curr_pos = idx; /* print header */ if (opts->print_header == 1) { opts->print_header = 0; - print_header(opts); } /* end print header */ H5TOOLS_DEBUG("rank=%d", opts->rank); if (opts->rank > 0) { - hsize_t curr_pos = idx; - parallel_print("[ "); - H5TOOLS_DEBUG("do calc_acc_pos[%ld] nelmts:%d - errstat:%d", idx, opts->hs_nelmts, + H5TOOLS_DEBUG("do calc_acc_pos[%lld] nelmts:%lld - errstat:%d", idx, opts->hs_nelmts, opts->err_stat); - if (opts->sset[0] != NULL) { /* Subsetting is used - calculate total position */ - hsize_t prev_dim_size = 0; /* previous dim size */ - hsize_t prev_str = 0; /* previouw stride idx*/ - hsize_t str_cnt = 0; /* stride multiplier*/ - hsize_t curr_idx = 0; /* calculated running position */ - hsize_t str_idx = 0; - hsize_t blk_idx = 0; - hsize_t cnt_idx = 0; - hsize_t dim_size = 0; /* current dim size */ - hsize_t elmnt_cnt = 1; - hsize_t next_idx = idx; - hsize_t data_idx = 0; - j = opts->rank - 1; - H5TOOLS_DEBUG("...begin:%ld=> opts->rank:%ld (idx:%ld)", j, opts->rank, idx); - do { - curr_idx = next_idx; /* New current data position */ - cnt_idx = opts->sset[0]->count.data[j]; /* Count value for current dim */ - blk_idx = opts->sset[0]->block.data[j]; /* Block value for current dim */ - str_idx = opts->sset[0]->stride.data[j]; /* Stride value for current dim */ - H5TOOLS_DEBUG("... sset loop:%d with curr_pos:%ld (curr_idx:%ld) - c:%ld b:%ld s:%ld", j, - curr_pos, curr_idx, cnt_idx, blk_idx, str_idx); - dim_size = opts->dims[j]; /* Current dimension size */ - /* elmnt_cnt *= dim_size; /* Total number of elements in dimension */ - H5TOOLS_DEBUG("... sset loop:%d with elmnt_cnt:%ld - (prev_dim_size:%ld - dim_size:%ld) " - "- str_cnt:%ld", - j, elmnt_cnt, prev_dim_size, dim_size, str_cnt); - data_idx = elmnt_cnt * dim_size; - H5TOOLS_DEBUG("... sset loop:%d with curr_pos:%ld (data_idx:%ld)", j, curr_pos, data_idx); - for (i = 0; i < cnt_idx; i++) { - H5TOOLS_DEBUG("... ... data loop:%d with cnt_idx:%ld - str_cnt:%ld (curr_idx:%ld - " - "data_idx:%ld)", - i, cnt_idx, str_cnt, curr_idx, data_idx); - if (curr_idx >= data_idx) { - /* get to next block */ - data_idx += str_idx * dim_size; - /* get next block */ - str_cnt++; - H5TOOLS_DEBUG( - "... ... data loop:%d with cnt_idx:%ld - str_cnt:%ld - data_idx:%ld", i, - cnt_idx, str_cnt, data_idx); - } - H5TOOLS_DEBUG("... ... end data loop:%d with dim_cnt:%ld - str_cnt:%ld - " - "(curr_idx:%ld - data_idx:%ld)", - i, dim_size, str_cnt, curr_idx, data_idx); + hsize_t curr_idx = 0; /* current pos in the selection space for each dimension */ + + curr_pos = 0; /* current position in full space */ + if (curr_idx < idx) { + int j; + hsize_t count; + hsize_t block; + hsize_t stride; + hsize_t tmp = 0; + hsize_t k0 = 0; /* whole location beyond current dimension */ + hsize_t k1 = 0; /* partial location within dimension */ + hsize_t dim_size = 0; /* previous dim size */ + hsize_t prev_dim_size = 0; /* previous dim size */ + hsize_t total_dim_size = 1; /* current dim size */ + hsize_t prev_total_dim_size = 1; /* current dim size */ + + prev_dim_size = 1; + total_dim_size = 1; + curr_idx = idx; + /* begin with fastest changing dimension */ + for (int i = 0; i < opts->rank; i++) { + j = opts->rank - i - 1; + prev_total_dim_size *= prev_dim_size; + dim_size = opts->dims[j]; + H5TOOLS_DEBUG("j=%d, dim_size=%lld, prev_dim_size=%lld, total_dim_size=%lld, " + "prev_total_dim_size=%lld", + j, dim_size, prev_dim_size, total_dim_size, prev_total_dim_size); + count = opts->sset[0]->count.data[j]; + block = opts->sset[0]->block.data[j]; + stride = opts->sset[0]->stride.data[j]; + H5TOOLS_DEBUG("stride=%lld, count=%lld, block=%lld", stride, count, block); + tmp = count * block; + k0 = curr_idx / tmp; + k1 = curr_idx % tmp; + curr_pos += k1 * stride * prev_total_dim_size; + H5TOOLS_DEBUG("curr_idx=%lld, k0=%lld, k1=%lld, curr_pos=%lld", curr_idx, k0, k1, + curr_pos); + if (k0 > 0) + curr_idx = k0 * total_dim_size; + H5TOOLS_DEBUG("curr_idx=%lld, tmp=%lld", curr_idx, tmp); + total_dim_size *= dim_size; + /* if last calculation exists within in current dimension */ + if (k0 == 0) + break; + H5TOOLS_DEBUG("j=%d, curr_pos=%lld", j, curr_pos); + prev_dim_size = dim_size; } - next_idx += dim_size * str_cnt; - H5TOOLS_DEBUG("... sset loop:%d with curr_idx:%ld (next_idx:%ld)", j, curr_idx, next_idx); - str_cnt = 0; - prev_str = str_idx; - prev_dim_size = dim_size; - H5TOOLS_DEBUG("... end sset loop:%d with prev_dim_size:%ld (curr_idx:%ld - data_idx:%ld) " - "- str_cnt:%ld", - j, prev_dim_size, curr_idx, data_idx, str_cnt); - elmnt_cnt *= dim_size; /* Total number of elements in dimension */ - j--; - } while (next_idx >= elmnt_cnt && j >= 0); - curr_pos = curr_idx; /* New current position */ - H5TOOLS_DEBUG("pos loop:%d,%d with elmnt_cnt:%ld - curr_pos:%ld", i, j, elmnt_cnt, curr_pos); - } /* if (opts->sset[0] != NULL) */ + /* check if there is a final calculation needed for slowest changing dimension */ + if (k0 > 0) + curr_pos += k0 * stride * prev_total_dim_size; + H5TOOLS_DEBUG("4:curr_idx=%lld, curr_pos=%lld", curr_idx, curr_pos); + } + } /* * Calculate the number of elements represented by a unit change in a * certain index position. */ calc_acc_pos((unsigned)opts->rank, curr_pos, opts->acc, opts->pos); - for (i = 0; i < opts->rank; i++) { - H5TOOLS_DEBUG("pos loop:%d with opts->pos=%ld opts->sm_pos=%ld", i, opts->pos[i], + for (int i = 0; i < opts->rank; i++) { + H5TOOLS_DEBUG("pos loop:%d with opts->pos=%lld opts->sm_pos=%lld", i, opts->pos[i], opts->sm_pos[i]); opts->pos[i] += (unsigned long)opts->sm_pos[i]; - H5TOOLS_DEBUG("pos loop:%d with opts->pos=%ld", i, opts->pos[i]); + H5TOOLS_DEBUG("pos loop:%d with opts->pos=%lld", i, opts->pos[i]); parallel_print(HSIZE_T_FORMAT, (unsigned long long)opts->pos[i]); parallel_print(" "); } @@ -3457,7 +3447,7 @@ print_pos(diff_opt_t *opts, hsize_t idx, size_t u) parallel_print(SPACES); } - H5TOOLS_ENDDEBUG(""); + H5TOOLS_ENDDEBUG(" "); } /*------------------------------------------------------------------------- |