break out dataflow nodes into separate classes
[fleet.git] / src / edu / berkeley / fleet / dataflow / UnPunctuatorNode.java
diff --git a/src/edu/berkeley/fleet/dataflow/UnPunctuatorNode.java b/src/edu/berkeley/fleet/dataflow/UnPunctuatorNode.java
new file mode 100644 (file)
index 0000000..9607730
--- /dev/null
@@ -0,0 +1,14 @@
+package edu.berkeley.fleet.dataflow;
+import edu.berkeley.fleet.loops.*;
+import edu.berkeley.fleet.api.*;
+
+public class UnPunctuatorNode extends Node {
+    private final Ship    ship  = dfg.pool.allocateShip("Counter");
+    public  final OutPort out   = new DockOutPort("out", ship.getDock("out"));
+    public  final InPort  val   = new DockInPort("in1",  ship.getDock("in1"));
+    public  final InPort  count = new DockInPort("in2",  ship.getDock("in2"), 0, new BitVector[] { null, dfg.bv(1) });
+    public  final InPort  op    = new DockInPort("inOp", ship.getDock("inOp"), 0, new BitVector[] {
+            ship.getDock("inOp").getConstant("PASS_C2_V1"),
+            ship.getDock("inOp").getConstant("DROP_C2_V1") } );
+    public UnPunctuatorNode(DataFlowGraph dfg) { super(dfg); }
+}