ginac.git
16 years ago* Fixed bug in zeta(m,s).
Jens Vollinga [Tue, 18 Nov 2003 15:15:10 +0000 (15:15 +0000)]
* Fixed bug in zeta(m,s).
* Li({},{}) has improved sum-loop now.

16 years ago* Removed mZeta
Jens Vollinga [Mon, 17 Nov 2003 22:18:02 +0000 (22:18 +0000)]
* Removed mZeta
* Relaxed convergence check for multiple polylog
* Implemented alternating Euler sums as zeta(m,s)

16 years ago* zeta(n,x) is now zetaderiv(n,s)
Jens Vollinga [Mon, 17 Nov 2003 22:16:08 +0000 (22:16 +0000)]
* zeta(n,x) is now zetaderiv(n,s)

16 years ago* Indentation^WAligment fix. ;-)
Richard Kreckel [Sun, 9 Nov 2003 01:23:35 +0000 (01:23 +0000)]
* Indentation^WAligment fix.  ;-)

16 years agoAdded a document about the coding conventions used in GiNaC. Corrections,
Christian Bauer [Sat, 8 Nov 2003 22:03:22 +0000 (22:03 +0000)]
Added a document about the coding conventions used in GiNaC. Corrections,
additions, and suggestions are welcome.

16 years agoSynced changes to HEAD.
Jens Vollinga [Mon, 3 Nov 2003 21:04:29 +0000 (21:04 +0000)]
Synced changes to HEAD.

16 years agoSynced nested sums functions documentation to HEAD
Jens Vollinga [Mon, 3 Nov 2003 21:03:44 +0000 (21:03 +0000)]
Synced nested sums functions documentation to HEAD

16 years agodocumentation update
Christian Bauer [Mon, 3 Nov 2003 20:39:08 +0000 (20:39 +0000)]
documentation update

16 years agoadded a section on adding new output formats
Christian Bauer [Mon, 3 Nov 2003 18:21:51 +0000 (18:21 +0000)]
added a section on adding new output formats

16 years agolocation of C++ FAQ Lite has changed
Christian Bauer [Thu, 30 Oct 2003 22:17:29 +0000 (22:17 +0000)]
location of C++ FAQ Lite has changed

16 years agoadded an "options" parameter to simplify_indexed(), for future extensions
Christian Bauer [Mon, 20 Oct 2003 19:54:21 +0000 (19:54 +0000)]
added an "options" parameter to simplify_indexed(), for future extensions

16 years agoadded docs for new-style printing system
Christian Bauer [Fri, 17 Oct 2003 20:10:57 +0000 (20:10 +0000)]
added docs for new-style printing system

16 years agosynced to 1.1
Christian Bauer [Fri, 17 Oct 2003 00:29:59 +0000 (00:29 +0000)]
synced to 1.1

16 years ago* Dox fix.
Richard Kreckel [Tue, 14 Oct 2003 00:23:44 +0000 (00:23 +0000)]
* Dox fix.

16 years ago* Made use of new operator, when constructing test matrices.
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.

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

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

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

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

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

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

16 years ago* 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!

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

16 years agoadded insert(iterator, value_type)
Christian Bauer [Wed, 1 Oct 2003 17:42:54 +0000 (17:42 +0000)]
added insert(iterator, value_type)

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

16 years agoImplemented the Blitz++ trick to allow the initialization of lists and matrices
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.

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

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

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

16 years ago* ginsh_input(): Modern versions of flex want us to use the macro
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.
  (I'm not sure about the preprocessor conditional, but asking whether
  YY_CURRENT_BUFFER is defined appears to be the most natural strategy.)

16 years agoImproved the pre-/postorder iterators: They visit the root node and are now
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.

16 years agoadded a note about expressions in STL containers
Christian Bauer [Thu, 4 Sep 2003 18:31:09 +0000 (18:31 +0000)]
added a note about expressions in STL containers

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

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

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

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

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

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

16 years ago- added missing #include <stdexcept>
Christian Bauer [Tue, 2 Sep 2003 19:59:12 +0000 (19:59 +0000)]
- added missing #include <stdexcept>
- reduced the amount of inlining a little

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

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

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

16 years ago* Fix for lintian error "package-lacks-versioned-build-depends-on-debhelper 4".
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".

16 years ago* Oops, forgot to cvs add the two new files in last commit.
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.

16 years ago* Preliminar update over Debian's ginac_1.1.3-1.diff.gz.
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.

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

16 years ago- added some (empty) exception specifications (reduces code size a little)
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[])

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

16 years agosymbols can be made noncommutative (see symbol constructors); some feedback
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

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

16 years agogenerous use of auto_ptr to provide better exception safety and make the code
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?)

16 years agoprint_tree prints the object addresses
Christian Bauer [Mon, 25 Aug 2003 18:47:33 +0000 (18:47 +0000)]
print_tree prints the object addresses

16 years ago- documented numeric::to_int()/to_long()/to_double()/to_cl_N()
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()

16 years agosome functions that were restricted to symbols for arguments now accept
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

16 years agosome functions that took a "const symbol &" now take a "const ex &"
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 &"

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

16 years ago- implemented object fusion as proposed by Richy
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.

16 years ago- quo(), rem(), prem(), sprem() and decomp_rational() take a "const ex &"
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 *"

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

16 years ago- charpoly(): lambda is now a "const ex &" instead of a "const symbol &"
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)

16 years agofixed typo (flags -> fl) and made the set of flags cleared by the assignment
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

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

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

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

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

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

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

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

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

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

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

16 years agoadded ex::const_iterator, ex::begin(), ex::end()
Christian Bauer [Mon, 18 Aug 2003 20:29:52 +0000 (20:29 +0000)]
added ex::const_iterator, ex::begin(), ex::end()

16 years ago- string -> const char * (compiles about 100 times faster)
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

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

16 years ago* acinclude.m4 (GINAC_CHECK_ERRORS): exit with non-zero return value on error.
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.

16 years agoadded test for structure<> template
Christian Bauer [Thu, 14 Aug 2003 20:26:15 +0000 (20:26 +0000)]
added test for structure<> template

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

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

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

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

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

17 years agoprint methods can be replaced at run-time with set_print_func<>()
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<>()

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

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

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

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

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

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

17 years agoDEFAULT_PRINT macros generate 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

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

17 years ago- print_context::duplicate() wasn't virtual
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

17 years agoimplemented double dispatch for print(); methods are specified with
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...

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

17 years ago- added registry for print_context classes (use print_context_class_info::dump_hierar...
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()

17 years ago- split registered_class_info into the actual per-class data and the
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

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

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

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

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

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