const uint8_t * inptr, uint8_t * outptr)
{
pt_data *data = private_data;
- uint32_t ox, oy, x, y, z;
+ uint32_t ox, oy, x, y, z, elementsize;
uint32_t oidx0, oidx1, oidx2;
uint32_t iidx0, iidx1, iidx2;
assert (prop->inputDimension[3] == prop->outputDimension[3]);
assert (prop->inputType == prop->outputType);
+ elementsize = tensor_element_size[prop->inputType];
+
ox = (data->new_x > 0) ? data->new_x : prop->outputDimension[1];
oy = (data->new_y > 0) ? data->new_y : prop->outputDimension[2];
for (x = 0; x < ox; x++) {
unsigned int c;
for (c = 0; c < prop->inputDimension[0]; c++) {
+ int sz;
/* Output[y'][x'] = Input[ y' * y / new-y ][ x' * x / new-x ]. Yeah This is Way too Simple. But this is just an example :D */
unsigned ix, iy;
&& iy < prop->inputDimension[2]);
/* outptr[z][y][x][c] = inptr[z][iy][ix][c]; */
- *(outptr + c + x * oidx0 + y * oidx1 + z * oidx2) =
- *(inptr + c + ix * iidx0 + iy * iidx1 + z * iidx2);
+ for (sz = 0; sz < elementsize; sz++)
+ *(outptr + elementsize * (c + x * oidx0 + y * oidx1 + z * oidx2) +
+ sz) =
+ *(inptr + elementsize * (c + ix * iidx0 + iy * iidx1 +
+ z * iidx2) + sz);
}
}
}