Files @ b7792cb187f7
Branch filter:

Location: MD/arcos/src/tree.c

greta
Edited file README via RhodeCode
/** @file tree.c
 *  @brief Functions to handle tree structures.
 */

#include <stdlib.h>
#include <stdio.h>

#include "species.h"

#include "tree.h"

/** @brief Allocates new memory for a leaf and gives it the corresponding
 * values.
 */
leaf_t*
leaf_new_a (leaf_t *parent, leaf_t *next, leaf_t *first_child, void *data)
{
  leaf_t *leaf;

  debug (2, "leaf_new_a\n");

  leaf = (leaf_t*) xmalloc (sizeof(leaf_t));

  leaf->parent = parent;
  leaf->next = next;
  leaf->first_child = first_child;
  leaf->data = data;

  return leaf;
}

/** @brief Creates a new child of @a parent with the given @a data. */
leaf_t*
leaf_new_child_a (leaf_t *parent, void *data)
{
  leaf_t *leaf;

  debug (2, "leaf_new_child_a\n");

  leaf = leaf_new_a (parent, parent->first_child, NULL, data);

  parent->first_child = leaf;

  leaf->level = parent->level + 1;

  return leaf;
}