src/stringmap/split_q.cpp
extern void RTreeSplitNode(struct Node *n, struct Branch *b, struct Node **nn)
{
	register struct PartitionVars *p;
	register int level;

	assert(n);
	assert(b);

	/* load all the branches into a buffer, initialize old node */
	level = n->level;
	RTreeGetBranches(n, b);

	/* find partition */
	p = &Partitions[0];
	RTreeMethodZero(p);

	/*
	 * put branches from buffer into 2 nodes
	 * according to chosen partition
	 */
	*nn = RTreeNewNode();
	(*nn)->level = n->level = level;
	RTreeLoadNodes(n, *nn, p);
	assert(n->count+(*nn)->count == NODECARD+1);
}
/*-----------------------------------------------------------------------------
| Split a node.
| Divides the nodes branches and the extra one between two nodes.
| Old node is one of the new ones, and one really new one is created.
| Tries more than one method for choosing a partition, uses best result.
-----------------------------------------------------------------------------*/
| Split a node.
| Divides the nodes branches and the extra one between two nodes.
| Old node is one of the new ones, and one really new one is created.
| Tries more than one method for choosing a partition, uses best result.
| Split a node . | Divides the nodes branches and the extra one between two nodes . | Old node is one of the new ones and one really new one is created . | Tries more than one method for choosing a partition uses best result .
extern void RTreeSplitNode(struct Node *n, struct Branch *b, struct Node **nn)
{
	register struct PartitionVars *p;
	register int level;
	assert(n);
	assert(b);
	level = n->level;
	RTreeGetBranches(n, b);
	p = &Partitions[0];
	RTreeMethodZero(p);
	*nn = RTreeNewNode();
	(*nn)->level = n->level = level;
	RTreeLoadNodes(n, *nn, p);
	assert(n->count+(*nn)->count == NODECARD+1);
}
extern void RTreeSplitNode ( struct Node * n , struct Branch * b , struct Node * * nn ) { register struct PartitionVars * p ; register int level ; assert ( n ) ; assert ( b ) ; level = n -> level ; RTreeGetBranches ( n , b ) ; p = & Partitions [ 0 ] ; RTreeMethodZero ( p ) ; * nn = RTreeNewNode ( ) ; ( * nn ) -> level = n -> level = level ; RTreeLoadNodes ( n , * nn , p ) ; assert ( n -> count + ( * nn ) -> count == NODECARD + 1 ) ; }
| Split a node.
| Split a node .
/* load all the branches into a buffer, initialize old node */ /* find partition */ /*
	 * put branches from buffer into 2 nodes
	 * according to chosen partition
	 */