# Table 1 Array benchmark queries

ID Description Query
B1 Sum of the array’s elements MDSUM( c )
B2 For each element in an array the result element is 1 if its value is 0, otherwise the result is the logarithm of its value CASE
WHEN c = 0 THEN 1
ELSE LOG10( c )
END
B3 Cast all elements to unsigned 8-bit values MDCAST( c AS char )
B4 Concatenate two arrays along the first axis MDCONCAT( c, c, 1 )
B5 Encode an array to TIFF MDENCODE( c, “image/tiff” )
B6 Extend the spatial domain of an array to twice its width and height MDRESHAPE( c,
[ 0:MDAXIS HI(c,x)*2, 0:MDAXIS HI(c,y)*2 ]
)
B7 Add two 1-D arrays with mismatching tiles c + d
B8 Add two 2-D arrays with matching tiles c + c
B9 Add two 2-D arrays with mismatching tiles c + d
B10 Add the average value of an array to all of its elements c + MDAVG( c )
B11 Add a constant scalar value to all elements of an array c + 4
B12 Add two 3-D arrays with mismatching tiles c + d
B13 Calculate all percentiles MDQUANTILE( c, 100 )
B14 Join several arrays into a single multi-band array MDJOIN(
c,
MDARRAY MDEXTENT(c) ELEMENTS 3, c
)
B15 Scale-up (2x) an array MDSCALE(
c,
[ MDAXIS LO(c,x) : MDAXIS HI(c,x)*2,
MDAXIS LO(c,y): MDAXIS HI(c,y)*2
]
)
B16 Shift the spatial domain by a given shift coordinate MDSHIFT( c, [ 500, -1000 ] )
B17 Calculate the sine of every element in an array SIN(c)
B18 Subset the whole spatial domain c[ *:*, *:* ]
B19 Select a single element at a particular coordinate c[ 5, MDAXIS HI(c,y) – 5 ]
B20 Slice the first axis at a particular point c[ 5, MDAXIS LO(c,y) + 3 : MDAXIS HI(c,y)–3 ]
B21 Trim down both axes c[ MDAXIS LO(c,x) + 3 : MDAXIS HI(c,x) − 3,
MDAXIS LO(c,y) + 3: MDAXIS HI(c,y) – 3
]
B22 Slice the first axis of a 3-D array at a particular point c[ MDAXIS HI(c,z),
MDAXIS LO(c,x) + 3 : MDAXIS HI(c,x) − 3,
MDAXIS LO(c,y) + 3 : MDAXIS HI(c,y) – 3
] 