]> www.ginac.de Git - ginac.git/blobdiff - NEWS
Added const_iterator, const_preorder_iterator, const_postorder_iterator. The
[ginac.git] / NEWS
diff --git a/NEWS b/NEWS
index d675dc1e22252652a6c0a5e6a6e2800068dbc929..333f226838240f5422be0034f1f45e2631eac749 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,12 +1,55 @@
 This file records noteworthy changes.
 
-1.0.15 (<date>)
-* Added on-line help and Tab-completion for print(), iprint(), print_latex()
-  and print_csrc() in ginsh.
-* Fixed a bug in the unarchiving of sums and products: terms were not
-  reordered in a canonical way.
-* Fixed a bug in normal()/numer_denom(): denominator was not made unit
-  normal if it was a simple number
+1.2.0 (<insert date>)
+* Added a structure<T> template class for the easy creation of user-defined
+  algebraic classes.
+* <visitors>
+* <new-style printing>
+* <noncommutative symbols>
+* Improved the speed of subs() and normal() by the use of maps instead of
+  lists.
+* quo(), rem(), prem(), sprem(), decomp_rational(), unit(), content(),
+  primpart() and matrix::charpoly() now take a "const ex &" instead of a
+  "const symbol &".
+* <object fusion>
+* Many internal reorganizations 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() 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.
+* The scalar_products mechanism allows the specification of an index dimension.
+* Removed dirac_gamma6/7().
+* Added ex::to_polynomial().
+* subs() accepts an optional "options" argument. The option
+  subs_option::subs_algebraic enables "smart" substitutions in products and
+  powers.
+* Added stream manipulators "dflt", "latex", "python", "python_repr", "tree",
+  "csrc", "csrc_float", "csrc_double", "csrc_cl_N", "index_dimensions" and
+  "no_index_dimensions" to control the output format. Calling basic::print()
+  directly is now deprecated.
+* Made the hashing more simple and efficient.
+* Caveats for class implementors:
+   - basic::subs(): third argument changed from "bool" to "unsigned"
+   - unarchiving constructor and basic::unarchive(): "const" removed from
+     second argument
+   - basic::let_op() should only be implemented if write access to
+     subexpressions is desired
+   - simplify_ncmul() renamed to eval_ncmul()
+   - simplified_ncmul() renamed to hold_ncmul()
+   - nonsimplified_ncmul() renamed to reeval_ncmul()
 
 1.0.14 (1 March 2003)
 * Improved the C-source output: complex numbers are printed correctly (using