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

Function join_many

src/api/c/join.cpp:44–66  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

42
43template<typename T>
44static inline af_array join_many(const int dim, const unsigned n_arrays,
45 const af_array *inputs) {
46 vector<Array<T>> inputs_;
47 inputs_.reserve(n_arrays);
48
49 dim_t dim_size{0};
50 for (unsigned i{0}; i < n_arrays; ++i) {
51 const Array<T> &iArray = getArray<T>(inputs[i]);
52 if (!iArray.isEmpty()) {
53 inputs_.push_back(iArray);
54 dim_size += iArray.dims().dims[dim];
55 }
56 }
57
58 // All dimensions except join dimension must be equal
59 // calculate odims size
60 af::dim4 odims{inputs_[0].dims()};
61 odims.dims[dim] = dim_size;
62
63 Array<T> out{createEmptyArray<T>(odims)};
64 join<T>(out, dim, inputs_);
65 return getHandle(out);
66}
67
68af_err af_join(af_array *out, const int dim, const af_array first,
69 const af_array second) {

Callers

nothing calls this directly

Calls 3

isEmptyMethod · 0.80
getHandleFunction · 0.70
dimsMethod · 0.45

Tested by

no test coverage detected