input = new Channel(Float.TYPE); output = new Channel(Float.TYPE);
streamInput = input; streamOutput = output;
         public void Init() {            SetSplitter(DUPLICATE ());            Add(new Filter() {                public void InitIO ()                {                   input = new Channel(Float.TYPE);                   output = new Channel(Float.TYPE);                }                public void InitCount ()                {                    inCount = 2;                    outCount = 1;                }               public void Work() {                  float val = input.PopFloat();                  output.PushFloat(val - input.PopFloat());               }            });            Add(new Filter() {                public void InitIO ()                {                   input = new Channel(Float.TYPE);                   output = new Channel(Float.TYPE);                }                public void InitCount ()                {                    inCount = 2;                    outCount = 1;                }               public void Work() {                  float val = input.PopFloat();                  output.PushFloat(val + input.PopFloat());               }            });            SetJoiner(WEIGHTED_ROUND_ROBIN(N, N));      }});