X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?a=blobdiff_plain;ds=sidebyside;f=NEWS;h=ef550a6c7b09ddd7a038fb7dffb1b0ef8aecd364;hb=69cf20e8ee183eadfe457af33dc88a9f568038e8;hp=13d6253997974a5f15a19d5bc4a05c11255653ed;hpb=68fdf425abf14d016d5f95ee7b9d06a19a3c5926;p=ginac.git diff --git a/NEWS b/NEWS index 13d62539..ef550a6c 100644 --- a/NEWS +++ b/NEWS @@ -3,15 +3,37 @@ This file records noteworthy changes. 1.2.0 () * Added a structure template class for the easy creation of user-defined algebraic classes. -* Many internal reorganizations and optimizations. +* +* +* +* +* 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 &". +* +* 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(), 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 to be changed to a call to subs_one_level(). + - lst::thislst() and exprseq::thisexprseq() renamed to thiscontainer(). + - thiscontainer() and associated constructors now take a std::auto_ptr. + - Overloading basic::print() is now deprecated. You should use + print_func<>() class options instead. 1.1.0 (3 April 2003) * Removed deprecated macros is_ex_a, is_ex_exactly_a and friends for good.