setSplitter(DUPLICATE()); for (int l=0; l<NLAGS; l++) { final int lag = l; add(new Filter() { public void init() { input = new Channel(Float.TYPE, N); output = new Channel(Float.TYPE, 1); } public void work() { float sum = 0; for (int i=0; i<(N-lag); i++) sum += input.peekFloat(i) *input.peekFloat(i+lag); for (int i=0; i<N; i++) input.popFloat(); output.pushFloat(sum); } }); } setJoiner(ROUND_ROBIN()); }
input = new Channel(Float.TYPE, N); output = new Channel(Float.TYPE, 1); }
		public void init() {		    setSplitter(DUPLICATE());		    for (int l=0; l<NLAGS; l++) {			final int lag = l;			add(new Filter() {				public void init() {				    input = new Channel(Float.TYPE, N);				    output = new Channel(Float.TYPE, 1);				}				public void work() {				    float sum = 0;				    for (int i=0; i<(N-lag); i++)					sum += input.peekFloat(i)					    *input.peekFloat(i+lag);				    for (int i=0; i<N; i++)					input.popFloat();				    output.pushFloat(sum);				}			    });		    }		    setJoiner(ROUND_ROBIN());		}