Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private static A reduce(A x, int axis, int id, ByteByteByteFunction f) {
- if (x.s.length == 0) return x;
- if (axis < 0) axis += x.s.length;
- int n0 = intProduct(x.s, 0, axis), n1 = x.s[axis], n2 = intProduct(x.s, axis + 1, x.s.length);
- int[] s = intDelAt(x.s, axis);
- byte[] r = new byte[n0 * n2];
- if (id != 0) fill(r, (byte) id);
- for (int i = 0; i < n0; i++)
- for (int j = 0; j < n1; j++)
- for (int k = 0; k < n2; k++)
- r[i * n2 + k] = f.apply(r[i * n2 + k], x.a[i * n1 * n2 + j * n2 + k]);
- return new A(r, s);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement