this.add(new IdentityFloat());
    public void init(final int N, final int W) {        this.add(new SplitJoin() {                public void init() {                    this.setSplitter(WEIGHTED_ROUND_ROBIN(N, N));                    this.add(new Filter() {                            //float weights[] = new float[W];                            int curr;                            public void init() {                                input = new Channel(Float.TYPE, 1);                                output = new Channel(Float.TYPE, 1);                                //for (int i=0; i<W; i++)                                //    weights[i] = calcWeight(i, N, W);                                curr = 0;                            }                            private float calcWeight(int a, int b, int c) {                                return 1;                            }                            public void work() {                                output.pushFloat(input.popFloat()*                                                 2); //weights[curr++]);                                if(curr>= W) curr = 0;                            }                        });                    this.add(new IdentityFloat());                    this.setJoiner(ROUND_ROBIN());                }});        this.add(new SplitJoin() {                public void init() {                    this.setSplitter(DUPLICATE());                    this.add(new Filter() {                            public void init ()                            {                                input = new Channel(Float.TYPE, 2);                                output = new Channel(Float.TYPE, 1);                            }                            public void work() {                                output.pushFloat(input.popFloat() -                                                 input.popFloat());                            }                        });                    this.add(new Filter() {                            public void init ()                            {                                input = new Channel(Float.TYPE, 2);                                output = new Channel(Float.TYPE, 1);                            }                            public void work() {                                output.pushFloat(input.popFloat() +                                                 input.popFloat());                            }                        });                    this.setJoiner(WEIGHTED_ROUND_ROBIN(N, N));                }});    }}