ginac.git
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

16 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<>()

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

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

16 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

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

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

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

16 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

16 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

16 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

16 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...

16 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

16 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()

16 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

16 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

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

16 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

16 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

16 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

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

16 years agosubs_no_pattern -> no_pattern, subs_algebraic -> algebraic (but the old names
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)

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

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

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

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

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

17 years agosubs() and normal() use maps instead of lists, resulting in a huge performance
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()

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

17 years agoruns with sizes 50,100,200,500 instead of 25,50,100,200 to get more meaningful
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

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

17 years agoadded 'structure' to class list
Christian Bauer [Fri, 4 Jul 2003 21:18:49 +0000 (21:18 +0000)]
added 'structure' to class list

17 years ago- added structure template
Christian Bauer [Fri, 4 Jul 2003 21:16:17 +0000 (21:16 +0000)]
- added structure template
- Perl doesn't play any significant role any more

17 years agomerging 1.2 branch into main trunk
Christian Bauer [Wed, 2 Jul 2003 20:46:56 +0000 (20:46 +0000)]
merging 1.2 branch into main trunk

17 years agosynced to 1.1
Christian Bauer [Mon, 30 Jun 2003 22:04:27 +0000 (22:04 +0000)]
synced to 1.1

17 years agodocumentation update
Christian Bauer [Mon, 30 Jun 2003 22:04:23 +0000 (22:04 +0000)]
documentation update

17 years agosynced to 1.2
Christian Bauer [Mon, 30 Jun 2003 16:50:35 +0000 (16:50 +0000)]
synced to 1.2

17 years ago- updated docs
Christian Bauer [Tue, 6 May 2003 17:49:11 +0000 (17:49 +0000)]
- updated docs
- added online help and Tab-completion for print(), iprint(), print_latex()
  and print_csrc()

17 years agofunction(unsigned, const exprseq &) constructor clears status_flags::evaluated
Christian Bauer [Wed, 30 Apr 2003 19:48:29 +0000 (19:48 +0000)]
function(unsigned, const exprseq &) constructor clears status_flags::evaluated
[Chris Dams]

17 years agouse "rpmbuild" instead of "rpm"
Christian Bauer [Mon, 24 Mar 2003 17:18:47 +0000 (17:18 +0000)]
use "rpmbuild" instead of "rpm"

17 years agofixed typo
Christian Bauer [Thu, 20 Mar 2003 19:35:40 +0000 (19:35 +0000)]
fixed typo

17 years agoupdated the logic in the numeric(int) constructor
Christian Bauer [Wed, 5 Mar 2003 22:23:22 +0000 (22:23 +0000)]
updated the logic in the numeric(int) constructor

17 years ago*** empty log message ***
Christian Bauer [Tue, 4 Mar 2003 22:08:26 +0000 (22:08 +0000)]
*** empty log message ***

17 years agofixed some compiler warnings
Christian Bauer [Tue, 4 Mar 2003 22:08:22 +0000 (22:08 +0000)]
fixed some compiler warnings

17 years agofinalized 1.0.14 release_1-0-14
Christian Bauer [Sat, 1 Mar 2003 21:05:26 +0000 (21:05 +0000)]
finalized 1.0.14

17 years agounit_matrix() uses a heap-allocated matrix
Christian Bauer [Thu, 27 Feb 2003 21:08:19 +0000 (21:08 +0000)]
unit_matrix() uses a heap-allocated matrix

17 years agosynced to 1.0
Christian Bauer [Thu, 20 Feb 2003 22:42:31 +0000 (22:42 +0000)]
synced to 1.0

17 years agofunction_options::do_not_evalf_params() now actually works
Christian Bauer [Thu, 20 Feb 2003 21:19:31 +0000 (21:19 +0000)]
function_options::do_not_evalf_params() now actually works

17 years agodocumentation update
Christian Bauer [Thu, 20 Feb 2003 21:19:21 +0000 (21:19 +0000)]
documentation update