Code Examples
A repository of 155 code examples for BeepBeep
StatMoment.java
1 package hl7;
2 
3 import ca.uqac.lif.cep.Connector;
4 import ca.uqac.lif.cep.GroupProcessor;
5 import ca.uqac.lif.cep.functions.ApplyFunction;
6 import ca.uqac.lif.cep.functions.Constant;
7 import ca.uqac.lif.cep.functions.Cumulate;
8 import ca.uqac.lif.cep.functions.CumulativeFunction;
9 import ca.uqac.lif.cep.functions.FunctionTree;
10 import ca.uqac.lif.cep.functions.StreamVariable;
11 import ca.uqac.lif.cep.functions.TurnInto;
12 import ca.uqac.lif.cep.tmf.Fork;
13 import ca.uqac.lif.cep.util.Numbers;
14 
15 public class StatMoment extends GroupProcessor
16 {
17  public StatMoment(int order)
18  {
19  super(1, 1);
20  Fork f = new Fork(2);
21  ApplyFunction exp = new ApplyFunction(new FunctionTree(
22  Numbers.power,
23  StreamVariable.X,
24  new Constant(order)));
25  Connector.connect(f, 0, exp, 0);
26  Cumulate sum_p = new Cumulate(new CumulativeFunction<Number>(Numbers.addition));
27  Connector.connect(exp, sum_p);
28  TurnInto one = new TurnInto(1);
29  Connector.connect(f, 1, one, 0);
30  Cumulate sum_one = new Cumulate(new CumulativeFunction<Number>(Numbers.addition));
31  Connector.connect(one, sum_one);
32  ApplyFunction div = new ApplyFunction(Numbers.division);
33  Connector.connect(sum_p, 0, div, 0);
34  Connector.connect(sum_one, 0, div, 1);
35  addProcessors(f, exp, sum_p, one, sum_one, div);
36  associateInput(0, f, 0);
37  associateOutput(0, div, 0);
38  }
39 }