osprey/cygnus/libiberty/fibheap.c File Reference

#include "libiberty.h"
#include "fibheap.h"

Include dependency graph for fibheap.c:

Go to the source code of this file.

Defines

#define FIBHEAPKEY_MIN   LONG_MIN
#define fibnode_insert_before(a, b)   fibnode_insert_after (a->left, b)

Functions/Subroutines

static void fibheap_ins_root PARAMS ((fibheap_t, fibnode_t))
static void fibheap_consolidate PARAMS ((fibheap_t))
static void fibheap_link PARAMS ((fibheap_t, fibnode_t, fibnode_t))
static int fibheap_comp_data PARAMS ((fibheap_t, fibheapkey_t, void *, fibnode_t))
static fibnode_t fibnode_new PARAMS ((void))
static void fibnode_insert_after PARAMS ((fibnode_t, fibnode_t))
static fibnode_t fibnode_remove PARAMS ((fibnode_t))
fibheap_t fibheap_new ()
static fibnode_t fibnode_new ()
static int fibheap_compare (heap, fibnode_t a, fibnode_t b)
static int fibheap_comp_data (fibheap_t heap, fibheapkey_t key, void *data, fibnode_t b)
fibnode_t fibheap_insert (fibheap_t heap, fibheapkey_t key, void *data)
voidfibheap_min (fibheap_t heap)
fibheapkey_t fibheap_min_key (fibheap_t heap)
fibheap_t fibheap_union (fibheap_t heapa, fibheap_t heapb)
voidfibheap_extract_min (fibheap_t heap)
voidfibheap_replace_key_data (fibheap_t heap, fibnode_t node, fibheapkey_t key, void *data)
voidfibheap_replace_data (fibheap_t heap, fibnode_t node, void *data)
fibheapkey_t fibheap_replace_key (fibheap_t heap, fibnode_t node, fibheapkey_t key)
voidfibheap_delete_node (fibheap_t heap, fibnode_t node)
void fibheap_delete (fibheap_t heap)
int fibheap_empty (fibheap_t heap)
static fibnode_t fibheap_extr_min_node (fibheap_t heap)
static void fibheap_ins_root (fibheap_t heap, fibnode_t node)
static void fibheap_rem_root (fibheap_t heap, fibnode_t node)
static void fibheap_consolidate (fibheap_t heap)
static void fibheap_link (heap, fibnode_t node, fibnode_t parent)
static void fibheap_cut (fibheap_t heap, fibnode_t node, fibnode_t parent)
static void fibheap_cascading_cut (fibheap_t heap, fibnode_t y)
static void fibnode_insert_after (fibnode_t a, fibnode_t b)
static fibnode_t fibnode_remove (fibnode_t node)


Define Documentation

#define FIBHEAPKEY_MIN   LONG_MIN

Definition at line 38 of file fibheap.c.

Referenced by fibheap_delete_node().

#define fibnode_insert_before ( a,
b   )     fibnode_insert_after (a->left, b)

Definition at line 52 of file fibheap.c.

Referenced by fibheap_link().


Function Documentation

static void fibheap_cascading_cut ( fibheap_t  heap,
fibnode_t  y 
) [static]

Definition at line 459 of file fibheap.c.

References fibheap_cut(), fibnode::mark, NULL, fibnode::parent, and is::z.

Referenced by fibheap_replace_key_data().

static int fibheap_comp_data ( fibheap_t  heap,
fibheapkey_t  key,
void data,
fibnode_t  b 
) [inline, static]

Definition at line 90 of file fibheap.c.

References fibnode::data, fibheap_compare(), and fibnode::key.

Referenced by fibheap_replace_key_data().

static int fibheap_compare ( heap  ,
fibnode_t  a,
fibnode_t  b 
) [inline, static]

Definition at line 77 of file fibheap.c.

References fibnode::key.

