- removed non-sources from CVS
- Derivatives are now assembled in a slightly different manner (i.e. they 'look' different on first sight). Under certain circumstances this can result in a dramatic speedup because it gives hashing a better chance, especially when computing higher derivatives. - Series expansion accepts an additional bool argument now, telling it whether branch cuts are to be honored (as Maple does it) or not (as Mathematica does it). It defaults to true (i.e. the Maple way). - Many series expansions of built-in functions have been reengineered. - The Dilogarithm (Li2) now has floating point evaluation, derivative and a proper series expansion. - Namespace 'std' cleanly disentangled, as demanded by ISO/EIC 14882-1998(E). - Some helpers updated from upstream.
- cint/*: Revamped the launch-scheme for ginaccint.bin. It must be done by a binary executable and not by a script to ensure users can write shebang-scripts. - cint/*: Added a testsuite which hopefully passes (some lucky day). - cint/ginaccint.bin: For this to work we needed a --silent command line switch. - configure.in, Makefile.am, cint/Makefile.am: account for new launchers. - ginac/matrix.cpp, ginac/matrix.h: removed confusing ffe_get() and ffe_set() routines since they counted the non-standard way. - config.guess, config.sub: Updated to new versions from FSF. - others files: Changes triggered.
- fixed bug in Euclidean PRS algorithm - sr_gcd() uses sym_desc vector and divide_in_z() - changed some "symbol *" to "symbol &"
- Added version.h.in to EXTRA_DIST.
- Added version.h to the list of files to be installed.
- Adjusted build-environment for "Cint without crutches" (tm).
- the ex stream >> operator is gone - added a new ex constructor ex(string, ex) instead; use as follows: symbol x("x"), y("y"); ex e("Pi*(4*x^2+y)^10", lst(x, y)); or, for interactive input: symbol x("x"); string s; cout << "Input something (may contain 'x'): "; getline(cin, s); try { e = ex(s, lst(x)); cout << "You entered " << e << endl; cout << "e.diff(x) = " << e.diff(x) << endl; } catch (exception &c) { cerr << c.what() << endl; } - symbols not specified in the list in the second argument to ex(string, ex) but encountered in the input expression will throw an exception
- dramatic speedup for characteristic polynomials of numerical matrices. - speedup for matrix multiplication of somewhat sparse matrices. - gamma -> Euler (sorry 4 that, again). - two new tests (Q and Q') from Lewis' and Wester's testsuite. - fixed compilation desaster in timing M1 by using the new parser. - had a glass of beer.
- expressions can now be read from streams; the input expression can contain a list of predefined symbols to be used, before reading (and overwriting) the expression, e.g: symbol x("x"), y("y"); e = lst(x, y); cout << "Enter an expression containing 'x' and 'y': "; try { cin >> e; } catch (exception &e) { cerr << e.what() << endl; } cout << "You entered " << e << endl; cout << "de/dx = " << e.diff(x) << endl; cout << "de/dy = " << e.diff(y) << endl;
- ginac.h includes version.h (created by configure script), which contains library version defines
- Completely restructured the checks in subdir check/. - Optimized Laplace expansion of determinants to not compute anything more than once. - Moved int permutation_sign(vector<T> s) from matrix.cpp to utils.h. - A handful of other fixes assiciated with the above.
remember strategies least recently used and least frequently used, code moved to remember.h/cpp
- changes triggered by fucking new version of automake
- cint dir was missing from distribution
- Changes to */Makefile.in triggered by stupid automake-version-thingie. - added return-behaviour to section BUGS in ginaccint.1 - Fixed cint/Makefile.am to add CINTSYSDIR to PATH (since cint may be sitting there).
- */Makefile.in: changes triggered by newer automake. - added relational::rhs() and relational::lhs() also available from ex. - added two new checks in check/linear_solve.cpp (formerly check/lsolve_onedim.cpp) shamelessly ripped from the Maple online-help. - added keyword warranty to ginsh as dictated by the bible (emacs).
- ginsh now includes "ginac.h" when compiled as part of the GiNaC package, and <ginac/ginac.h> otherwise
- diff() is now only defined on classes ex and basic, where it handles higher derivatives. derivative() is now the method to be implemented by the user that does single derivatives, it is protected. - Implemented some very clumpsy automatic generation of ginaccint. It is ugly because we have to compile libginac without namespace GiNaC. - Fixed some wrong logic in numeric::power().
- fixed bug in multiply_lcm() (see paranoia_check9)