diff options
author | Pedro Vicente Nunes <pvn@hdfgroup.org> | 2006-12-14 21:18:08 (GMT) |
---|---|---|
committer | Pedro Vicente Nunes <pvn@hdfgroup.org> | 2006-12-14 21:18:08 (GMT) |
commit | aa646b5b43361597e547cea18af1825b43ad8ecb (patch) | |
tree | 46b46713137bcbb0da32c66223739faee75be08d | |
parent | 57a786d9c0242b7c94d0b0a1c8519f9b906d194a (diff) | |
download | hdf5-aa646b5b43361597e547cea18af1825b43ad8ecb.zip hdf5-aa646b5b43361597e547cea18af1825b43ad8ecb.tar.gz hdf5-aa646b5b43361597e547cea18af1825b43ad8ecb.tar.bz2 |
[svn-r13064]
Fix several bugs
1) the parsing of subsetting was using atoi to convert the parameter to an int, which caused problems for numbers greater that int. Substitute with atof
2) the printing of indices in the subsetting case was not being done. Solution: calculate the element position at the start of the subsetting using the algorythm
Given an index I(z,y,x) its position from the beginning of an array of sizes A(size_z, size_y,size_x) is given by
Position of I(z,y,x) = index_z * size_y * size_x
+ index_y * size_x
+ index_x
And pass that position to the function that dumps data, h5tools_dump_simple_data.
3) several index counters were declared as int, use hsize_t instead
4) modified the test generation program so that it includes test cases for subsetting of 1d, 2d, 3d, and 4d arrays and add these tests to the shell script
-rw-r--r-- | MANIFEST | 5 | ||||
-rw-r--r-- | tools/h5dump/h5dump.c | 2 | ||||
-rw-r--r-- | tools/h5dump/h5dumpgentest.c | 26 | ||||
-rw-r--r-- | tools/h5dump/testh5dump.sh.in | 6 | ||||
-rwxr-xr-x | tools/h5import/h5import.c | 10 | ||||
-rw-r--r-- | tools/lib/h5diff_array.c | 2 | ||||
-rw-r--r-- | tools/lib/h5tools.c | 136 | ||||
-rw-r--r-- | tools/testfiles/taindices.h5 | bin | 1068096 -> 1065992 bytes | |||
-rw-r--r-- | tools/testfiles/tall-4s.ddl | 3 | ||||
-rw-r--r-- | tools/testfiles/tall-5s.ddl | 11 | ||||
-rw-r--r-- | tools/testfiles/tdset-3s.ddl | 30 | ||||
-rw-r--r-- | tools/testfiles/tdset2-1s.ddl | 8 | ||||
-rw-r--r-- | tools/testfiles/tindicesno.ddl | 232 | ||||
-rw-r--r-- | tools/testfiles/tindicessub1.ddl | 57 | ||||
-rw-r--r-- | tools/testfiles/tindicessub2.ddl | 21 | ||||
-rw-r--r-- | tools/testfiles/tindicessub3.ddl | 21 | ||||
-rw-r--r-- | tools/testfiles/tindicessub4.ddl | 18 | ||||
-rw-r--r-- | tools/testfiles/tindicesyes.ddl | 359 |
18 files changed, 566 insertions, 381 deletions
@@ -1154,6 +1154,11 @@ ./tools/testfiles/tbin2.ddl ./tools/testfiles/tbin3.ddl ./tools/testfiles/tbin4.ddl +./tools/testfiles/tindicessub2.ddl +./tools/testfiles/tindicessub3.ddl +./tools/testfiles/tindicessub4.ddl +./tools/testfiles/tindicessub1.ddl + # Expected output from h5ls tests diff --git a/tools/h5dump/h5dump.c b/tools/h5dump/h5dump.c index 9768272..97644bf 100644 --- a/tools/h5dump/h5dump.c +++ b/tools/h5dump/h5dump.c @@ -2962,7 +2962,7 @@ parse_hsize_list(const char *h_list) for (ptr = h_list; i < size_count && ptr && *ptr && *ptr != ';' && *ptr != ']'; ptr++) if (isdigit(*ptr)) { /* we should have an integer now */ - p_list[i++] = (hsize_t)atoi(ptr); + p_list[i++] = (hsize_t)atof(ptr); while (isdigit(*ptr)) /* scroll to end of integer */ diff --git a/tools/h5dump/h5dumpgentest.c b/tools/h5dump/h5dumpgentest.c index 463f718..83f009a 100644 --- a/tools/h5dump/h5dumpgentest.c +++ b/tools/h5dump/h5dumpgentest.c @@ -5364,14 +5364,14 @@ static void gent_aindices(void) hid_t fid; /* file id */ hid_t gid[6]; /* group ids */ hsize_t dims1[1] = {100}; - hsize_t dims2[2] = {2,100}; - hsize_t dims3[3] = {2,2,100}; - hsize_t dims4[4] = {2,3,4,5}; + hsize_t dims2[2] = {10,10}; + hsize_t dims3[3] = {2,10,10}; + hsize_t dims4[4] = {2,2,10,10}; hsize_t dims5[2] = {32,4097}; /* big enough data size to force a second stripmine read */ int buf1[100]; - int buf2[2][100]; - int buf3[2][2][100]; - int buf4[2][3][4][5]; + int buf2[10][10]; + int buf3[2][10][10]; + int buf4[2][2][10][10]; double *buf5; int i, j, k, l, n, ret; @@ -5379,22 +5379,22 @@ static void gent_aindices(void) buf1[i]=n++; } - for (i=n=0; i<2; i++){ - for (j=0; j<100; j++){ + for (i=n=0; i<10; i++){ + for (j=0; j<10; j++){ buf2[i][j]=n++; } } for (i=n=0; i<2; i++){ - for (j=0; j<2; j++){ - for (k=0; k<100; k++){ + for (j=0; j<10; j++){ + for (k=0; k<10; k++){ buf3[i][j][k]=n++; } } } for (i=n=0; i<2; i++){ - for (j=0; j<3; j++){ - for (k=0; k<4; k++){ - for (l=0; l<5; l++){ + for (j=0; j<2; j++){ + for (k=0; k<10; k++){ + for (l=0; l<10; l++){ buf4[i][j][k][l]=n++; } } diff --git a/tools/h5dump/testh5dump.sh.in b/tools/h5dump/testh5dump.sh.in index 8368385..4c6414d 100644 --- a/tools/h5dump/testh5dump.sh.in +++ b/tools/h5dump/testh5dump.sh.in @@ -256,6 +256,12 @@ TOOLTEST tstring2.ddl -r -d str4 tstr3.h5 TOOLTEST tindicesyes.ddl taindices.h5 TOOLTEST tindicesno.ddl -y taindices.h5 +# array indices with subsetting +TOOLTEST tindicessub1.ddl -d 1d -s 3 -c 40 taindices.h5 +TOOLTEST tindicessub2.ddl -d 2d -s 1,3 -c 6,4 taindices.h5 +TOOLTEST tindicessub3.ddl -d 3d -s 0,1,3 -c 1,6,4 taindices.h5 +TOOLTEST tindicessub4.ddl -d 4d -s 0,0,1,3 -c 1,1,1,1 taindices.h5 + # tests for filters # SZIP diff --git a/tools/h5import/h5import.c b/tools/h5import/h5import.c index 6e233c3..f318d1e 100755 --- a/tools/h5import/h5import.c +++ b/tools/h5import/h5import.c @@ -2571,7 +2571,7 @@ help(char *name) (void) fprintf(stderr, "\t following values.\n"); (void) fprintf(stderr, "\t BE (default)\n"); (void) fprintf(stderr, "\t LE\n\n"); - (void) fprintf(stderr, "\t CHUNKED-DIMENSION:\n"); + (void) fprintf(stderr, "\t CHUNKED-DIMENSION-SIZES:\n"); (void) fprintf(stderr, "\t Integers separated by spaces to denote the \n"); (void) fprintf(stderr, "\t dimension sizes of the chunk for the no. of \n"); (void) fprintf(stderr, "\t dimensions determined by rank. Required field\n"); @@ -2581,7 +2581,7 @@ help(char *name) (void) fprintf(stderr, "\t COMPRESSION-TYPE:\n"); (void) fprintf(stderr, "\t String denoting the type of compression to be\n"); (void) fprintf(stderr, "\t used with the chunked storage. Requires the\n"); - (void) fprintf(stderr, "\t CHUNKED-DIMENSION to be specified. The only \n"); + (void) fprintf(stderr, "\t CHUNKED-DIMENSION-SIZES to be specified. The only \n"); (void) fprintf(stderr, "\t currently supported compression method is GZIP. \n"); (void) fprintf(stderr, "\t Will accept the following value\n"); (void) fprintf(stderr, "\t GZIP\n\n"); @@ -2607,7 +2607,7 @@ help(char *name) (void) fprintf(stderr, "\t Integers separated by spaces to denote the \n"); (void) fprintf(stderr, "\t maximum dimension sizes of all the \n"); (void) fprintf(stderr, "\t dimensions determined by rank. Requires the\n"); - (void) fprintf(stderr, "\t CHUNKED-DIMENSION to be specified. A value of \n"); + (void) fprintf(stderr, "\t CHUNKED-DIMENSION-SIZES to be specified. A value of \n"); (void) fprintf(stderr, "\t -1 for any dimension implies UNLIMITED \n"); (void) fprintf(stderr, "\t DIMENSION size for that particular dimension.\n\n"); (void) fprintf(stderr, "\t EXAMPLES:\n"); @@ -2620,7 +2620,7 @@ help(char *name) (void) fprintf(stderr, "\t OUTPUT-SIZE 64\n"); (void) fprintf(stderr, "\t OUTPUT-ARCHITECTURE IEEE\n"); (void) fprintf(stderr, "\t OUTPUT-BYTE-ORDER LE\n"); - (void) fprintf(stderr, "\t CHUNKED-DIMENSION 2 2 2 \n\n"); + (void) fprintf(stderr, "\t CHUNKED-DIMENSION-SIZES 2 2 2 \n\n"); (void) fprintf(stderr, "\t The above configuration will accept a floating point array \n"); (void) fprintf(stderr, "\t (5 x 2 x 4) in an ASCII file with the rank and dimension sizes \n"); (void) fprintf(stderr, "\t specified and will save it in a chunked data-set (of pattern \n"); @@ -2634,7 +2634,7 @@ help(char *name) (void) fprintf(stderr, "\t DIMENSION-SIZES 6 3 5 2 4\n"); (void) fprintf(stderr, "\t OUTPUT-CLASS IN\n"); (void) fprintf(stderr, "\t OUTPUT-SIZE 32\n"); - (void) fprintf(stderr, "\t CHUNKED-DIMENSION 2 2 2 2 2\n"); + (void) fprintf(stderr, "\t CHUNKED-DIMENSION-SIZES 2 2 2 2 2\n"); (void) fprintf(stderr, "\t EXTENDIBLE-DATASET 1 3 \n"); (void) fprintf(stderr, "\t COMPRESSION-TYPE GZIP\n"); (void) fprintf(stderr, "\t COMPRESSION-PARAM 7\n\n\n"); diff --git a/tools/lib/h5diff_array.c b/tools/lib/h5diff_array.c index 7786f0a..c95c83f 100644 --- a/tools/lib/h5diff_array.c +++ b/tools/lib/h5diff_array.c @@ -262,7 +262,7 @@ hsize_t diff_array( void *_mem1, acc[rank-1]=1; for(j=(rank-2); j>=0; j--) { - acc[j]=acc[j+1]*(int)dims[j+1]; + acc[j]=acc[j+1]*dims[j+1]; } for ( j = 0; j < rank; j++) pos[j]=0; diff --git a/tools/lib/h5tools.c b/tools/lib/h5tools.c index 8279ec9..804f83a 100644 --- a/tools/lib/h5tools.c +++ b/tools/lib/h5tools.c @@ -563,7 +563,13 @@ h5tools_dump_simple_data(FILE *stream, const h5tool_format_t *info, hid_t contai if (info->line_ncols > 0) ncols = info->line_ncols; - h5tools_simple_prefix(stream, info, ctx, (hsize_t)0, 0); + + /* pass to the prefix in h5tools_simple_prefix the total position + instead of the current stripmine position i; this is necessary + to print the array indices */ + curr_pos = ctx->sm_pos; + + h5tools_simple_prefix(stream, info, ctx, curr_pos, 0); for (i = 0; i < nelmts; i++, ctx->cur_elmt++, elmt_counter++) { /* Render the element */ @@ -703,6 +709,14 @@ h5tools_dump_simple_data(FILE *stream, const h5tool_format_t *info, hid_t contai * Programmer: * Bill Wendling, Wednesday, 07. March 2001 * Modifications: + * Pedro Vicente, 12 December 2006 + * Add information to print array indices from the element position + * The algorythm used is + * Given an index I(z,y,x) its position from the beginning of an array + * of sizes A(size_z, size_y,size_x) is given by + * Position of I(z,y,x) = index_z * size_y * size_x + * + index_y * size_x + * + index_x *------------------------------------------------------------------------- */ static herr_t @@ -710,32 +724,30 @@ h5tools_dump_simple_subset(FILE *stream, const h5tool_format_t *info, hid_t dset hid_t p_type, struct subset_t *sset, int indentlevel) { - herr_t ret; /*the value to return */ - hid_t f_space; /*file data space */ - int i; /*counters */ - hsize_t zero = 0; /*vector of zeros */ - unsigned int flags; /*buffer extent flags */ - hsize_t total_size[H5S_MAX_RANK];/*total size of dataset*/ - - /* Print info */ - h5tools_context_t ctx; /*print context */ - size_t p_type_nbytes; /*size of memory type */ - - /* Stripmine info */ - hsize_t sm_size[H5S_MAX_RANK]; /*stripmine size */ - hsize_t sm_nbytes; /*bytes per stripmine */ - hsize_t sm_nelmts; /*elements per stripmine*/ - unsigned char *sm_buf = NULL; /*buffer for raw data */ - hid_t sm_space; /*stripmine data space */ - - hsize_t count; + herr_t ret; /* the value to return */ + hid_t f_space; /* file data space */ + hsize_t i, j; /* counters */ + hsize_t zero = 0; /* vector of zeros */ + unsigned int flags; /* buffer extent flags */ + hsize_t total_size[H5S_MAX_RANK];/* total size of dataset*/ + hsize_t elmtno; /* elemnt index */ + hsize_t low[H5S_MAX_RANK]; /* low bound of hyperslab */ + hsize_t high[H5S_MAX_RANK]; /* higher bound of hyperslab */ + h5tools_context_t ctx; /* print context */ + size_t p_type_nbytes; /* size of memory type */ + hsize_t sm_size[H5S_MAX_RANK]; /* stripmine size */ + hsize_t sm_nbytes; /* bytes per stripmine */ + hsize_t sm_nelmts; /* elements per stripmine*/ + unsigned char *sm_buf = NULL; /* buffer for raw data */ + hid_t sm_space; /* stripmine data space */ + hsize_t count; /* hyperslab count */ ret = FAIL; /* be pessimistic */ f_space = H5Dget_space(dset); - + if (f_space == FAIL) goto done; - + /* * check that everything looks okay. the dimensionality must not be too * great and the dimensionality of the items selected for printing must @@ -755,17 +767,17 @@ h5tools_dump_simple_subset(FILE *stream, const h5tool_format_t *info, hid_t dset ctx.p_min_idx[i] = 0; H5Sget_simple_extent_dims(f_space, total_size, NULL); - assert(total_size[ctx.ndims - 1]==(hsize_t)((int)(total_size[ctx.ndims - 1]))); - ctx.size_last_dim = (int)(total_size[ctx.ndims - 1]); + ctx.size_last_dim = total_size[ctx.ndims - 1]; count = sset->count[ctx.ndims - 1]; sset->count[ctx.ndims - 1] = 1; if(ctx.ndims>0) - init_acc_pos(&ctx,total_size); + init_acc_pos(&ctx,total_size); + for (; count > 0; sset->start[ctx.ndims - 1] += sset->stride[ctx.ndims - 1], - count--) { + count--) { /* calculate the potential number of elements we're going to print */ H5Sselect_hyperslab(f_space, H5S_SELECT_SET, sset->start, @@ -774,6 +786,7 @@ h5tools_dump_simple_subset(FILE *stream, const h5tool_format_t *info, hid_t dset sset->block); sm_nelmts = H5Sget_select_npoints(f_space); + /* * start (0, 0) * block (2, 2) @@ -801,7 +814,7 @@ h5tools_dump_simple_subset(FILE *stream, const h5tool_format_t *info, hid_t dset * a hyperslab whose size is manageable. */ sm_nbytes = p_type_nbytes = H5Tget_size(p_type); - + if (ctx.ndims > 0) for (i = ctx.ndims; i > 0; --i) { sm_size[i - 1] = MIN(total_size[i - 1], H5TOOLS_BUFSIZE / sm_nbytes); @@ -825,17 +838,38 @@ h5tools_dump_simple_subset(FILE *stream, const h5tool_format_t *info, hid_t dset /* Print the data */ flags = START_OF_DATA; - + if (count == 1) flags |= END_OF_DATA; - + for (i = 0; i < ctx.ndims; i++) { ctx.p_max_idx[i] = ctx.p_min_idx[i] + MIN(total_size[i], sm_size[i]); } + /* print array indices. get the lower bound of the hyperslab and calulate + the element position at the start of hyperslab */ + H5Sget_select_bounds(f_space,low,high); + elmtno=0; + for (i = 0; i < ctx.ndims-1; i++) + { + hsize_t offset = 1; /* accumulation of the previous dimensions */ + for (j = i+1; j < ctx.ndims; j++) + offset *= total_size[j]; + elmtno+= low[i] * offset; + } + elmtno+= low[ctx.ndims - 1]; + + /* initialize the current stripmine position; this is necessary to print the array + indices */ + ctx.sm_pos = elmtno; + h5tools_dump_simple_data(stream, info, dset, &ctx, flags, sm_nelmts, p_type, sm_buf); free(sm_buf); + + /* we need to jump to next line and update the index */ + ctx.need_prefix = 1; + ctx.continuation++; } @@ -845,9 +879,9 @@ h5tools_dump_simple_subset(FILE *stream, const h5tool_format_t *info, hid_t dset putc('\n', stream); fputs(OPT(info->line_sep, ""), stream); } - + ret = SUCCEED; - + done_close: H5Sclose(f_space); done: @@ -876,33 +910,33 @@ static int h5tools_dump_simple_dset(FILE *stream, const h5tool_format_t *info, hid_t dset, hid_t p_type, int indentlevel) { - hid_t f_space; /*file data space */ - hsize_t elmtno; /*counter */ - int i; /*counter */ - int carry; /*counter carry value */ - hsize_t zero[8]; /*vector of zeros */ - unsigned int flags; /*buffer extent flags */ - hsize_t total_size[H5S_MAX_RANK];/*total size of dataset*/ + hid_t f_space; /* file data space */ + hsize_t elmtno; /* counter */ + hsize_t i; /* counter */ + int carry; /* counter carry value */ + hsize_t zero[8]; /* vector of zeros */ + unsigned int flags; /* buffer extent flags */ + hsize_t total_size[H5S_MAX_RANK]; /* total size of dataset*/ /* Print info */ - h5tools_context_t ctx; /*print context */ - size_t p_type_nbytes; /*size of memory type */ - hsize_t p_nelmts; /*total selected elmts */ + h5tools_context_t ctx; /* print context */ + size_t p_type_nbytes; /* size of memory type */ + hsize_t p_nelmts; /* total selected elmts */ /* Stripmine info */ - hsize_t sm_size[H5S_MAX_RANK]; /*stripmine size */ - hsize_t sm_nbytes; /*bytes per stripmine */ - hsize_t sm_nelmts; /*elements per stripmine*/ - unsigned char *sm_buf = NULL; /*buffer for raw data */ - hid_t sm_space; /*stripmine data space */ + hsize_t sm_size[H5S_MAX_RANK]; /* stripmine size */ + hsize_t sm_nbytes; /* bytes per stripmine */ + hsize_t sm_nelmts; /* elements per stripmine*/ + unsigned char *sm_buf = NULL; /* buffer for raw data */ + hid_t sm_space; /* stripmine data space */ /* Hyperslab info */ - hsize_t hs_offset[H5S_MAX_RANK];/*starting offset */ - hsize_t hs_size[H5S_MAX_RANK]; /*size this pass */ - hsize_t hs_nelmts; /*elements in request */ + hsize_t hs_offset[H5S_MAX_RANK]; /* starting offset */ + hsize_t hs_size[H5S_MAX_RANK]; /* size this pass */ + hsize_t hs_nelmts; /* elements in request */ /* VL data special information */ - unsigned int vl_data = 0; /*contains VL datatypes */ + unsigned int vl_data = 0; /* contains VL datatypes */ f_space = H5Dget_space(dset); @@ -918,7 +952,7 @@ h5tools_dump_simple_dset(FILE *stream, const h5tool_format_t *info, hid_t dset, ctx.indent_level = indentlevel; ctx.need_prefix = 1; ctx.ndims = H5Sget_simple_extent_ndims(f_space); - + if ((size_t)ctx.ndims > NELMTS(sm_size)) { H5Sclose(f_space); return FAIL; diff --git a/tools/testfiles/taindices.h5 b/tools/testfiles/taindices.h5 Binary files differindex 52fc814..8261090 100644 --- a/tools/testfiles/taindices.h5 +++ b/tools/testfiles/taindices.h5 diff --git a/tools/testfiles/tall-4s.ddl b/tools/testfiles/tall-4s.ddl index 995b00e..eba555b 100644 --- a/tools/testfiles/tall-4s.ddl +++ b/tools/testfiles/tall-4s.ddl @@ -11,7 +11,8 @@ DATASET "/g1/g1.1/dset1.1.1" { COUNT ( 3, 2 ); BLOCK ( 1, 1 ); DATA { - (0,0): 1, 3, 5, 4, 12, 20 + (1,1): 1, 3, 5, + (1,4): 4, 12, 20 } } ATTRIBUTE "attr1" { diff --git a/tools/testfiles/tall-5s.ddl b/tools/testfiles/tall-5s.ddl index 95e4d63..fbf5238 100644 --- a/tools/testfiles/tall-5s.ddl +++ b/tools/testfiles/tall-5s.ddl @@ -11,7 +11,16 @@ DATASET "/g1/g1.1/dset1.1.2" { COUNT ( 10 ); BLOCK ( 1 ); DATA { - (0): 0, 2, 4, 6, 8, 10, 12, 14, 16, 18 + (0): 0, + (2): 2, + (4): 4, + (6): 6, + (8): 8, + (10): 10, + (12): 12, + (14): 14, + (16): 16, + (18): 18 } } } diff --git a/tools/testfiles/tdset-3s.ddl b/tools/testfiles/tdset-3s.ddl index 32da55c..ae9f5f2 100644 --- a/tools/testfiles/tdset-3s.ddl +++ b/tools/testfiles/tdset-3s.ddl @@ -11,17 +11,25 @@ DATASET "/dset1" { COUNT ( 9, 19 ); BLOCK ( 1, 1 ); DATA { - (0,0): 2, 3, 4, 5, 6, 7, 8, 9, 10, 3, 4, 5, 6, 7, 8, 9, 10, 11, 4, 5, - (0,2): 6, 7, 8, 9, 10, 11, 12, 5, 6, 7, 8, 9, 10, 11, 12, 13, 6, 7, 8, - (0,3): 9, 10, 11, 12, 13, 14, 7, 8, 9, 10, 11, 12, 13, 14, 15, 8, 9, - (0,2): 10, 11, 12, 13, 14, 15, 16, 9, 10, 11, 12, 13, 14, 15, 16, 17, - (0,0): 10, 11, 12, 13, 14, 15, 16, 17, 18, 11, 12, 13, 14, 15, 16, 17, - (0,7): 18, 19, 12, 13, 14, 15, 16, 17, 18, 19, 20, 13, 14, 15, 16, 17, - (0,5): 18, 19, 20, 21, 14, 15, 16, 17, 18, 19, 20, 21, 22, 15, 16, 17, - (0,3): 18, 19, 20, 21, 22, 23, 16, 17, 18, 19, 20, 21, 22, 23, 24, 17, - (0,1): 18, 19, 20, 21, 22, 23, 24, 25, 18, 19, 20, 21, 22, 23, 24, 25, - (0,8): 26, 19, 20, 21, 22, 23, 24, 25, 26, 27, 20, 21, 22, 23, 24, 25, - (0,6): 26, 27, 28 + (1,1): 2, 3, 4, 5, 6, 7, 8, 9, 10, + (1,2): 3, 4, 5, 6, 7, 8, 9, 10, 11, + (1,3): 4, 5, 6, 7, 8, 9, 10, 11, 12, + (1,4): 5, 6, 7, 8, 9, 10, 11, 12, 13, + (1,5): 6, 7, 8, 9, 10, 11, 12, 13, 14, + (1,6): 7, 8, 9, 10, 11, 12, 13, 14, 15, + (1,7): 8, 9, 10, 11, 12, 13, 14, 15, 16, + (1,8): 9, 10, 11, 12, 13, 14, 15, 16, 17, + (1,9): 10, 11, 12, 13, 14, 15, 16, 17, 18, + (1,10): 11, 12, 13, 14, 15, 16, 17, 18, 19, + (1,11): 12, 13, 14, 15, 16, 17, 18, 19, 20, + (1,12): 13, 14, 15, 16, 17, 18, 19, 20, 21, + (1,13): 14, 15, 16, 17, 18, 19, 20, 21, 22, + (1,14): 15, 16, 17, 18, 19, 20, 21, 22, 23, + (1,15): 16, 17, 18, 19, 20, 21, 22, 23, 24, + (1,16): 17, 18, 19, 20, 21, 22, 23, 24, 25, + (1,17): 18, 19, 20, 21, 22, 23, 24, 25, 26, + (1,18): 19, 20, 21, 22, 23, 24, 25, 26, 27, + (1,19): 20, 21, 22, 23, 24, 25, 26, 27, 28 } } } diff --git a/tools/testfiles/tdset2-1s.ddl b/tools/testfiles/tdset2-1s.ddl index b160a53..967174c 100644 --- a/tools/testfiles/tdset2-1s.ddl +++ b/tools/testfiles/tdset2-1s.ddl @@ -11,10 +11,10 @@ DATASET "/dset1" { COUNT ( 4, 4 ); BLOCK ( 1, 4 ); DATA { - (0,0): 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 2, 3, 4, 5, - (0,4): 2, 3, 4, 5, 2, 3, 4, 5, 2, 3, 4, 5, 4, 5, 6, 7, 4, 5, 6, 7, - (0,8): 4, 5, 6, 7, 4, 5, 6, 7, 6, 7, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9, - (0,12): 6, 7, 8, 9 + (0,0): 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3, + (0,2): 2, 3, 4, 5, 2, 3, 4, 5, 2, 3, 4, 5, 2, 3, 4, 5, + (0,4): 4, 5, 6, 7, 4, 5, 6, 7, 4, 5, 6, 7, 4, 5, 6, 7, + (0,6): 6, 7, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9 } } } diff --git a/tools/testfiles/tindicesno.ddl b/tools/testfiles/tindicesno.ddl index fdafcea..d58f719 100644 --- a/tools/testfiles/tindicesno.ddl +++ b/tools/testfiles/tindicesno.ddl @@ -17,88 +17,90 @@ GROUP "/" { } DATASET "2d" { DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 2, 100 ) / ( 2, 100 ) } + DATASPACE SIMPLE { ( 10, 10 ) / ( 10, 10 ) } DATA { - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, - 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, - 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, 93, 94, 95, 96, 97, 98, 99, - 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, - 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, - 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, - 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, - 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, - 198, 199 + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, + 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, + 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, + 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, + 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, + 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, + 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, + 90, 91, 92, 93, 94, 95, 96, 97, 98, 99 } } DATASET "3d" { DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 2, 2, 100 ) / ( 2, 2, 100 ) } + DATASPACE SIMPLE { ( 2, 10, 10 ) / ( 2, 10, 10 ) } DATA { - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, - 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, - 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, 93, 94, 95, 96, 97, 98, 99, - 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, - 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, - 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, - 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, - 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, - 198, 199, - 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, - 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, - 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, - 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, - 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, - 298, 299, - 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, - 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, - 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, - 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, - 398, 399 + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, + 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, + 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, + 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, + 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, + 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, + 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, + 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, + 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, + 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, + 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, + 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, + 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, + 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, + 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, 193, 194, 195, 196, 197, 198, 199 } } DATASET "4d" { DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 2, 3, 4, 5 ) / ( 2, 3, 4, 5 ) } + DATASPACE SIMPLE { ( 2, 2, 10, 10 ) / ( 2, 2, 10, 10 ) } DATA { - 0, 1, 2, 3, 4, - 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, - 45, 46, 47, 48, 49, - 50, 51, 52, 53, 54, - 55, 56, 57, 58, 59, - 60, 61, 62, 63, 64, - 65, 66, 67, 68, 69, - 70, 71, 72, 73, 74, - 75, 76, 77, 78, 79, - 80, 81, 82, 83, 84, - 85, 86, 87, 88, 89, - 90, 91, 92, 93, 94, - 95, 96, 97, 98, 99, - 100, 101, 102, 103, 104, - 105, 106, 107, 108, 109, - 110, 111, 112, 113, 114, - 115, 116, 117, 118, 119 + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, + 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, + 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, + 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, + 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, + 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, + 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, + 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, + 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, + 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, + 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, + 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, + 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, + 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, + 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, + 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, + 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, + 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, + 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, + 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, + 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, + 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, + 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, + 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, + 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, + 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, + 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, 393, 394, 395, 396, 397, 398, 399 } } GROUP "g1" { @@ -123,16 +125,34 @@ GROUP "/" { } DATASET "2d" { DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 2, 100 ) / ( 2, 100 ) } + DATASPACE SIMPLE { ( 10, 10 ) / ( 10, 10 ) } DATA { - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, - 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, - 94, 95, 96, 97, 98, 99, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, + 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, + 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, + 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, + 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, + 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, + 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, + 90, 91, 92, 93, 94, 95, 96, 97, 98, 99 + } + } + DATASET "3d" { + DATATYPE H5T_STD_I32LE + DATASPACE SIMPLE { ( 2, 10, 10 ) / ( 2, 10, 10 ) } + DATA { + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, + 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, + 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, + 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, + 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, + 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, + 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, + 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, @@ -145,18 +165,20 @@ GROUP "/" { 190, 191, 192, 193, 194, 195, 196, 197, 198, 199 } } - DATASET "3d" { + DATASET "4d" { DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 2, 2, 100 ) / ( 2, 2, 100 ) } + DATASPACE SIMPLE { ( 2, 2, 10, 10 ) / ( 2, 2, 10, 10 ) } DATA { - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, - 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, - 94, 95, 96, 97, 98, 99, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, + 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, + 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, + 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, + 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, + 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, + 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, + 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, @@ -189,36 +211,6 @@ GROUP "/" { 390, 391, 392, 393, 394, 395, 396, 397, 398, 399 } } - DATASET "4d" { - DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 2, 3, 4, 5 ) / ( 2, 3, 4, 5 ) } - DATA { - 0, 1, 2, 3, 4, - 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, - 45, 46, 47, 48, 49, - 50, 51, 52, 53, 54, - 55, 56, 57, 58, 59, - 60, 61, 62, 63, 64, - 65, 66, 67, 68, 69, - 70, 71, 72, 73, 74, - 75, 76, 77, 78, 79, - 80, 81, 82, 83, 84, - 85, 86, 87, 88, 89, - 90, 91, 92, 93, 94, - 95, 96, 97, 98, 99, - 100, 101, 102, 103, 104, - 105, 106, 107, 108, 109, - 110, 111, 112, 113, 114, - 115, 116, 117, 118, 119 - } - } } } } diff --git a/tools/testfiles/tindicessub1.ddl b/tools/testfiles/tindicessub1.ddl new file mode 100644 index 0000000..ea3114f --- /dev/null +++ b/tools/testfiles/tindicessub1.ddl @@ -0,0 +1,57 @@ +############################# +Expected output for 'h5dump -d 1d -s 3 -c 40 taindices.h5' +############################# +HDF5 "taindices.h5" { +DATASET "1d" { + DATATYPE H5T_STD_I32LE + DATASPACE SIMPLE { ( 100 ) / ( 100 ) } + SUBSET { + START ( 3 ); + STRIDE ( 1 ); + COUNT ( 40 ); + BLOCK ( 1 ); + DATA { + (3): 3, + (4): 4, + (5): 5, + (6): 6, + (7): 7, + (8): 8, + (9): 9, + (10): 10, + (11): 11, + (12): 12, + (13): 13, + (14): 14, + (15): 15, + (16): 16, + (17): 17, + (18): 18, + (19): 19, + (20): 20, + (21): 21, + (22): 22, + (23): 23, + (24): 24, + (25): 25, + (26): 26, + (27): 27, + (28): 28, + (29): 29, + (30): 30, + (31): 31, + (32): 32, + (33): 33, + (34): 34, + (35): 35, + (36): 36, + (37): 37, + (38): 38, + (39): 39, + (40): 40, + (41): 41, + (42): 42 + } + } +} +} diff --git a/tools/testfiles/tindicessub2.ddl b/tools/testfiles/tindicessub2.ddl new file mode 100644 index 0000000..19ae962 --- /dev/null +++ b/tools/testfiles/tindicessub2.ddl @@ -0,0 +1,21 @@ +############################# +Expected output for 'h5dump -d 2d -s 1,3 -c 6,4 taindices.h5' +############################# +HDF5 "taindices.h5" { +DATASET "2d" { + DATATYPE H5T_STD_I32LE + DATASPACE SIMPLE { ( 10, 10 ) / ( 10, 10 ) } + SUBSET { + START ( 1, 3 ); + STRIDE ( 1, 1 ); + COUNT ( 6, 4 ); + BLOCK ( 1, 1 ); + DATA { + (1,3): 13, 23, 33, 43, 53, 63, + (1,4): 14, 24, 34, 44, 54, 64, + (1,5): 15, 25, 35, 45, 55, 65, + (1,6): 16, 26, 36, 46, 56, 66 + } + } +} +} diff --git a/tools/testfiles/tindicessub3.ddl b/tools/testfiles/tindicessub3.ddl new file mode 100644 index 0000000..76be13f --- /dev/null +++ b/tools/testfiles/tindicessub3.ddl @@ -0,0 +1,21 @@ +############################# +Expected output for 'h5dump -d 3d -s 0,1,3 -c 1,6,4 taindices.h5' +############################# +HDF5 "taindices.h5" { +DATASET "3d" { + DATATYPE H5T_STD_I32LE + DATASPACE SIMPLE { ( 2, 10, 10 ) / ( 2, 10, 10 ) } + SUBSET { + START ( 0, 1, 3 ); + STRIDE ( 1, 1, 1 ); + COUNT ( 1, 6, 4 ); + BLOCK ( 1, 1, 1 ); + DATA { + (0,1,3): 13, 23, 33, 43, 53, 63, + (0,1,4): 14, 24, 34, 44, 54, 64, + (0,1,5): 15, 25, 35, 45, 55, 65, + (0,1,6): 16, 26, 36, 46, 56, 66 + } + } +} +} diff --git a/tools/testfiles/tindicessub4.ddl b/tools/testfiles/tindicessub4.ddl new file mode 100644 index 0000000..cad9c06 --- /dev/null +++ b/tools/testfiles/tindicessub4.ddl @@ -0,0 +1,18 @@ +############################# +Expected output for 'h5dump -d 4d -s 0,0,1,3 -c 1,1,1,1 taindices.h5' +############################# +HDF5 "taindices.h5" { +DATASET "4d" { + DATATYPE H5T_STD_I32LE + DATASPACE SIMPLE { ( 2, 2, 10, 10 ) / ( 2, 2, 10, 10 ) } + SUBSET { + START ( 0, 0, 1, 3 ); + STRIDE ( 1, 1, 1, 1 ); + COUNT ( 1, 1, 1, 1 ); + BLOCK ( 1, 1, 1, 1 ); + DATA { + (0,0,1,3): 13 + } + } +} +} diff --git a/tools/testfiles/tindicesyes.ddl b/tools/testfiles/tindicesyes.ddl index 5c0a941..6d1028d 100644 --- a/tools/testfiles/tindicesyes.ddl +++ b/tools/testfiles/tindicesyes.ddl @@ -18,94 +18,90 @@ GROUP "/" { } DATASET "2d" { DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 2, 100 ) / ( 2, 100 ) } + DATASPACE SIMPLE { ( 10, 10 ) / ( 10, 10 ) } DATA { - (0,0): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - (0,18): 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - (0,34): 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, - (0,50): 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, - (0,66): 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, - (0,82): 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, - (0,98): 98, 99, - (1,0): 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, - (1,13): 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - (1,25): 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, - (1,37): 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, - (1,49): 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, - (1,61): 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, - (1,73): 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, - (1,85): 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, - (1,97): 197, 198, 199 + (0,0): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, + (1,0): 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, + (2,0): 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, + (3,0): 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, + (4,0): 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, + (5,0): 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, + (6,0): 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, + (7,0): 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, + (8,0): 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, + (9,0): 90, 91, 92, 93, 94, 95, 96, 97, 98, 99 } } DATASET "3d" { DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 2, 2, 100 ) / ( 2, 2, 100 ) } + DATASPACE SIMPLE { ( 2, 10, 10 ) / ( 2, 10, 10 ) } DATA { - (0,0,0): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - (0,0,18): 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - (0,0,33): 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - (0,0,48): 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, - (0,0,63): 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, - (0,0,78): 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, - (0,0,93): 93, 94, 95, 96, 97, 98, 99, - (0,1,0): 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - (0,1,12): 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - (0,1,24): 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, - (0,1,36): 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, - (0,1,48): 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, - (0,1,60): 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, - (0,1,72): 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, - (0,1,84): 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, - (0,1,96): 196, 197, 198, 199, - (1,0,0): 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, - (1,0,12): 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, - (1,0,24): 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, - (1,0,36): 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, - (1,0,48): 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, - (1,0,60): 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - (1,0,72): 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, - (1,0,84): 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - (1,0,96): 296, 297, 298, 299, - (1,1,0): 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, - (1,1,12): 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, - (1,1,24): 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, - (1,1,36): 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, - (1,1,48): 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, - (1,1,60): 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, - (1,1,72): 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, - (1,1,84): 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, - (1,1,96): 396, 397, 398, 399 + (0,0,0): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, + (0,1,0): 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, + (0,2,0): 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, + (0,3,0): 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, + (0,4,0): 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, + (0,5,0): 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, + (0,6,0): 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, + (0,7,0): 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, + (0,8,0): 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, + (0,9,0): 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, + (1,0,0): 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, + (1,1,0): 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, + (1,2,0): 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, + (1,3,0): 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, + (1,4,0): 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, + (1,5,0): 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, + (1,6,0): 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, + (1,7,0): 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, + (1,8,0): 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, + (1,9,0): 190, 191, 192, 193, 194, 195, 196, 197, 198, 199 } } DATASET "4d" { DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 2, 3, 4, 5 ) / ( 2, 3, 4, 5 ) } + DATASPACE SIMPLE { ( 2, 2, 10, 10 ) / ( 2, 2, 10, 10 ) } DATA { - (0,0,0,0): 0, 1, 2, 3, 4, - (0,0,1,0): 5, 6, 7, 8, 9, - (0,0,2,0): 10, 11, 12, 13, 14, - (0,0,3,0): 15, 16, 17, 18, 19, - (0,1,0,0): 20, 21, 22, 23, 24, - (0,1,1,0): 25, 26, 27, 28, 29, - (0,1,2,0): 30, 31, 32, 33, 34, - (0,1,3,0): 35, 36, 37, 38, 39, - (0,2,0,0): 40, 41, 42, 43, 44, - (0,2,1,0): 45, 46, 47, 48, 49, - (0,2,2,0): 50, 51, 52, 53, 54, - (0,2,3,0): 55, 56, 57, 58, 59, - (1,0,0,0): 60, 61, 62, 63, 64, - (1,0,1,0): 65, 66, 67, 68, 69, - (1,0,2,0): 70, 71, 72, 73, 74, - (1,0,3,0): 75, 76, 77, 78, 79, - (1,1,0,0): 80, 81, 82, 83, 84, - (1,1,1,0): 85, 86, 87, 88, 89, - (1,1,2,0): 90, 91, 92, 93, 94, - (1,1,3,0): 95, 96, 97, 98, 99, - (1,2,0,0): 100, 101, 102, 103, 104, - (1,2,1,0): 105, 106, 107, 108, 109, - (1,2,2,0): 110, 111, 112, 113, 114, - (1,2,3,0): 115, 116, 117, 118, 119 + (0,0,0,0): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, + (0,0,1,0): 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, + (0,0,2,0): 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, + (0,0,3,0): 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, + (0,0,4,0): 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, + (0,0,5,0): 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, + (0,0,6,0): 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, + (0,0,7,0): 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, + (0,0,8,0): 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, + (0,0,9,0): 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, + (0,1,0,0): 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, + (0,1,1,0): 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, + (0,1,2,0): 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, + (0,1,3,0): 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, + (0,1,4,0): 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, + (0,1,5,0): 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, + (0,1,6,0): 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, + (0,1,7,0): 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, + (0,1,8,0): 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, + (0,1,9,0): 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, + (1,0,0,0): 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, + (1,0,1,0): 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, + (1,0,2,0): 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, + (1,0,3,0): 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, + (1,0,4,0): 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, + (1,0,5,0): 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, + (1,0,6,0): 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, + (1,0,7,0): 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, + (1,0,8,0): 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, + (1,0,9,0): 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, + (1,1,0,0): 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, + (1,1,1,0): 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, + (1,1,2,0): 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + (1,1,3,0): 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, + (1,1,4,0): 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, + (1,1,5,0): 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, + (1,1,6,0): 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, + (1,1,7,0): 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, + (1,1,8,0): 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + (1,1,9,0): 390, 391, 392, 393, 394, 395, 396, 397, 398, 399 } } GROUP "g1" { @@ -131,113 +127,130 @@ GROUP "/" { } DATASET "2d" { DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 2, 100 ) / ( 2, 100 ) } + DATASPACE SIMPLE { ( 10, 10 ) / ( 10, 10 ) } DATA { - (0,0): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, - (0,14): 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - (0,25): 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, - (0,36): 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - (0,47): 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, - (0,58): 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, - (0,69): 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, - (0,80): 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, - (0,91): 91, 92, 93, 94, 95, 96, 97, 98, 99, - (1,0): 100, 101, 102, 103, 104, 105, 106, 107, 108, - (1,9): 109, 110, 111, 112, 113, 114, 115, 116, 117, - (1,18): 118, 119, 120, 121, 122, 123, 124, 125, 126, - (1,27): 127, 128, 129, 130, 131, 132, 133, 134, 135, - (1,36): 136, 137, 138, 139, 140, 141, 142, 143, 144, - (1,45): 145, 146, 147, 148, 149, 150, 151, 152, 153, - (1,54): 154, 155, 156, 157, 158, 159, 160, 161, 162, - (1,63): 163, 164, 165, 166, 167, 168, 169, 170, 171, - (1,72): 172, 173, 174, 175, 176, 177, 178, 179, 180, - (1,81): 181, 182, 183, 184, 185, 186, 187, 188, 189, - (1,90): 190, 191, 192, 193, 194, 195, 196, 197, 198, - (1,99): 199 + (0,0): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, + (1,0): 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, + (2,0): 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, + (3,0): 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, + (4,0): 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, + (5,0): 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, + (6,0): 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, + (7,0): 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, + (8,0): 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, + (9,0): 90, 91, 92, 93, 94, 95, 96, 97, 98, 99 } } DATASET "3d" { DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 2, 2, 100 ) / ( 2, 2, 100 ) } + DATASPACE SIMPLE { ( 2, 10, 10 ) / ( 2, 10, 10 ) } DATA { - (0,0,0): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, - (0,0,13): 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, - (0,0,24): 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, - (0,0,35): 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, - (0,0,46): 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - (0,0,57): 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, - (0,0,68): 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, - (0,0,79): 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, - (0,0,90): 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, - (0,1,0): 100, 101, 102, 103, 104, 105, 106, 107, 108, - (0,1,9): 109, 110, 111, 112, 113, 114, 115, 116, 117, - (0,1,18): 118, 119, 120, 121, 122, 123, 124, 125, - (0,1,26): 126, 127, 128, 129, 130, 131, 132, 133, - (0,1,34): 134, 135, 136, 137, 138, 139, 140, 141, - (0,1,42): 142, 143, 144, 145, 146, 147, 148, 149, - (0,1,50): 150, 151, 152, 153, 154, 155, 156, 157, - (0,1,58): 158, 159, 160, 161, 162, 163, 164, 165, - (0,1,66): 166, 167, 168, 169, 170, 171, 172, 173, - (0,1,74): 174, 175, 176, 177, 178, 179, 180, 181, - (0,1,82): 182, 183, 184, 185, 186, 187, 188, 189, - (0,1,90): 190, 191, 192, 193, 194, 195, 196, 197, - (0,1,98): 198, 199, - (1,0,0): 200, 201, 202, 203, 204, 205, 206, 207, 208, - (1,0,9): 209, 210, 211, 212, 213, 214, 215, 216, 217, - (1,0,18): 218, 219, 220, 221, 222, 223, 224, 225, - (1,0,26): 226, 227, 228, 229, 230, 231, 232, 233, - (1,0,34): 234, 235, 236, 237, 238, 239, 240, 241, - (1,0,42): 242, 243, 244, 245, 246, 247, 248, 249, - (1,0,50): 250, 251, 252, 253, 254, 255, 256, 257, - (1,0,58): 258, 259, 260, 261, 262, 263, 264, 265, - (1,0,66): 266, 267, 268, 269, 270, 271, 272, 273, - (1,0,74): 274, 275, 276, 277, 278, 279, 280, 281, - (1,0,82): 282, 283, 284, 285, 286, 287, 288, 289, - (1,0,90): 290, 291, 292, 293, 294, 295, 296, 297, - (1,0,98): 298, 299, - (1,1,0): 300, 301, 302, 303, 304, 305, 306, 307, 308, - (1,1,9): 309, 310, 311, 312, 313, 314, 315, 316, 317, - (1,1,18): 318, 319, 320, 321, 322, 323, 324, 325, - (1,1,26): 326, 327, 328, 329, 330, 331, 332, 333, - (1,1,34): 334, 335, 336, 337, 338, 339, 340, 341, - (1,1,42): 342, 343, 344, 345, 346, 347, 348, 349, - (1,1,50): 350, 351, 352, 353, 354, 355, 356, 357, - (1,1,58): 358, 359, 360, 361, 362, 363, 364, 365, - (1,1,66): 366, 367, 368, 369, 370, 371, 372, 373, - (1,1,74): 374, 375, 376, 377, 378, 379, 380, 381, - (1,1,82): 382, 383, 384, 385, 386, 387, 388, 389, - (1,1,90): 390, 391, 392, 393, 394, 395, 396, 397, - (1,1,98): 398, 399 + (0,0,0): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, + (0,1,0): 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, + (0,2,0): 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, + (0,3,0): 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, + (0,4,0): 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, + (0,5,0): 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, + (0,6,0): 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, + (0,7,0): 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, + (0,8,0): 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, + (0,9,0): 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, + (1,0,0): 100, 101, 102, 103, 104, 105, 106, 107, 108, + (1,0,9): 109, + (1,1,0): 110, 111, 112, 113, 114, 115, 116, 117, 118, + (1,1,9): 119, + (1,2,0): 120, 121, 122, 123, 124, 125, 126, 127, 128, + (1,2,9): 129, + (1,3,0): 130, 131, 132, 133, 134, 135, 136, 137, 138, + (1,3,9): 139, + (1,4,0): 140, 141, 142, 143, 144, 145, 146, 147, 148, + (1,4,9): 149, + (1,5,0): 150, 151, 152, 153, 154, 155, 156, 157, 158, + (1,5,9): 159, + (1,6,0): 160, 161, 162, 163, 164, 165, 166, 167, 168, + (1,6,9): 169, + (1,7,0): 170, 171, 172, 173, 174, 175, 176, 177, 178, + (1,7,9): 179, + (1,8,0): 180, 181, 182, 183, 184, 185, 186, 187, 188, + (1,8,9): 189, + (1,9,0): 190, 191, 192, 193, 194, 195, 196, 197, 198, + (1,9,9): 199 } } DATASET "4d" { DATATYPE H5T_STD_I32LE - DATASPACE SIMPLE { ( 2, 3, 4, 5 ) / ( 2, 3, 4, 5 ) } + DATASPACE SIMPLE { ( 2, 2, 10, 10 ) / ( 2, 2, 10, 10 ) } DATA { - (0,0,0,0): 0, 1, 2, 3, 4, - (0,0,1,0): 5, 6, 7, 8, 9, - (0,0,2,0): 10, 11, 12, 13, 14, - (0,0,3,0): 15, 16, 17, 18, 19, - (0,1,0,0): 20, 21, 22, 23, 24, - (0,1,1,0): 25, 26, 27, 28, 29, - (0,1,2,0): 30, 31, 32, 33, 34, - (0,1,3,0): 35, 36, 37, 38, 39, - (0,2,0,0): 40, 41, 42, 43, 44, - (0,2,1,0): 45, 46, 47, 48, 49, - (0,2,2,0): 50, 51, 52, 53, 54, - (0,2,3,0): 55, 56, 57, 58, 59, - (1,0,0,0): 60, 61, 62, 63, 64, - (1,0,1,0): 65, 66, 67, 68, 69, - (1,0,2,0): 70, 71, 72, 73, 74, - (1,0,3,0): 75, 76, 77, 78, 79, - (1,1,0,0): 80, 81, 82, 83, 84, - (1,1,1,0): 85, 86, 87, 88, 89, - (1,1,2,0): 90, 91, 92, 93, 94, - (1,1,3,0): 95, 96, 97, 98, 99, - (1,2,0,0): 100, 101, 102, 103, 104, - (1,2,1,0): 105, 106, 107, 108, 109, - (1,2,2,0): 110, 111, 112, 113, 114, - (1,2,3,0): 115, 116, 117, 118, 119 + (0,0,0,0): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, + (0,0,1,0): 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, + (0,0,2,0): 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, + (0,0,3,0): 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, + (0,0,4,0): 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, + (0,0,5,0): 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, + (0,0,6,0): 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, + (0,0,7,0): 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, + (0,0,8,0): 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, + (0,0,9,0): 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, + (0,1,0,0): 100, 101, 102, 103, 104, 105, 106, 107, + (0,1,0,8): 108, 109, + (0,1,1,0): 110, 111, 112, 113, 114, 115, 116, 117, + (0,1,1,8): 118, 119, + (0,1,2,0): 120, 121, 122, 123, 124, 125, 126, 127, + (0,1,2,8): 128, 129, + (0,1,3,0): 130, 131, 132, 133, 134, 135, 136, 137, + (0,1,3,8): 138, 139, + (0,1,4,0): 140, 141, 142, 143, 144, 145, 146, 147, + (0,1,4,8): 148, 149, + (0,1,5,0): 150, 151, 152, 153, 154, 155, 156, 157, + (0,1,5,8): 158, 159, + (0,1,6,0): 160, 161, 162, 163, 164, 165, 166, 167, + (0,1,6,8): 168, 169, + (0,1,7,0): 170, 171, 172, 173, 174, 175, 176, 177, + (0,1,7,8): 178, 179, + (0,1,8,0): 180, 181, 182, 183, 184, 185, 186, 187, + (0,1,8,8): 188, 189, + (0,1,9,0): 190, 191, 192, 193, 194, 195, 196, 197, + (0,1,9,8): 198, 199, + (1,0,0,0): 200, 201, 202, 203, 204, 205, 206, 207, + (1,0,0,8): 208, 209, + (1,0,1,0): 210, 211, 212, 213, 214, 215, 216, 217, + (1,0,1,8): 218, 219, + (1,0,2,0): 220, 221, 222, 223, 224, 225, 226, 227, + (1,0,2,8): 228, 229, + (1,0,3,0): 230, 231, 232, 233, 234, 235, 236, 237, + (1,0,3,8): 238, 239, + (1,0,4,0): 240, 241, 242, 243, 244, 245, 246, 247, + (1,0,4,8): 248, 249, + (1,0,5,0): 250, 251, 252, 253, 254, 255, 256, 257, + (1,0,5,8): 258, 259, + (1,0,6,0): 260, 261, 262, 263, 264, 265, 266, 267, + (1,0,6,8): 268, 269, + (1,0,7,0): 270, 271, 272, 273, 274, 275, 276, 277, + (1,0,7,8): 278, 279, + (1,0,8,0): 280, 281, 282, 283, 284, 285, 286, 287, + (1,0,8,8): 288, 289, + (1,0,9,0): 290, 291, 292, 293, 294, 295, 296, 297, + (1,0,9,8): 298, 299, + (1,1,0,0): 300, 301, 302, 303, 304, 305, 306, 307, + (1,1,0,8): 308, 309, + (1,1,1,0): 310, 311, 312, 313, 314, 315, 316, 317, + (1,1,1,8): 318, 319, + (1,1,2,0): 320, 321, 322, 323, 324, 325, 326, 327, + (1,1,2,8): 328, 329, + (1,1,3,0): 330, 331, 332, 333, 334, 335, 336, 337, + (1,1,3,8): 338, 339, + (1,1,4,0): 340, 341, 342, 343, 344, 345, 346, 347, + (1,1,4,8): 348, 349, + (1,1,5,0): 350, 351, 352, 353, 354, 355, 356, 357, + (1,1,5,8): 358, 359, + (1,1,6,0): 360, 361, 362, 363, 364, 365, 366, 367, + (1,1,6,8): 368, 369, + (1,1,7,0): 370, 371, 372, 373, 374, 375, 376, 377, + (1,1,7,8): 378, 379, + (1,1,8,0): 380, 381, 382, 383, 384, 385, 386, 387, + (1,1,8,8): 388, 389, + (1,1,9,0): 390, 391, 392, 393, 394, 395, 396, 397, + (1,1,9,8): 398, 399 } } } |