- currentParentNode = this->nodes[this->getLevelPosition(level + 1)];
- for (unsigned int i = 0 ; i < this->nodesByLevel[level] ; i++ ) {
- if(this->areRelated(currentParentNode, node)) {
- for (unsigned int j = 0 ; j < this->lowerLevelPortsNumber[level + 1] ; j++) {
- this->addLink(cluster, currentParentNode, node->label[level + 1] +
- j * this->lowerLevelNodesNumber[level + 1], node,
- currentParentNode->label[level + 1] +
- j * this->upperLevelNodesNumber[level + 1]);
+ XBT_DEBUG("We are connecting node %d(%u,%u) to his parents.",
+ node->id, node->level, node->position);
+ currentParentNode += this->getLevelPosition(level + 1);
+ for (unsigned int i = 0 ; i < this->nodesByLevel[level + 1] ; i++ ) {
+ if(this->areRelated(*currentParentNode, node)) {
+ XBT_DEBUG("%d(%u,%u) and %d(%u,%u) are related,"
+ " with %u links between them.", node->id,
+ node->level, node->position, (*currentParentNode)->id,
+ (*currentParentNode)->level, (*currentParentNode)->position, this->lowerLevelPortsNumber[level]);
+ for (unsigned int j = 0 ; j < this->lowerLevelPortsNumber[level] ; j++) {
+ this->addLink(cluster, *currentParentNode, node->label[level] +
+ j * this->lowerLevelNodesNumber[level], node,
+ (*currentParentNode)->label[level] +
+ j * this->upperLevelNodesNumber[level]);