fp20_dheaps_i.c File Reference

#include "qs_config.h"
#include "fp20_dheaps_i.h"
#include "allocrus.h"
#include "machdefs.h"
#include "except.h"
#include "trace.h"

Include dependency graph for fp20_dheaps_i.c:

Go to the source code of this file.

Defines

#define fp20_HEAP_D   3
#define fp20_HEAP_DOWN(x)   (((x)*fp20_HEAP_D)+1)
#define fp20_HEAP_UP(x)   (((x)-1)/fp20_HEAP_D)

Functions

static int fp20_dheap_minchild (int x, fp20_ILLdheap *h)
static void fp20_dheap_siftdown (fp20_ILLdheap *h, int i, int x)
static void fp20_dheap_siftup (fp20_ILLdheap *h, int i, int x)
void fp20_ILLutil_dheap_changekey (fp20_ILLdheap *h, int i, EGfp20_t *newkey)
void fp20_ILLutil_dheap_delete (fp20_ILLdheap *h, int i)
void fp20_ILLutil_dheap_deletemin (fp20_ILLdheap *h, int *i)
void fp20_ILLutil_dheap_findmin (fp20_ILLdheap *h, int *i)
void fp20_ILLutil_dheap_free (fp20_ILLdheap *h)
int fp20_ILLutil_dheap_init (fp20_ILLdheap *h, int k)
int fp20_ILLutil_dheap_insert (fp20_ILLdheap *h, int i)
int fp20_ILLutil_dheap_resize (fp20_ILLdheap *h, int newsize)

Variables

static int TRACE = 0


Define Documentation

#define fp20_HEAP_D   3

Definition at line 110 of file fp20_dheaps_i.c.

Referenced by fp20_dheap_minchild(), and fp20_maxchild().

#define fp20_HEAP_DOWN (  )     (((x)*fp20_HEAP_D)+1)

Definition at line 112 of file fp20_dheaps_i.c.

Referenced by fp20_dheap_minchild().

#define fp20_HEAP_UP (  )     (((x)-1)/fp20_HEAP_D)

Definition at line 111 of file fp20_dheaps_i.c.

Referenced by fp20_dheap_siftup(), and fp20_siftup().


Function Documentation

static int fp20_dheap_minchild ( int  x,
fp20_ILLdheap h 
) [static]

Definition at line 315 of file fp20_dheaps_i.c.

References fp20_ILLdheap::entry, fp20_HEAP_D, fp20_HEAP_DOWN, fp20_ILLdheap::key, and fp20_ILLdheap::size.

Referenced by fp20_dheap_siftdown().

static void fp20_dheap_siftdown ( fp20_ILLdheap h,
int  i,
int  x 
)

Definition at line 295 of file fp20_dheaps_i.c.

References fp20_ILLdheap::entry, fp20_dheap_minchild(), fp20_ILLdheap::key, and fp20_ILLdheap::loc.

Referenced by fp20_ILLutil_dheap_changekey(), and fp20_ILLutil_dheap_delete().

Here is the call graph for this function:

static void fp20_dheap_siftup ( fp20_ILLdheap h,
int  i,
int  x 
) [static]

Definition at line 276 of file fp20_dheaps_i.c.

References fp20_ILLdheap::entry, fp20_HEAP_UP, fp20_ILLdheap::key, and fp20_ILLdheap::loc.

Referenced by fp20_ILLutil_dheap_changekey(), fp20_ILLutil_dheap_delete(), and fp20_ILLutil_dheap_insert().

void fp20_ILLutil_dheap_changekey ( fp20_ILLdheap h,
int  i,
EGfp20_t *  newkey 
)

Definition at line 259 of file fp20_dheaps_i.c.

References fp20_dheap_siftdown(), fp20_dheap_siftup(), fp20_ILLdheap::key, and fp20_ILLdheap::loc.

Here is the call graph for this function:

void fp20_ILLutil_dheap_delete ( fp20_ILLdheap h,
int  i 
)

Definition at line 220 of file fp20_dheaps_i.c.

References fp20_ILLdheap::entry, fp20_dheap_siftdown(), fp20_dheap_siftup(), fp20_ILLdheap::key, fp20_ILLdheap::loc, and fp20_ILLdheap::size.

Here is the call graph for this function:

void fp20_ILLutil_dheap_deletemin ( fp20_ILLdheap h,
int *  i 
)

Definition at line 243 of file fp20_dheaps_i.c.

References fp20_ILLdheap::entry, fp20_ILLutil_dheap_delete(), and fp20_ILLdheap::size.

Here is the call graph for this function:

void fp20_ILLutil_dheap_findmin ( fp20_ILLdheap h,
int *  i 
)

Definition at line 195 of file fp20_dheaps_i.c.

References fp20_ILLdheap::entry, and fp20_ILLdheap::size.

void fp20_ILLutil_dheap_free ( fp20_ILLdheap h  ) 

Definition at line 157 of file fp20_dheaps_i.c.

References fp20_ILLdheap::entry, ILL_IFFREE, fp20_ILLdheap::key, and fp20_ILLdheap::loc.

int fp20_ILLutil_dheap_init ( fp20_ILLdheap h,
int  k 
)

Definition at line 129 of file fp20_dheaps_i.c.

References fp20_ILLdheap::entry, fp20_ILLutil_dheap_free(), ILL_RETURN, ILL_SAFE_MALLOC, fp20_ILLdheap::key, fp20_ILLdheap::loc, NULL, fp20_ILLdheap::size, and fp20_ILLdheap::total_space.

Here is the call graph for this function:

int fp20_ILLutil_dheap_insert ( fp20_ILLdheap h,
int  i 
)

Definition at line 205 of file fp20_dheaps_i.c.

References fp20_dheap_siftup(), fp20_ILLdheap::size, and fp20_ILLdheap::total_space.

Here is the call graph for this function:

int fp20_ILLutil_dheap_resize ( fp20_ILLdheap h,
int  newsize 
)

Definition at line 166 of file fp20_dheaps_i.c.

References fp20_ILLdheap::entry, ILL_CLEANUP, ILL_RETURN, fp20_ILLdheap::key, fp20_ILLdheap::loc, and fp20_ILLdheap::total_space.


Variable Documentation

int TRACE = 0 [static]

Definition at line 108 of file fp20_dheaps_i.c.


Generated on Thu Mar 29 09:37:31 2012 for QSopt_ex by  doxygen 1.4.7