Referenced by fibheap_comp_data(), fibheap_consolidate(), fibheap_replace_key_data(), and fibheap_union().

static void fibheap_consolidate ( fibheap_t  heap  )  [static]

static void fibheap_cut ( fibheap_t  heap,
fibnode_t  node,
fibnode_t  parent 
) [static]

void fibheap_delete ( fibheap_t  heap  ) 

void* fibheap_delete_node ( fibheap_t  heap,
fibnode_t  node 
)

Definition at line 278 of file fibheap.c.

Referenced by mark_bb_visited(), tail_duplicate(), and update_caller_keys().

int fibheap_empty ( fibheap_t  heap  ) 

static fibnode_t fibheap_extr_min_node ( fibheap_t  heap  )  [static]

void* fibheap_extract_min ( fibheap_t  heap  ) 

static void fibheap_ins_root ( fibheap_t  heap,
fibnode_t  node 
) [static]

fibnode_t fibheap_insert ( fibheap_t  heap,
fibheapkey_t  key,
void data 
)

static void fibheap_link ( heap  ,
fibnode_t  node,
fibnode_t  parent 
) [static]

void* fibheap_min ( fibheap_t  heap  ) 

Definition at line 135 of file fibheap.c.

fibheapkey_t fibheap_min_key ( fibheap_t  heap  ) 

Definition at line 146 of file fibheap.c.

Referenced by migrate_btr_defs().

fibheap_t fibheap_new ( void   ) 

static void fibheap_rem_root ( fibheap_t  heap,
fibnode_t  node 
) [static]

Definition at line 370 of file fibheap.c.

References fibnode_remove(), fibnode::left, and NULL.

Referenced by fibheap_consolidate(), and fibheap_extr_min_node().

void* fibheap_replace_data ( fibheap_t  heap,
fibnode_t  node,
void data 
)

Definition at line 256 of file fibheap.c.

fibheapkey_t fibheap_replace_key ( fibheap_t  heap,
fibnode_t  node,
fibheapkey_t  key 
)

void* fibheap_replace_key_data ( fibheap_t  heap,
fibnode_t  node,
fibheapkey_t  key,
void data 
)

Definition at line 214 of file fibheap.c.

Referenced by fibheap_replace_data(), and fibheap_replace_key().

fibheap_t fibheap_union ( fibheap_t  heapa,
fibheap_t  heapb 
)

Definition at line 157 of file fibheap.c.

static void fibnode_insert_after ( fibnode_t  a,
fibnode_t  b 
) [static]

Definition at line 481 of file fibheap.c.

References fibnode::left, and fibnode::right.

Referenced by fibheap_ins_root().

static fibnode_t fibnode_new ( void   )  [static]

Definition at line 65 of file fibheap.c.

References fibnode::left, node, fibnode::right, and xcalloc().

Referenced by fibheap_insert().

static fibnode_t fibnode_remove ( fibnode_t  node  )  [static]

Definition at line 502 of file fibheap.c.

References fibnode::child, fibnode::left, NULL, fibnode::parent, ret, and fibnode::right.

Referenced by fibheap_cut(), and fibheap_rem_root().

static fibnode_t fibnode_remove PARAMS ( (fibnode_t  )  [static]

static void fibnode_insert_after PARAMS ( (fibnode_t, fibnode_t  )  [static]

static fibnode_t fibnode_new PARAMS ( (void  )  [static, read]

Definition at line 77 of file cplus-dem.c.

static int fibheap_comp_data PARAMS ( (fibheap_t, fibheapkey_t, void *, fibnode_t  )  [static]

static void fibheap_link PARAMS ( (fibheap_t, fibnode_t, fibnode_t  )  [static]

static void fibheap_consolidate PARAMS ( (fibheap_t  )  [static]

static void fibheap_ins_root PARAMS ( (fibheap_t, fibnode_t  )  [static]


Generated on Wed Apr 8 15:02:44 2009 for Open64 by  doxygen 1.5.6