From: Christian Bauer Date: Thu, 4 Sep 2003 18:00:59 +0000 (+0000) Subject: documentation update X-Git-Tag: release_1-2-0~102 X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?p=ginac.git;a=commitdiff_plain;h=b72b6c8a2d0fe1620e9a3dfd94335d3f2eb27bb8;hp=dfa384d36f986f5f8d7dbb5e20c0d3a63af42cd9 documentation update --- diff --git a/NEWS b/NEWS index 333f2268..ef550a6c 100644 --- a/NEWS +++ b/NEWS @@ -4,21 +4,28 @@ This file records noteworthy changes. * Added a structure template class for the easy creation of user-defined algebraic classes. * +* * * -* Improved the speed of subs() and normal() by the use of maps instead of - lists. +* Improved the speed of subs(), normal(), to_rational() and to_polynomial() + by the use of maps instead of lists. The old forms + subs(const lst & ls, const lst & lr, unsigned options) + to_rational/to_polynomial(lst & repl) + are still available for compatibility, but using the new forms + subs(const exmap & m, unsigned options) + to_rational/to_polynomial(exmap & repl) + is more efficient, especially when the number of replacements is large. * quo(), rem(), prem(), sprem(), decomp_rational(), unit(), content(), primpart() and matrix::charpoly() now take a "const ex &" instead of a "const symbol &". * -* Many internal reorganizations and optimizations. +* Lots of internal streamlining and optimizations. * Caveats for class implementors: - basic::copy() and basic::destroy() are gone; classes derived from basic can use the defaults for the assignment operator and copy constructor. - - basic::subs() and basic::normal() take an 'exmap &' instead of two - 'lst &'. + - basic::subs(), basic::normal(), basic::to_rational() and + basic::to_polynomial() take 'exmap' objects instead of lists. - basic::subs() now descends into subexpressions (if accessible via nops()/op()/let_op()). If you have a custom implementation of subs() that calls basic::subs() after substituting subexpressions, this needs