Christian Bauer [Mon, 13 Mar 2000 19:21:20 +0000 (19:21 +0000)]
- ex::series() catches and re-throws exceptions happening during expansion
(almost always caused by expansion of unhandled poles)
- series(log(x),x) now returns log(x) instead of an error
Richard Kreckel [Mon, 13 Mar 2000 17:14:21 +0000 (17:14 +0000)]
- Two new timimgs that are interesting for optimizing.
- Readjusted some parameters.
- Cleaned up syntax in everything involving matrices to reflect the
policy: "normal if in field, expand otherwise". (It makes many things
much clearer.)
Richard Kreckel [Wed, 1 Mar 2000 21:32:45 +0000 (21:32 +0000)]
- Fixed a logic error in numeric::info().
- Maybe added another world record: an extremely fast fibonacci routine
(a nonrecursive variation of a method suggested by B. Haible).
Richard Kreckel [Tue, 29 Feb 2000 17:28:13 +0000 (17:28 +0000)]
- 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.
Alexander Frink [Mon, 21 Feb 2000 23:11:41 +0000 (23:11 +0000)]
container.pl: can now generate constructors for an arbitary number
of arguments
function.pl: new concept for specifying options for functions,
take a look at the function_options class
first experimental support for remembering functions
IMPORTANT: the syntax of the macro REGISTER_FUNCTION() has
changed incompatibly (see inifcns.cpp for an example)
flags.h: flags for remembering strategies (lru, lfu,...)
inifcns*.cpp: use the new REGISTER_FUNCTION() macro syntax
numeric.h/cpp: hashing for numbers using CLN's cl_equal_hashcode()
seems to give increased performance
simp_lor.h: simplify_simp_lor can be called without scalar products list
structure.pl: bug fix in regular expression
normal.cpp: bug fix, a_numeric.compare(_ex0)
Christian Bauer [Thu, 10 Feb 2000 21:25:38 +0000 (21:25 +0000)]
- normal() now internally keeps numerator and denominator separated and
doesn't combine them to a fraction until the very end. All implementations
of basic::normal() now return a 2-component lst {num, den} instead of a
simple expression.
- dropped status_flags::normal_form
- ex::numer() and ex::denom() didn't work correctly on numerics
- lcm(a, b) with a and b being a numeric returned the GCD of a and b (*argh*)
Richard Kreckel [Mon, 7 Feb 2000 19:05:28 +0000 (19:05 +0000)]
- 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).
Richard Kreckel [Mon, 7 Feb 2000 17:57:15 +0000 (17:57 +0000)]
- */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).
Richard Kreckel [Wed, 2 Feb 2000 18:49:29 +0000 (18:49 +0000)]
- 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().
Christian Bauer [Mon, 31 Jan 2000 21:50:12 +0000 (21:50 +0000)]
- archive file format is a little more compact (stores property name and type
as one unsigned value)
- moved #include "config.h" from lortensor.h to lortensor.cpp (none of the
public headers must include config.h)
Richard Kreckel [Sun, 30 Jan 2000 23:52:53 +0000 (23:52 +0000)]
- Renamed flag NO_GINAC_NAMESPACE to NO_NAMESPACE_GINAC because of m4.
- Made configure check for cint and makecint and call makecint to dump out
cint/Makefile.cint, which will later be called by cint/Makefile. See
configure option --with-cint.
- Added some documentation about GiNaC-cint (e.g. a manpage).
- All dummies in subdir cint/ are created by cint/dummies.pl now, removed
older stuff.
Christian Bauer [Tue, 25 Jan 2000 22:35:47 +0000 (22:35 +0000)]
- lcm_of_coefficients() works for unexpanded polynomials
- frac_cancel() works for unexpanded polynomials
- gcd() can handle partially-factored input polynomials without expanding them