Richard Kreckel [Mon, 13 Oct 2003 02:10:00 +0000 (02:10 +0000)]
* Made use of new operator, when constructing test matrices.
* Added (but left disabled) Lewis' and Wester's test O2.

Richard Kreckel [Mon, 13 Oct 2003 02:06:16 +0000 (02:06 +0000)]
* Multiplication by 4 is easier than by 25/4.  ;-)

Richard Kreckel [Mon, 13 Oct 2003 01:43:03 +0000 (01:43 +0000)]
* time_lw_H.cpp (test): Simplification of Hilbert determinant formula.

Richard Kreckel [Sun, 12 Oct 2003 23:49:09 +0000 (23:49 +0000)]
* All your dependent bases are... D'Oh!

Richard Kreckel [Sun, 12 Oct 2003 14:18:49 +0000 (14:18 +0000)]
* times.cpp (randomify_symbol_serials): New.

Richard Kreckel [Sun, 12 Oct 2003 14:04:41 +0000 (14:04 +0000)]
* Some of your (dependent) bases are belong to somebody else.   :-(

Richard Kreckel [Sun, 12 Oct 2003 02:38:26 +0000 (02:38 +0000)]
* All your dependent bases are belong to us!

Richard Kreckel [Sun, 12 Oct 2003 01:44:19 +0000 (01:44 +0000)]
* All your dependent bases are belong to us!

Christian Bauer [Thu, 9 Oct 2003 21:07:36 +0000 (21:07 +0000)]
compare(ex(0)) -> is_zero()

Christian Bauer [Wed, 1 Oct 2003 17:42:54 +0000 (17:42 +0000)]

Jens Vollinga [Tue, 30 Sep 2003 21:50:02 +0000 (21:50 +0000)]
Synced to 1.1

Christian Bauer [Tue, 30 Sep 2003 19:58:59 +0000 (19:58 +0000)]
Implemented the Blitz++ trick to allow the initialization of lists and matrices
from comma-separated sequences of expressions, like this:

lst l;
l = x, 2, y, x+y;

matrix M(3, 3);
M = x, y, 0,
-y, x, 0,
0, 0, 1;

This is both faster and produces much smaller code than the old constructors
lst(ex, ex, ...) and matrix(unsigned, unsigned, lst), especially in the case
of matrices, and is now the recommended way to create these objects.

Christian Bauer [Mon, 29 Sep 2003 17:30:11 +0000 (17:30 +0000)]
parallel build uses NCPU jobs instead of NCPU+1

Jens Vollinga [Mon, 29 Sep 2003 17:25:29 +0000 (17:25 +0000)]
Synced to 1.1

Christian Bauer [Thu, 18 Sep 2003 19:35:47 +0000 (19:35 +0000)]
tidied up ex::subs()

Richard Kreckel [Sat, 6 Sep 2003 01:11:58 +0000 (01:11 +0000)]
* ginsh_input(): Modern versions of flex want us to use the macro
YY_CURRENT_BUFFER instead of accessing yy_current_buffer directly.
YY_CURRENT_BUFFER is defined appears to be the most natural strategy.)

Christian Bauer [Fri, 5 Sep 2003 19:58:11 +0000 (19:58 +0000)]
Improved the pre-/postorder iterators: They visit the root node and are now
only marginally slower than a recursive function like traverse(). The only
remaining problem is that for an expression consisting of only one primitive
object, ex::begin() and ex::end() return the same value, so the iteration
immediately stops without visiting the one existing node. We probably need
special versions of begin()/end() for creating pre-/postorder iterators after
all.

Christian Bauer [Thu, 4 Sep 2003 18:31:09 +0000 (18:31 +0000)]

Christian Bauer [Thu, 4 Sep 2003 18:01:09 +0000 (18:01 +0000)]
mention the subs(exmap &) form

Christian Bauer [Thu, 4 Sep 2003 18:00:59 +0000 (18:00 +0000)]
documentation update

Christian Bauer [Thu, 4 Sep 2003 18:00:16 +0000 (18:00 +0000)]
the old methods of ex remain for compatibility

Christian Bauer [Wed, 3 Sep 2003 18:18:34 +0000 (18:18 +0000)]
minor optimizations to ex::subs()

Christian Bauer [Wed, 3 Sep 2003 18:18:15 +0000 (18:18 +0000)]
implemented operator-> for the iterators

