MCPcopy Create free account
hub / github.com/arrayfire/arrayfire / unwrap

Function unwrap

src/backend/cpu/unwrap.cpp:23–42  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

21namespace cpu {
22template<typename T>
23Array<T> unwrap(const Array<T> &in, const dim_t wx, const dim_t wy,
24 const dim_t sx, const dim_t sy, const dim_t px, const dim_t py,
25 const dim_t dx, const dim_t dy, const bool is_column) {
26 af::dim4 idims = in.dims();
27
28 dim_t nx = 1 + (idims[0] + 2 * px - (((wx - 1) * dx) + 1)) / sx;
29 dim_t ny = 1 + (idims[1] + 2 * py - (((wy - 1) * dy) + 1)) / sy;
30
31 af::dim4 odims(wx * wy, nx * ny, idims[2], idims[3]);
32
33 if (!is_column) { std::swap(odims[0], odims[1]); }
34
35 Array<T> outArray = createEmptyArray<T>(odims);
36
37 const int d = (is_column) ? 1 : 0;
38 getQueue().enqueue(kernel::unwrap_dim<T>, outArray, in, wx, wy, sx, sy, px,
39 py, dx, dy, d);
40
41 return outArray;
42}
43
44#define INSTANTIATE(T) \
45 template Array<T> unwrap<T>( \

Callers 2

convolve2_unwrapFunction · 0.70
conv2FilterGradientFunction · 0.70

Calls 4

swapFunction · 0.85
getQueueFunction · 0.50
dimsMethod · 0.45
enqueueMethod · 0.45

Tested by

no test coverage detected