add a simplifed bh.
[IRC.git] / Robust / src / Benchmarks / oooJava / simplebh / TestRunner.java
1 public class TestRunner {
2
3   public static void main(String args[]) {
4
5     TestRunner r = new TestRunner();
6     r.run();
7
8   }
9
10   public void run() {
11
12     int nBodies = 50;
13
14     Vector   leafNodeVector=new Vector(nBodies);
15
16 //    // body setup
17 //    for (int i = 0; i < nBodies; i++) {
18 //      leafNodeVector.insertElementAt(new LeafNodeData(), i);
19 //    }
20
21     // tree setup
22     TreeIndexGraph tree = new TreeIndexGraph();
23     TreeIndexNode root = tree.createNode(null);
24     tree.addNode(root);
25
26     for (int i = 0; i < nBodies; i++) {
27       LeafNodeData leaf=new LeafNodeData();
28       TreeIndexNode treenode = tree.createNode(leaf);
29       leafNodeVector.insertElementAt(treenode, i);
30       insert(tree, root,leaf);
31     }
32     
33       for(int i=0; i<nBodies;i++){
34         TreeIndexNode body =(TreeIndexNode)  leafNodeVector.elementAt(i);
35         sese par{
36 //          body.computeForce(root);
37           body.computeForce(root);
38         }
39       }
40     
41     for(int i=0; i<nBodies;i++){
42       ((TreeIndexNode)leafNodeVector.elementAt(i)).advance();
43     }
44     
45   }
46
47   private void insert(TreeIndexGraph tree, TreeIndexNode nn, LeafNodeData leafNodeData) {
48     if (nn.children[0] == null) {
49       TreeIndexNode newNode = tree.createNode(leafNodeData);
50       tree.addNode(newNode);
51       nn.children[0] = newNode;
52     } else { // if left is already occupied
53       if (nn.children[1] != null) {
54         insert(tree, nn.children[1], leafNodeData);
55       } else {
56         TreeIndexNode newNode = tree.createNode(null);
57         tree.addNode(newNode);
58         nn.children[1] = newNode;
59         insert(tree, newNode, leafNodeData);
60       }
61     }
62   }
63 }
64
65 // class Body {
66 // int pos;
67 // int acc;
68 // TreeNode root;
69 //
70 // public void setRoot(TreeNode r) {
71 // this.root = r;
72 // }
73 //
74 // public void computeForce() {
75 // traverse(root);
76 // }
77 //
78 // public void traverse(TreeNode node) {
79 // if (node.body != null) {
80 // // if current one is a body
81 // acc += node.body.pos;
82 // } else {
83 // traverse(node.left);
84 // traverse(node.right);
85 // }
86 // }
87 // }
88 //
89 // class TreeNode {
90 //
91 // TreeNode left;
92 // TreeNode right;
93 // TreeNode root;
94 // Body body;
95 //
96 // public TreeNode(Body b) {
97 // this.body = b;
98 // }
99 //
100 // public void addLeftChild(TreeNode n) {
101 // left = n;
102 // }
103 //
104 // public void addRightChild(TreeNode n) {
105 // right = n;
106 // }
107 //
108 // public TreeNode getLeftChild() {
109 // return left;
110 // }
111 //
112 // public TreeNode getRightChild() {
113 // return right;
114 // }
115