[Ecls-list] Latest changes
Juan Jose Garcia-Ripoll
juanjose.garciaripoll at googlemail.com
Fri Aug 28 20:44:05 UTC 2009
* Visible changes:
- When embedded, ECL may coexist with code that uses the GMP library in
different ways, and sometimes that code may use different memory allocation
routines. In order to solve this problem ECL introduces a new option,
ECL_OPT_SET_GMP_MEMORY_FUNCTIONS, which determines whether GMP will use the
Boehm-Weiser garbage collector to allocate memory or not.
- The previous change also implies that ECL must do all bignum computations
using GMP-allocated numbers that are then automatically freed. More
precisely, this is done using big_register[0-2]_get() and
big_register_normalize() everywhere and operating destructively on those
numbers. These functions have been made aware of the fact that GMP may
use other allocation routines and always call mpz_clear() to free memory.
- The internal functions dealing with bignums have been renamed with the usual
prefix "_ecl", and some of them have been turned into macros. Do not use
those functions if possible.
- A new compiler macro ECL_NO_LEGACY can be defined to remove all deprecated
macros and functions. Have a look at the end of src/h/external.h to see
what functions are deprecated on each release -- typically they are functions
that have been renamed with one of the prefixes, ecl_, cl_, si_,
ext_ or _ecl.
Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28006 (Spain)
More information about the ecl-devel