X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?p=ginac.git;a=blobdiff_plain;f=NEWS;h=dcf259c8acb0e0deae546dc200064601954a53e1;hp=38c447e236b07751e7388cd6c65b071a316c13ed;hb=bc2fc50f5953d8d086c505febd837fc77f3cd61d;hpb=15e9408c64b6e9309a9f2388fd91f34101b52f40 diff --git a/NEWS b/NEWS index 38c447e2..dcf259c8 100644 --- a/NEWS +++ b/NEWS @@ -1,12 +1,75 @@ This file records noteworthy changes. -1.0.12 () -* Fixed a bug in power::expand() that could produce invalid exressions. +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. * The input parser no longer ignores extra data following accepted input. * Improved the CLN C-source output (integers are printed as integers, and floating point numbers include the precision). * Fixed a problem in the LaTeX-output of negative fractions. * Added print_latex() and print_csrc() to ginsh. +* The sprem() function is now public. 1.0.11 (18 September 2002) * Fixed a possible memory corruption in contractions of indexed objects with