add a simplifed bh.
[IRC.git] / Robust / src / Benchmarks / oooJava / simplebh / TreeIndexNode.java
1 public class TreeIndexNode {
2
3   LeafNodeData data;
4   TreeIndexNode children[];
5   int pos;
6   int mass;
7
8   // TreeIndexNode left;
9   // TreeIndexNode right;
10
11   public TreeIndexNode(LeafNodeData data) {
12     this.data = data;
13     this.children = new TreeIndexNode[2];
14   }
15
16   public void advance() {
17     pos += data.acc + 10;
18     data.vel += data.acc + 10;
19   }
20
21   public void computeForce(TreeIndexNode root) {
22     data.acc = 0;
23     recurseForce(root);
24     data.vel = 10;
25   }
26
27   private void recurseForce(TreeIndexNode nn) {
28
29     int drPos = nn.pos;
30     int temp = nn.mass;
31
32     if (nn.data == null) { // nn is cell
33
34       if (nn.children[0] != null) {
35         recurseForce(nn.children[0]);
36       }
37
38       if (nn.children[1] != null) {
39         recurseForce(nn.children[1]);
40       }
41
42       // } else { // nn is body
43       if (nn != this) {
44         data.acc += drPos + nn.mass;
45       }
46     }
47   }
48
49 }