/******************************************************************************
 ** LiDIA's Temporary Variable Manager
 ** Original Author: Ralf Dentzer
 ** Rewritten By: Thomas Papanikolaou
 ** Copyright (c) by the LiDIA Group
 ** All rights reserved 
 *****************************************************************************/

The memory manager of LiDIA 
^^^^^^^^^^^^^^^^^^^^^^^^^^^
    This version is based on Ralf Dentzer's memory management as
    described in imem.h, imem.c in the libI package. It has been
    modified to support the malloc/realloc/calloc/free interface

Method
^^^^^^
    Buddy-like  algorithm, see D. Knuth. Allocation is done with
    powers  of  2.  Deallocated objects are stored in free lists
    (filling  the  memory as time goes by). If no more memory is
    available,  a total cleanup is done releasing all objects in
    the free lists.

To Do
^^^^^
    - Add a bytecounter so that we are able to call mm_collect()
      each time a user-defined bound is exceeded.

Author
^^^^^^
    Ralf Dentzer, Thomas Papanikolaou

