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

Function af_tile

src/api/c/tile.cpp:41–74  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

39}
40
41af_err af_tile(af_array *out, const af_array in, const af::dim4 &tileDims) {
42 try {
43 const ArrayInfo &info = getInfo(in);
44 af_dtype type = info.getType();
45
46 if (info.ndims() == 0) { return af_retain_array(out, in); }
47 DIM_ASSERT(1, info.dims().elements() > 0);
48 DIM_ASSERT(2, tileDims.elements() > 0);
49
50 af_array output;
51
52 switch (type) {
53 case f32: output = tile<float>(in, tileDims); break;
54 case c32: output = tile<cfloat>(in, tileDims); break;
55 case f64: output = tile<double>(in, tileDims); break;
56 case c64: output = tile<cdouble>(in, tileDims); break;
57 case b8: output = tile<char>(in, tileDims); break;
58 case s32: output = tile<int>(in, tileDims); break;
59 case u32: output = tile<uint>(in, tileDims); break;
60 case s64: output = tile<intl>(in, tileDims); break;
61 case u64: output = tile<uintl>(in, tileDims); break;
62 case s16: output = tile<short>(in, tileDims); break;
63 case u16: output = tile<ushort>(in, tileDims); break;
64 case s8: output = tile<schar>(in, tileDims); break;
65 case u8: output = tile<uchar>(in, tileDims); break;
66 case f16: output = tile<half>(in, tileDims); break;
67 default: TYPE_ERROR(1, type);
68 }
69 std::swap(*out, output);
70 }
71 CATCHALL;
72
73 return AF_SUCCESS;
74}
75
76af_err af_tile(af_array *out, const af_array in, const unsigned x,
77 const unsigned y, const unsigned z, const unsigned w) {

Callers 6

af_mean_weightedFunction · 0.70
af_assign_genFunction · 0.70
tileTestFunction · 0.50
iotaTestFunction · 0.50
tileFunction · 0.50
array.cppFile · 0.50

Calls 6

swapFunction · 0.85
af_retain_arrayFunction · 0.70
getTypeMethod · 0.45
ndimsMethod · 0.45
elementsMethod · 0.45
dimsMethod · 0.45

Tested by

no test coverage detected