/*
** XmgFancyI.h for  in 
** 
** Made by vianney rancurel
** Login   <vianney@epita.fr>
** 
** Started on  Wed Aug 25 14:18:25 1999 vianney rancurel
** Last update Thu Oct 28 20:23:21 1999 
*/
#ifndef XMGFANCYI_H
#define XMGFANCYI_H	1

#include "XmgI.h"

/*#define FANCY_DEBUG_MALLOC	1*/

#ifdef FANCY_DEBUG_MALLOC
#define FANCY_ALLOC_ALGORITHM	alloc_algorithm_factor2
#define FANCY_ALLOC_PROC	fancy_alloc
#define FANCY_REALLOC_PROC	fancy_realloc
#define FANCY_FREE_PROC		fancy_free
#else
#define FANCY_ALLOC_ALGORITHM	XMG_ALLOC_ALGORITHM
#define FANCY_ALLOC_PROC	XMG_ALLOC_PROC
#define FANCY_REALLOC_PROC	XMG_REALLOC_PROC
#define FANCY_FREE_PROC		XMG_FREE_PROC
#endif

#define FANCY_VEC_NEW(VecBase,StatusPtr)	vec_new((VecBase),\
							FALSE,\
							FANCY_ALLOC_ALGORITHM,\
							FANCY_ALLOC_PROC,\
							FANCY_REALLOC_PROC,\
							FANCY_FREE_PROC,\
							"fancy_vec",\
							(StatusPtr))

#define FANCY_DICT_NEW(HashBase,VecBase,StatusPtr)	dict_new((HashBase),\
								 (VecBase),\
							dict_hash_code_public,\
							FANCY_ALLOC_ALGORITHM,\
							FANCY_ALLOC_PROC,\
							 FANCY_REALLOC_PROC,\
							 FANCY_FREE_PROC,\
							     "fancy_dict",\
								 (StatusPtr))

#endif
