X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?p=ginac.git;a=blobdiff_plain;f=NEWS;h=dcf259c8acb0e0deae546dc200064601954a53e1;hp=49df8a8f507d7aadc7b1f86c00f94b6b6ff17fbf;hb=13896261ee985f23e5b5648532e70f0cce704ede;hpb=1a2b16701d81f537d91ebd4db9ca0beeeaa3798c diff --git a/NEWS b/NEWS index 49df8a8f..dcf259c8 100644 --- a/NEWS +++ b/NEWS @@ -1,7 +1,66 @@ This file records noteworthy changes. -1.0.13 () +1.2.0 () +* 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. +* 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(). + +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() + but are single objects, to allow for a more compact notation of Dirac + strings. +* Powers with negative numeric exponents are printed as fractions in the + LaTeX output. +* Added symbolic_matrix() for the convenient creation of matrices filled + 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.