Christian Bauer [Tue, 2 Sep 2003 20:01:55 +0000 (20:01 +0000)]
added some words of warning to ex_to<>()

Christian Bauer [Tue, 2 Sep 2003 19:59:12 +0000 (19:59 +0000)]
- reduced the amount of inlining a little

Christian Bauer [Tue, 2 Sep 2003 18:29:06 +0000 (18:29 +0000)]
synced to 1.1

Christian Bauer [Fri, 29 Aug 2003 21:29:14 +0000 (21:29 +0000)]
pre-/postorder iterators don't visit the root node; this should probably be
fixed. The ex::traverse*() functions can then be removed.

Christian Bauer [Fri, 29 Aug 2003 17:36:02 +0000 (17:36 +0000)]
moved the reference counter into its own class "refcounted"

Richard Kreckel [Fri, 29 Aug 2003 01:06:23 +0000 (01:06 +0000)]
* Fix for lintian error "package-lacks-versioned-build-depends-on-debhelper 4".

Richard Kreckel [Fri, 29 Aug 2003 00:35:39 +0000 (00:35 +0000)]
* Oops, forgot to cvs add the two new files in last commit.

Richard Kreckel [Fri, 29 Aug 2003 00:34:38 +0000 (00:34 +0000)]
* Preliminar update over Debian's ginac_1.1.3-1.diff.gz.

Christian Bauer [Wed, 27 Aug 2003 19:42:29 +0000 (19:42 +0000)]
lsts are not shareable by default

Christian Bauer [Tue, 26 Aug 2003 22:14:37 +0000 (22:14 +0000)]
- added some (empty) exception specifications (reduces code size a little)
- synced to 1.1 (ex::const_iterator::operator[])

Christian Bauer [Tue, 26 Aug 2003 21:02:52 +0000 (21:02 +0000)]
documentation update (sort of)

Christian Bauer [Tue, 26 Aug 2003 21:01:27 +0000 (21:01 +0000)]
symbols can be made noncommutative (see symbol constructors); some feedback
on the usefulness of this would be appreciated

Christian Bauer [Tue, 26 Aug 2003 21:00:36 +0000 (21:00 +0000)]
bumped archive version number because of added attributes for symbols

