// TODO @SuppressWarnings("unchecked") @Override public N join() { PixelCube<E, BaseIndex> pc = new PixelCube<E, BaseIndex>(dim, dummy); pc.setIndexing(BASE_INDEXING); pc.one(); pc.setIterationPattern(IP_SINGLE + IP_DIR + IP_FWD); pc.setDir(new int[] {0, 1}); PixelDirForwardIterator<E> iter = (PixelDirForwardIterator<E>) pc.iterator(); PixelDirForwardIterator<E> iter2 = (PixelDirForwardIterator<E>) pc.iterator(); for (int i = 0; i < nKernels; i++) { System.out.println("iter: " + i); for (int u = 0; u < ndim; u++) { int[] dir = {0, u + 1}; // direction if (u == ndim - 1) dir = new int[] {1, 0}; iter.setDirection(dir); iter2.setDirection(dir); int p = 0; Access<?> kaccess; try { kaccess = Access.rawAccess(kernels[i], null); final int len = kaccess.size()[0]; System.out.println(dim[u] + ","); while (iter.hasNext()) { float elem = iter.next().floatValue(); elem *= kaccess.elementFloat(p); System.out.print(elem + ","); iter2.putFloat(elem); iter2.inc(); p++; p = p % len; } iter.reset(); iter2.reset(); System.out.println(); } catch (UnsupportedTypeException e) { // TODO Auto-generated catch block e.printStackTrace(); return null; } // end catch } // end for } // end for // System.out.println(pc); return (N) pc.getAccess().getArray(); } //