]> 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 c25a086776252fc23b7834fb85ee1b29fb46f2ea..333f226838240f5422be0034f1f45e2631eac749 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,65 @@
 This file records noteworthy changes.
 
-1.0.13 (<date>)
+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
+  the STL complex<> template or cln::complex()), rational numbers use cl_RA()
+  in the CLN output, and small integers are printed in a more compact format
+  (e.g. "2.0" instead of "2.0000000e+00").
+* function_options::set_return_type() and function_options::do_not_evalf_params()
+  now actually work.
+
+1.0.13 (27 January 2003)
 * Contracting epsilon tensors with Euclidean indices now works.
 * Improved dummy index symmetrization in sums.
 * Added dirac_gammaL/R(), which can be used instead of dirac_gamma6/7()
@@ -12,6 +71,7 @@ This file records noteworthy changes.
   with symbols.
 * Added collect_common_factors() which collects common factors from the
   terms of sums.
+* simplify_indexed() converts "gamma~mu*p.mu" to "p\".
 
 1.0.12 (30 October 2002)
 * Fixed a bug in power::expand() that could produce invalid expressions.