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

16 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

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

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

16 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

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

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

16 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

16 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

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

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

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

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

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

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

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

16 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

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

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

16 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

16 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

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

16 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

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

16 years agoexpanded the section on adding symbolic functions to GiNaC
Christian Bauer [Thu, 20 Feb 2003 21:14:58 +0000 (21:14 +0000)]
expanded the section on adding symbolic functions to GiNaC

16 years agoupdated the section about lists
Christian Bauer [Wed, 19 Feb 2003 23:30:01 +0000 (23:30 +0000)]
updated the section about lists

16 years agoadded a section about automatic evaluation
Christian Bauer [Wed, 19 Feb 2003 22:55:25 +0000 (22:55 +0000)]
added a section about automatic evaluation

16 years ago- exprseq and lst are commutative (they shouldn't appear in products anyway,
Christian Bauer [Wed, 19 Feb 2003 21:11:00 +0000 (21:11 +0000)]
- exprseq and lst are commutative (they shouldn't appear in products anyway,
  but this simplifies the use of lists as function arguments)
- function_options::set_return_type() now actually works

16 years agodocumentation update
Christian Bauer [Wed, 19 Feb 2003 21:10:06 +0000 (21:10 +0000)]
documentation update

16 years agogcc 2.95 doesn't have the <limits> header
Christian Bauer [Fri, 7 Feb 2003 22:49:11 +0000 (22:49 +0000)]
gcc 2.95 doesn't have the <limits> header

16 years agodimension in dirac gamma contractions was miscalculated
Christian Bauer [Wed, 5 Feb 2003 23:03:26 +0000 (23:03 +0000)]
dimension in dirac gamma contractions was miscalculated

16 years ago- complex numbers are printed correctly (using the STL complex<> template or
Christian Bauer [Wed, 5 Feb 2003 22:31:41 +0000 (22:31 +0000)]
- complex numbers are printed correctly (using the STL complex<> template or
  cln::complex())
- in the CLN output, rational numbers use cl_RA()
- small integers are printed in a more compact format (e.g. "2.0" instead of
  "2.0000000e+00").

16 years agodocumentation update
Christian Bauer [Wed, 5 Feb 2003 22:31:02 +0000 (22:31 +0000)]
documentation update

16 years agosynced to 1.1
Christian Bauer [Tue, 4 Feb 2003 19:20:18 +0000 (19:20 +0000)]
synced to 1.1

16 years agodummy index renamer ignores index dimensions
Christian Bauer [Tue, 4 Feb 2003 19:12:03 +0000 (19:12 +0000)]
dummy index renamer ignores index dimensions

16 years agofinalized 1.0.13 release_1-0-13
Christian Bauer [Mon, 27 Jan 2003 20:34:26 +0000 (20:34 +0000)]
finalized 1.0.13

16 years agosynced to 1.0
Christian Bauer [Sat, 25 Jan 2003 00:33:55 +0000 (00:33 +0000)]
synced to 1.0

16 years agoeven better dummy index symmetrization
Christian Bauer [Thu, 23 Jan 2003 19:01:33 +0000 (19:01 +0000)]
even better dummy index symmetrization

16 years agotwo arrays were declared "static" that shouldn't have been; this could cause
Christian Bauer [Thu, 23 Jan 2003 18:44:15 +0000 (18:44 +0000)]
two arrays were declared "static" that shouldn't have been; this could cause
checks M1 and M2 to fail

16 years agosynced to 1.1
Christian Bauer [Wed, 22 Jan 2003 20:07:30 +0000 (20:07 +0000)]
synced to 1.1

16 years agoadded missing minimal_dim() from 1.1 branch
Christian Bauer [Tue, 21 Jan 2003 23:06:28 +0000 (23:06 +0000)]
added missing minimal_dim() from 1.1 branch

16 years ago- prepared for 1.0.13 release
Christian Bauer [Tue, 21 Jan 2003 22:50:19 +0000 (22:50 +0000)]
- prepared for 1.0.13 release
- synced to 1.1

16 years agoprepared for 1.0.13 release
Christian Bauer [Tue, 21 Jan 2003 22:49:57 +0000 (22:49 +0000)]
prepared for 1.0.13 release

16 years agofixed description of find() behavior
Christian Bauer [Mon, 6 Jan 2003 18:59:24 +0000 (18:59 +0000)]
fixed description of find() behavior

17 years agofixed some typos
Christian Bauer [Tue, 3 Dec 2002 22:00:50 +0000 (22:00 +0000)]
fixed some typos