dbl_dheaps_i.c File Reference

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

Include dependency graph for dbl_dheaps_i.c:

Go to the source code of this file.

Defines

#define dbl_HEAP_D   3
#define dbl_HEAP_DOWN(x)   (((x)*dbl_HEAP_D)+1)
#define dbl_HEAP_UP(x)   (((x)-1)/dbl_HEAP_D)

Functions

static int dbl_dheap_minchild (int x, dbl_ILLdheap *h)
static void dbl_dheap_siftdown (dbl_ILLdheap *h, int i, int x)
static void dbl_dheap_siftup (dbl_ILLdheap *h, int i, int x)
void dbl_ILLutil_dheap_changekey (dbl_ILLdheap *h, int i, double *newkey)
void dbl_ILLutil_dheap_delete (dbl_ILLdheap *h, int i)
void dbl_ILLutil_dheap_deletemin (dbl_ILLdheap *h, int *i)
void dbl_ILLutil_dheap_findmin (dbl_ILLdheap *h, int *i)
void dbl_ILLutil_dheap_free (dbl_ILLdheap *h)
int dbl_ILLutil_dheap_init (dbl_ILLdheap *h, int k)
int dbl_ILLutil_dheap_insert (dbl_ILLdheap *h, int i)
int dbl_ILLutil_dheap_resize (dbl_ILLdheap *h, int newsize)

Variables

static int TRACE = 0


Define Documentation

#define dbl_HEAP_D   3

Definition at line 110 of file dbl_dheaps_i.c.

Referenced by dbl_dheap_minchild(), and dbl_maxchild().

#define dbl_HEAP_DOWN (  )     (((x)*dbl_HEAP_D)+1)

Definition at line 112 of file dbl_dheaps_i.c.

Referenced by dbl_dheap_minchild().

#define dbl_HEAP_UP (  )     (((x)-1)/dbl_HEAP_D)

Definition at line 111 of file dbl_dheaps_i.c.

Referenced by dbl_dheap_siftup(), and dbl_siftup().


Function Documentation

static int dbl_dheap_minchild ( int  x,
dbl_ILLdheap h 
) [static]

Definition at line 315 of file dbl_dheaps_i.c.

References dbl_HEAP_D, dbl_HEAP_DOWN, dbl_ILLdheap::entry, dbl_ILLdheap::key, and dbl_ILLdheap::size.

Referenced by dbl_dheap_siftdown().

static void dbl_dheap_siftdown ( dbl_ILLdheap h,
int  i,
int  x 
)

Definition at line 295 of file dbl_dheaps_i.c.

References dbl_dheap_minchild(), dbl_ILLdheap::entry, dbl_ILLdheap::key, and dbl_ILLdheap::loc.

Referenced by dbl_ILLutil_dheap_changekey(), and dbl_ILLutil_dheap_delete().

Here is the call graph for this function:

static void dbl_dheap_siftup ( dbl_ILLdheap h,
int  i,
int  x 
) [static]

Definition at line 276 of file dbl_dheaps_i.c.

References dbl_HEAP_UP, dbl_ILLdheap::entry, dbl_ILLdheap::key, and dbl_ILLdheap::loc.

Referenced by dbl_ILLutil_dheap_changekey(), dbl_ILLutil_dheap_delete(), and dbl_ILLutil_dheap_insert().

void dbl_ILLutil_dheap_changekey ( dbl_ILLdheap h,
int  i,
double *  newkey 
)

Definition at line 259 of file dbl_dheaps_i.c.

References dbl_dheap_siftdown(), dbl_dheap_siftup(), dbl_ILLdheap::key, and dbl_ILLdheap::loc.

Here is the call graph for this function:

void dbl_ILLutil_dheap_delete ( dbl_ILLdheap h,
int  i 
)

Definition at line 220 of file dbl_dheaps_i.c.

References dbl_dheap_siftdown(), dbl_dheap_siftup(), dbl_ILLdheap::entry, dbl_ILLdheap::key, dbl_ILLdheap::loc, and dbl_ILLdheap::size.

Here is the call graph for this function:

void dbl_ILLutil_dheap_deletemin ( dbl_ILLdheap h,
int *  i 
)

Definition at line 243 of file dbl_dheaps_i.c.

References dbl_ILLutil_dheap_delete(), dbl_ILLdheap::entry, and dbl_ILLdheap::size.

Here is the call graph for this function:

void dbl_ILLutil_dheap_findmin ( dbl_ILLdheap h,
int *  i 
)

Definition at line 195 of file dbl_dheaps_i.c.

References dbl_ILLdheap::entry, and dbl_ILLdheap::size.

void dbl_ILLutil_dheap_free ( dbl_ILLdheap h  ) 

Definition at line 157 of file dbl_dheaps_i.c.

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

int dbl_ILLutil_dheap_init ( dbl_ILLdheap h,
int  k 
)

Definition at line 129 of file dbl_dheaps_i.c.

References dbl_ILLutil_dheap_free(), dbl_ILLdheap::entry, ILL_RETURN, ILL_SAFE_MALLOC, dbl_ILLdheap::key, dbl_ILLdheap::loc, NULL, dbl_ILLdheap::size, and dbl_ILLdheap::total_space.

Here is the call graph for this function:

int dbl_ILLutil_dheap_insert ( dbl_ILLdheap h,
int  i 
)

Definition at line 205 of file dbl_dheaps_i.c.

References dbl_dheap_siftup(), dbl_ILLdheap::size, and dbl_ILLdheap::total_space.

Here is the call graph for this function:

int dbl_ILLutil_dheap_resize ( dbl_ILLdheap h,
int  newsize 
)

Definition at line 166 of file dbl_dheaps_i.c.

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


Variable Documentation

int TRACE = 0 [static]

Definition at line 108 of file dbl_dheaps_i.c.


Generated on Thu Mar 29 09:33:13 2012 for QSopt_ex by  doxygen 1.4.7