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

Function getTransformBatchKind

src/api/c/transform.cpp:36–60  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

34}
35
36AF_BATCH_KIND getTransformBatchKind(const dim4 &iDims, const dim4 &tDims) {
37 static const int baseDim = 2;
38
39 dim_t iNd = iDims.ndims();
40 dim_t tNd = tDims.ndims();
41
42 if (iNd == baseDim && tNd == baseDim) { return AF_BATCH_NONE; }
43 if (iNd == baseDim && tNd <= 4) {
44 return AF_BATCH_RHS;
45 } else if (iNd <= 4 && tNd == baseDim) {
46 return AF_BATCH_LHS;
47 } else if (iNd <= 4 && tNd <= 4) {
48 bool dimsMatch = true;
49 bool isInterleaved = true;
50 for (dim_t i = baseDim; i < 4; i++) {
51 dimsMatch &= (iDims[i] == tDims[i]);
52 isInterleaved &=
53 (iDims[i] == 1 || tDims[i] == 1 || iDims[i] == tDims[i]);
54 }
55 if (dimsMatch) { return AF_BATCH_SAME; }
56 return (isInterleaved ? AF_BATCH_DIFF : AF_BATCH_UNSUPPORTED);
57 } else {
58 return AF_BATCH_UNSUPPORTED;
59 }
60}
61
62void af_transform_common(af_array *out, const af_array in, const af_array tf,
63 const dim_t odim0, const dim_t odim1,

Callers 1

af_transform_commonFunction · 0.85

Calls 1

ndimsMethod · 0.45

Tested by

no test coverage detected