Christian Bauer [Tue, 26 Aug 2003 20:57:44 +0000 (20:57 +0000)]
generous use of auto_ptr to provide better exception safety and make the code
more expressive (doesn't that sound great?)

Christian Bauer [Mon, 25 Aug 2003 18:47:33 +0000 (18:47 +0000)]

Christian Bauer [Mon, 25 Aug 2003 18:45:53 +0000 (18:45 +0000)]
- documented numeric::to_int()/to_long()/to_double()/to_cl_N()
- a little more information about evalf()

Christian Bauer [Sun, 24 Aug 2003 22:58:23 +0000 (22:58 +0000)]
some functions that were restricted to symbols for arguments now accept
general expressions

Christian Bauer [Sun, 24 Aug 2003 22:57:15 +0000 (22:57 +0000)]
some functions that took a "const symbol &" now take a "const ex &"

Christian Bauer [Sun, 24 Aug 2003 22:56:12 +0000 (22:56 +0000)]
removed some obsolete functions

Christian Bauer [Sun, 24 Aug 2003 22:55:54 +0000 (22:55 +0000)]
- implemented object fusion as proposed by Richy
- unit(), content() and primpart() take a "const ex &" instead of a
"const symbol &". degree(), coeff(), collect() etc. have dropped the
restriction to symbols a long time ago, so there's no reason for these
function to keep it.

Christian Bauer [Sun, 24 Aug 2003 22:53:39 +0000 (22:53 +0000)]
- quo(), rem(), prem(), sprem() and decomp_rational() take a "const ex &"
instead of a "const symbol &"
- get_symbol_stats(): the sym_desc_vec holds an ex instead of an (unsafe)
"const symbol *"

Christian Bauer [Sun, 24 Aug 2003 22:51:37 +0000 (22:51 +0000)]
added flag to disable object fusion

Christian Bauer [Sun, 24 Aug 2003 22:51:12 +0000 (22:51 +0000)]
- charpoly(): lambda is now a "const ex &" instead of a "const symbol &"
- slighly more efficient matrix constructors (avoid double initialization of m)

Christian Bauer [Sun, 24 Aug 2003 22:49:36 +0000 (22:49 +0000)]
fixed typo (flags -> fl) and made the set of flags cleared by the assignment
operator explicit

Christian Bauer [Fri, 22 Aug 2003 17:05:42 +0000 (17:05 +0000)]
added on-line help for nestedsums functions

Christian Bauer [Fri, 22 Aug 2003 17:02:02 +0000 (17:02 +0000)]
hash_map.h didn't get installed

Christian Bauer [Thu, 21 Aug 2003 23:19:25 +0000 (23:19 +0000)]
operator[] -> insert() (probably more efficient)

Christian Bauer [Thu, 21 Aug 2003 22:57:02 +0000 (22:57 +0000)]
removed unused function

Christian Bauer [Thu, 21 Aug 2003 22:56:27 +0000 (22:56 +0000)]
more efficient constructors

Christian Bauer [Thu, 21 Aug 2003 22:48:56 +0000 (22:48 +0000)]
ex_to<>(), is_a<>() and is_exactly_a<>() weren't inlined

Christian Bauer [Wed, 20 Aug 2003 22:01:35 +0000 (22:01 +0000)]
added exams and timings for exhashmap<>

Christian Bauer [Wed, 20 Aug 2003 21:09:59 +0000 (21:09 +0000)]
added exhashmap<> as a replacement for map<> that uses hashing

Christian Bauer [Wed, 20 Aug 2003 20:56:59 +0000 (20:56 +0000)]
cleaned up specializations of swap()/iter_swap()

Christian Bauer [Wed, 20 Aug 2003 19:58:55 +0000 (19:58 +0000)]
fixed typo

Christian Bauer [Mon, 18 Aug 2003 20:29:52 +0000 (20:29 +0000)]

Christian Bauer [Mon, 18 Aug 2003 19:00:07 +0000 (19:00 +0000)]
- string -> const char * (compiles about 100 times faster)
- disabled output of exam_inifcns_nstdsums
- updated exams.ref

Jens Vollinga [Fri, 15 Aug 2003 17:01:42 +0000 (17:01 +0000)]
synced to 1.2

Richard Kreckel [Fri, 15 Aug 2003 01:27:01 +0000 (01:27 +0000)]
* acinclude.m4 (GINAC_CHECK_ERRORS): exit with non-zero return value on error.
Thus, debian/rules and similar environments can easily probe the return value
of configure and forego a hopeless compilation effort.  This has been the
cause of much pain and suffering for the poor Debian m68k build daemon.

Christian Bauer [Thu, 14 Aug 2003 20:26:15 +0000 (20:26 +0000)]

Jens Vollinga [Thu, 14 Aug 2003 19:22:07 +0000 (19:22 +0000)]
synced to 1.2

Jens Vollinga [Thu, 14 Aug 2003 19:16:32 +0000 (19:16 +0000)]
synced to 1.2

Christian Bauer [Thu, 14 Aug 2003 18:41:58 +0000 (18:41 +0000)]
use new-style print methods

Christian Bauer [Wed, 13 Aug 2003 20:44:07 +0000 (20:44 +0000)]
use new-style print methods

Christian Bauer [Wed, 13 Aug 2003 18:35:31 +0000 (18:35 +0000)]
lst(0) now works as expected

Christian Bauer [Wed, 6 Aug 2003 19:22:44 +0000 (19:22 +0000)]
print methods can be replaced at run-time with set_print_func<>()

Christian Bauer [Wed, 6 Aug 2003 19:07:46 +0000 (19:07 +0000)]
use new-style print methods

Christian Bauer [Wed, 6 Aug 2003 18:43:52 +0000 (18:43 +0000)]
use new-style print methods

Christian Bauer [Wed, 6 Aug 2003 18:43:18 +0000 (18:43 +0000)]
print_tree: only print the "nops=" line when nops() > 0

Christian Bauer [Wed, 6 Aug 2003 18:35:08 +0000 (18:35 +0000)]
synced to 1.1

Christian Bauer [Thu, 31 Jul 2003 17:25:33 +0000 (17:25 +0000)]
removed debug code

Christian Bauer [Thu, 31 Jul 2003 00:11:16 +0000 (00:11 +0000)]
use new-style print methods

Christian Bauer [Thu, 31 Jul 2003 00:10:46 +0000 (00:10 +0000)]
DEFAULT_PRINT macros generate new-style print methods

Christian Bauer [Thu, 31 Jul 2003 00:10:26 +0000 (00:10 +0000)]
initialize print_context registry on startup

Christian Bauer [Thu, 31 Jul 2003 00:09:52 +0000 (00:09 +0000)]
- print_context::duplicate() wasn't virtual
- fixed static initialization order problem with the print_context registry
- print methods can use basic::print_dispatch<>() to re-enter the double
dispatch mechanism to defer to superclass methods

Christian Bauer [Fri, 25 Jul 2003 20:44:49 +0000 (20:44 +0000)]
implemented double dispatch for print(); methods are specified with
print_func<C>() options in the GINAC_IMPLEMENT_REGISTERED_CLASS_OPT macro
(see basic.cpp for an example); what remains is to convert all existing
classes to this new scheme...

Christian Bauer [Fri, 25 Jul 2003 20:05:09 +0000 (20:05 +0000)]
fixed compilation problem after the registered_class_options change

Christian Bauer [Tue, 22 Jul 2003 21:27:46 +0000 (21:27 +0000)]
- added registry for print_context classes (use print_context_class_info::dump_hierarchy()
to show the class hierarchy tree)
- the default output format is now handled by the print_dflt type, but
print_context remains the base class for the print context hierarchy
- you can override the default output format for functions on a per-function
basis by specifying one or multiple print_func<C>() (C is a print_context
type) function options (see inifcns.cpp/abs() for an example)
- better LaTeX and C source output for abs()

Christian Bauer [Mon, 21 Jul 2003 22:09:41 +0000 (22:09 +0000)]
- split registered_class_info into the actual per-class data and the
"infrastructure"
- use registered_class_info::dump_hierarchy() to display the class hierarchy
tree as seen by GiNaC

Christian Bauer [Mon, 21 Jul 2003 19:44:55 +0000 (19:44 +0000)]
hash value computation for indices takes index dimension into account

Christian Bauer [Mon, 21 Jul 2003 19:36:10 +0000 (19:36 +0000)]
removed unnecessary const_cast

Christian Bauer [Mon, 21 Jul 2003 19:15:59 +0000 (19:15 +0000)]
normal() uses an additional reverse lookup map

Christian Bauer [Mon, 21 Jul 2003 18:15:48 +0000 (18:15 +0000)]
generous use of subs_options::no_pattern

Christian Bauer [Mon, 21 Jul 2003 17:38:23 +0000 (17:38 +0000)]
subs_no_pattern -> no_pattern, subs_algebraic -> algebraic

Christian Bauer [Mon, 21 Jul 2003 17:34:54 +0000 (17:34 +0000)]
synced to 1.1

Christian Bauer [Mon, 21 Jul 2003 17:22:32 +0000 (17:22 +0000)]
subs_no_pattern -> no_pattern, subs_algebraic -> algebraic (but the old names
remain in for backwards compatibility)

Christian Bauer [Mon, 21 Jul 2003 17:21:23 +0000 (17:21 +0000)]
subs_no_pattern -> no_pattern, subs_algebraic -> algebraic

Christian Bauer [Thu, 17 Jul 2003 20:58:46 +0000 (20:58 +0000)]
fixes for gcc 3.4

Christian Bauer [Thu, 17 Jul 2003 20:58:38 +0000 (20:58 +0000)]
documentation update

Christian Bauer [Mon, 14 Jul 2003 20:19:44 +0000 (20:19 +0000)]
tinfo_key wasn't set correctly in certain constructors

Christian Bauer [Fri, 11 Jul 2003 20:19:42 +0000 (20:19 +0000)]
describe ex_is_less and ex_is_equal

Christian Bauer [Fri, 11 Jul 2003 19:28:43 +0000 (19:28 +0000)]
subs() and normal() use maps instead of lists, resulting in a huge performance
boost for subs()

Christian Bauer [Fri, 11 Jul 2003 19:24:32 +0000 (19:24 +0000)]
synced to 1.1

Christian Bauer [Fri, 11 Jul 2003 18:38:04 +0000 (18:38 +0000)]
runs with sizes 50,100,200,500 instead of 25,50,100,200 to get more meaningful
results on modern hardware

Christian Bauer [Thu, 10 Jul 2003 20:40:26 +0000 (20:40 +0000)]
tiny optimization in subs()

Christian Bauer [Fri, 4 Jul 2003 21:18:49 +0000 (21:18 +0000)]