コード例 #1
0
ファイル: Body.cs プロジェクト: lewurm/benchmarker
		//private Body next;
		//private Body procNext;

		/**
	 * Create an empty body.
	 */
		public static Body makeBody ()
		{
			Body b = new Body ();
			b.initNode ();
			b.vel = MathVector.makeMathVector ();
			b.acc = MathVector.makeMathVector ();
			b.newAcc = MathVector.makeMathVector ();
			b.phi = 0.0;
			return b;
		}
コード例 #2
0
ファイル: Cell.cs プロジェクト: lewurm/benchmarker
		/**
	 * Descend Tree and insert particle.  We're at a cell so
	 * we need to move down the tree.
	 *
	 * @param p    the body to insert into the tree
	 * @param xpic
	 * @param l
	 * @param tree the root of the tree
	 * @return the subtree with the new body inserted
	 */
		public override Cell loadTree (Body p, MathVector xpic, int l, BTree tree)
		{
			// move down one level
			int si = Node.oldSubindex (xpic, l);
			Node rt = subp [si];
			if (rt != null)
				subp [si] = rt.loadTree (p, xpic, l >> 1, tree);
			else
				subp [si] = p;

			return this;
		}
コード例 #3
0
ファイル: Body.cs プロジェクト: lewurm/benchmarker
		/**
	 * Descend Tree and insert particle.  We're at a body so we need to
	 * create a cell and attach this body to the cell.
	 *
	 * @param p    the body to insert
	 * @param xpic
	 * @param l
	 * @param tree the root of the data structure
	 * @return the subtree with the new body inserted
	 */
		public override Cell loadTree (Body p, MathVector xpic, int l, BTree tree)
		{
			// create a Cell
			Cell retval = Cell.makeCell ();
			int si = subindex (tree, l);
			// attach this Body node to the cell
			retval.subp [si] = this;

			// move down one level
			si = Node.oldSubindex (xpic, l);
			Node rt = retval.subp [si];
			if (rt != null)
				retval.subp [si] = rt.loadTree (p, xpic, l >> 1, tree);
			else
				retval.subp [si] = p;

			return retval;
		}
コード例 #4
0
ファイル: Node.cs プロジェクト: lewurm/benchmarker
		public abstract Cell loadTree (Body p, MathVector xpic, int l, BTree root);