mirror of
https://github.com/HDFGroup/hdf5.git
synced 2024-12-21 07:51:46 +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
26 lines
675 B
SQL
26 lines
675 B
SQL
#############################
|
|
Expected output for 'h5dump -d 3d -s 0,1,2 -S 1,3,3 -c 2,2,2 -k 1,2,2 taindices.h5'
|
|
#############################
|
|
HDF5 "taindices.h5" {
|
|
DATASET "3d" {
|
|
DATATYPE H5T_STD_I32LE
|
|
DATASPACE SIMPLE { ( 2, 10, 10 ) / ( 2, 10, 10 ) }
|
|
SUBSET {
|
|
START ( 0, 1, 2 );
|
|
STRIDE ( 1, 3, 3 );
|
|
COUNT ( 2, 2, 2 );
|
|
BLOCK ( 1, 2, 2 );
|
|
DATA {
|
|
(0,1,2): 12, 13, 15, 16,
|
|
(0,2,2): 22, 23, 25, 26,
|
|
(0,4,2): 42, 43, 45, 46,
|
|
(0,5,2): 52, 53, 55, 56
|
|
(1,1,2): 112, 113, 115, 116,
|
|
(1,2,2): 122, 123, 125, 126,
|
|
(1,4,2): 142, 143, 145, 146,
|
|
(1,5,2): 152, 153, 155, 156
|
|
}
|
|
}
|
|
}
|
|
}
|