mirror of
https://github.com/HDFGroup/hdf5.git
synced 2024-12-15 07:40:23 +08:00
8005df6417
add a check for block overlap after the command line parsing * Algorithm * * In a inner loop, the parameters from SSET are translated into temporary * variables so that 1 row is printed at a time (getting the coordinate indices * at each row). * We define the stride, count and block to be 1 in the row dimension to achieve * this and advance until all points are printed. * An outer loop for cases where dimensionality is greater than 2D is made. * In each iteration, the 2D block is displayed in the inner loop. The remaining * slower dimensions above the first 2 are incremented one at a time in the outer loop * * The element position is obtained from the matrix according to: * 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 * tested: windows, linux
42 lines
1.3 KiB
SQL
42 lines
1.3 KiB
SQL
#############################
|
|
Expected output for 'h5dump -d 4d -s 0,0,1,2 -c 2,2,3,2 -S 1,1,3,3 -k 1,1,2,2 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, 2 );
|
|
STRIDE ( 1, 1, 3, 3 );
|
|
COUNT ( 2, 2, 3, 2 );
|
|
BLOCK ( 1, 1, 2, 2 );
|
|
DATA {
|
|
(0,0,1,2): 12, 13, 15, 16,
|
|
(0,0,2,2): 22, 23, 25, 26,
|
|
(0,0,4,2): 42, 43, 45, 46,
|
|
(0,0,5,2): 52, 53, 55, 56,
|
|
(0,0,7,2): 72, 73, 75, 76,
|
|
(0,0,8,2): 82, 83, 85, 86
|
|
(0,1,1,2): 112, 113, 115, 116,
|
|
(0,1,2,2): 122, 123, 125, 126,
|
|
(0,1,4,2): 142, 143, 145, 146,
|
|
(0,1,5,2): 152, 153, 155, 156,
|
|
(0,1,7,2): 172, 173, 175, 176,
|
|
(0,1,8,2): 182, 183, 185, 186
|
|
(1,0,1,2): 212, 213, 215, 216,
|
|
(1,0,2,2): 222, 223, 225, 226,
|
|
(1,0,4,2): 242, 243, 245, 246,
|
|
(1,0,5,2): 252, 253, 255, 256,
|
|
(1,0,7,2): 272, 273, 275, 276,
|
|
(1,0,8,2): 282, 283, 285, 286
|
|
(1,1,1,2): 312, 313, 315, 316,
|
|
(1,1,2,2): 322, 323, 325, 326,
|
|
(1,1,4,2): 342, 343, 345, 346,
|
|
(1,1,5,2): 352, 353, 355, 356,
|
|
(1,1,7,2): 372, 373, 375, 376,
|
|
(1,1,8,2): 382, 383, 385, 386
|
|
}
|
|
}
|
|
}
|
|
}
|