static MTensor transpose3D()

in FBSDKCoreKit/FBSDKCoreKit/AppEvents/Internal/ML/FBSDKModelRuntime.hpp [225:241]


  static MTensor transpose3D(const MTensor &x)
  {
    int m = x.size(0);
    int n = x.size(1);
    int p = x.size(2);
    MTensor y({p, n, m});
    float *y_data = y.mutable_data();
    const float *x_data = x.data();
    for (int i = 0; i < m; i++) {
      for (int j = 0; j < n; j++) {
        for (int k = 0; k < p; k++) {
          y_data[k * m * n + j * m + i] = x_data[i * n * p + j * p + k];
        }
      }
    }
    return y;
  }