Mercurial > hg > jslab
view src/samer/units/SignalWindow.java @ 8:5e3cbbf173aa tip
Reorganise some more
author | samer |
---|---|
date | Fri, 05 Apr 2019 22:41:58 +0100 |
parents | bf79fb79ee13 |
children |
line wrap: on
line source
package samer.units; import samer.tools.*; import samer.maths.*; public class SignalWindow extends AnonymousTask { Generator gen; VVector output; double out[], buf[]; int size, count; public SignalWindow(Generator g, int size) { this(g,size,size); } public SignalWindow(Generator g, int size, int step) { output=new VVector("signalBlock", size); out=output.array(); buf=new double[step]; this.size=size; gen=g; } public VVector output() { return output; } public void starting() { count=0; } public void run() { buf[count++]=gen.next(); } public void flush() { System.arraycopy(out,count,out,0,size-count); System.arraycopy(buf,0,out,size-count,count); count=0; output.changed(); } public Task flushTask() { return new NullTask() { public void run() { flush(); } }; } }