/[GiNaC]/ginac/power.cpp
ViewVC logotype

Log of /ginac/power.cpp

Parent Directory Parent Directory | Revision Log Revision Log


Links to HEAD: (view) (annotate)
Links to release_1-0-10: (view) (annotate)
Sticky Tag:

Revision 1.78 - (view) (annotate) - [select for diffs]
Wed Jul 3 14:20:00 2002 UTC (10 years, 10 months ago) by cbauer
Branch: MAIN
CVS Tags: release_1-0-10, release_1-0-11
Changes since 1.77: +11 -22 lines
Diff to previous 1.77
powers of indexed objects are now parenthesized correctly in LaTeX output


Revision 1.77 - (view) (annotate) - [select for diffs]
Wed Mar 27 20:41:42 2002 UTC (11 years, 1 month ago) by kreckel
Branch: MAIN
CVS Tags: release_1-0-8, release_1-0-9
Changes since 1.76: +35 -32 lines
Diff to previous 1.76
* power::expand_add(): allocate the precise amount needed for representing
  the result.  And some minor readability cleanups...


Revision 1.76 - (view) (annotate) - [select for diffs]
Fri Jan 25 15:33:07 2002 UTC (11 years, 3 months ago) by cbauer
Branch: MAIN
CVS Tags: release_1-0-6, release_1-0-7
Changes since 1.75: +9 -3 lines
Diff to previous 1.75
- (l)degree(s), coeff(s, n) and collect(s) were extended to accept expressions
  of any class (except add/mul/ncmul/numeric) for "s". They should even work
  if "s" is a "power" object, as long as the exponent is non-integer, but with
  some limitations. For example, you can "collect(a*2^x+b*2^x, 2^x)" to get
  "(a+b)*2^x", but "degree(2^(3*x), 2^x)" yields 0 instead of 3).


Revision 1.75 - (view) (annotate) - [select for diffs]
Thu Jan 24 22:28:20 2002 UTC (11 years, 3 months ago) by kreckel
Branch: MAIN
CVS Tags: release_1-0-4
Changes since 1.74: +1 -1 lines
Diff to previous 1.74
* Finilize version 1.0.4 (version numbers, copyrights and such rubbish).


Revision 1.74 - (view) (annotate) - [select for diffs]
Fri Dec 21 17:32:23 2001 UTC (11 years, 5 months ago) by kreckel
Branch: MAIN
CVS Tags: release_1-0-3
Branch point for: ginac_1-1
Changes since 1.73: +1 -1 lines
Diff to previous 1.73
* Fix thinkos in print_csrc context.
  (Cebix: read the implementations of ex::compare() and basic::compare()!!!)


Revision 1.73 - (view) (annotate) - [select for diffs]
Wed Dec 19 16:16:17 2001 UTC (11 years, 5 months ago) by kreckel
Branch: MAIN
CVS Tags: release_1-0-2
Changes since 1.72: +12 -1 lines
Diff to previous 1.72
* Added output-support for Python bindings and LaTeX printing for
  indexed objects (Pearu Peterson).
* relational.*: Removed superfluous is_equal_same_type()...
* inifcns_trans.cpp: ...added extern declaration as workaround for
  compiler-bug triggered by changes to relational.*,
* input_parser.yy: added missing namespace specification.


Revision 1.72 - (view) (annotate) - [select for diffs]
Tue Dec 18 15:48:09 2001 UTC (11 years, 5 months ago) by cbauer
Branch: MAIN
Changes since 1.71: +8 -4 lines
Diff to previous 1.71
- input parser recognizes "sqrt()", which is also used in the output
- divide(a,b,q) only modifies q if the division succeeds; also, divide(a,b,a)
  works now
- fixed small bug in dummy index renaming which could cause it to not
  recognize renamable indices in some cases
- power::degree() and power::ldegree() throw an exception when encountering
  a non-integer exponent


Revision 1.71 - (view) (annotate) - [select for diffs]
Fri Oct 26 15:08:24 2001 UTC (11 years, 6 months ago) by kreckel
Branch: MAIN
CVS Tags: release_1-0-0, release_1-0-1
Changes since 1.70: +3 -14 lines
Diff to previous 1.70
* As agreed upon at lunch, remove debugmsg since it is hardly of any use.


Revision 1.70 - (view) (annotate) - [select for diffs]
Mon Oct 22 13:59:51 2001 UTC (11 years, 7 months ago) by kreckel
Branch: MAIN
Changes since 1.69: +33 -40 lines
Diff to previous 1.69
* Some internal reorganization WRT flyweight handling and initialization,
  resulting in a general speed-up.
  Wherever thou hast written _ex7() thou shalt write _ex7 from now on.


Revision 1.69 - (view) (annotate) - [select for diffs]
Wed Aug 22 16:11:51 2001 UTC (11 years, 9 months ago) by kreckel
Branch: MAIN
CVS Tags: release_0-9-4
Changes since 1.68: +19 -19 lines
Diff to previous 1.68
- Cleanups: My evil plot of making ex::bp private may finally be carried
  out, provided one changes all the is_of_type(obj,type) to is_a<type>(obj)
  which we don't do right now because it would degrade performance on
  gcc-2.95.x.  Also, ex_to_type(obj) has gone for good now, we have been
  having ex_to<type>(obj) long enough.  ex_to_nonconst_type(obj) have gone
  as well, since they are almost never used and one can always cast aways
  the constness explicitly if need should arise.


Revision 1.68 - (view) (annotate) - [select for diffs]
Mon Aug 20 18:00:45 2001 UTC (11 years, 9 months ago) by kreckel
Branch: MAIN
Changes since 1.67: +1 -1 lines
Diff to previous 1.67
- carried on with felonious plot about making ex::bp private.


Revision 1.67 - (view) (annotate) - [select for diffs]
Mon Aug 20 15:42:26 2001 UTC (11 years, 9 months ago) by kreckel
Branch: MAIN
Changes since 1.66: +1 -1 lines
Diff to previous 1.66
- Fix the evalf(2^Pi) bug reported by Pearu.


Revision 1.66 - (view) (annotate) - [select for diffs]
Sat Aug 18 17:46:14 2001 UTC (11 years, 9 months ago) by kreckel
Branch: MAIN
Changes since 1.65: +7 -7 lines
Diff to previous 1.65
- carried on with felonious plot about making ex::bp private.


Revision 1.65 - (view) (annotate) - [select for diffs]
Tue Jul 31 16:31:19 2001 UTC (11 years, 9 months ago) by cbauer
Branch: MAIN
CVS Tags: release_0-9-2, release_0-9-3
Changes since 1.64: +8 -14 lines
Diff to previous 1.64
fixed potential crash in power:(l)degree() when used with non-integer
exponents


Revision 1.64 - (view) (annotate) - [select for diffs]
Sat Jul 28 14:50:28 2001 UTC (11 years, 9 months ago) by kreckel
Branch: MAIN
Changes since 1.63: +20 -16 lines
Diff to previous 1.63
- Move several comments into doxygen comment blocks.


Revision 1.63 - (view) (annotate) - [select for diffs]
Thu Jul 26 23:58:21 2001 UTC (11 years, 9 months ago) by kreckel
Branch: MAIN
Changes since 1.62: +52 -32 lines
Diff to previous 1.62
- power::eval(): for the case (b_n/b_d)^(e_n/e_d) we now check separately
  if we can compute numerator and denominator.  This allows us to eval
  (3/8)^(1/3) to 1/2*3^(1/3) instead of holding it.  For square roots this
  is still less clever than what MapleV does, but then again that system
  has the funny goof not to touch 8^(1/3) where we immediately eval() to
  plain 2; fun, fun, fun...
  Oh, and a little memory hole has been squished along the way, too.


Revision 1.62 - (view) (annotate) - [select for diffs]
Tue Jun 26 20:32:05 2001 UTC (11 years, 10 months ago) by cbauer
Branch: MAIN
CVS Tags: release_0-9-1
Changes since 1.61: +1 -1 lines
Diff to previous 1.61
- replaced the Derivative() function by a more resonable fderivative class;
  to see it in action, try "series(abs(x),x==0,3)" and "series(abs(x),x==y,3)"
  in ginsh with previous GiNaC releases and with this one
- add::eval() throws an exception when the first term is non-commutative and
  the overall_coeff is non-zero
- small fixes to print_tree output of indexed objects
- ncmul::expand() now actually does expand something like "(dirac_gamma(mu)+1)
  *dirac_gamma(nu)" correctly (but the change to add::eval() should make this
  a "can't happen" case)
- moved ToString() to tostring.h (fewer header dependencies)
- ALL YOUR "BASES CLASSES" ARE BELONG TO US


Revision 1.61 - (view) (annotate) - [select for diffs]
Tue Jun 26 17:19:38 2001 UTC (11 years, 10 months ago) by kreckel
Branch: MAIN
Changes since 1.60: +11 -44 lines
Diff to previous 1.60
* Ctors of class numeric are not explicit any more.  All built-in callers for
  pseudofunctions are now templated and default to ex arguments which relaxes
  the need for explicit ctors.


Revision 1.60 - (view) (annotate) - [select for diffs]
Sun Jun 24 20:18:10 2001 UTC (11 years, 11 months ago) by kreckel
Branch: MAIN
Changes since 1.59: +2 -2 lines
Diff to previous 1.59
some cleanups


Revision 1.59 - (view) (annotate) - [select for diffs]
Sat Jun 23 12:52:05 2001 UTC (11 years, 11 months ago) by cbauer
Branch: MAIN
Changes since 1.58: +3 -3 lines
Diff to previous 1.58
- added find() (like has(), but returns list of all occurrences)
- added lst::sort() and lst::unique()
- status_flags::expanded is only taken into account when no expand options
  are specified. This makes it possible to re-expand with other options.
- added expand_options::expand_function_args
- collect(foo, {}) doesn't crash any more
- introduced match_same_type() method which is slightly similar to
  is_equal_same_type() but doesn't check subexpressions. Fixed a number of
  match() bugs with this (e.g. a==b matched a!=b, and matrices with different
  dimensions but the same number of elements could match). Only container
  classes with additional member variables that have to be equal for a match
  need to implement match_same_type().


Revision 1.58 - (view) (annotate) - [select for diffs]
Thu Jun 21 21:03:29 2001 UTC (11 years, 11 months ago) by cbauer
Branch: MAIN
Changes since 1.57: +4 -2 lines
Diff to previous 1.57
some cleanups


Revision 1.57 - (view) (annotate) - [select for diffs]
Thu Jun 21 15:32:58 2001 UTC (11 years, 11 months ago) by cbauer
Branch: MAIN
Changes since 1.56: +5 -6 lines
Diff to previous 1.56
removed a lot of superfluous const_cast<>()s


Revision 1.56 - (view) (annotate) - [select for diffs]
Tue Jun 19 17:33:08 2001 UTC (11 years, 11 months ago) by kreckel
Branch: MAIN
Changes since 1.55: +3 -3 lines
Diff to previous 1.55
* Fix a bitch of a bug where 1<I (and all other relationals) returned true.
  This did not happen for the binary relational operators between numerics.
  Now the behaviour is more consistent (throwing exceptions when the difference
  becomes complex).
* Some regression tests were actually wrong in the light of this bug.  :-(


Revision 1.55 - (view) (annotate) - [select for diffs]
Sat Jun 16 14:38:09 2001 UTC (11 years, 11 months ago) by kreckel
Branch: MAIN
Changes since 1.54: +50 -50 lines
Diff to previous 1.54
* Supplement some (now deprecated) macros by inlined template functions:
  - ex_to_foobar(baz)  ->  ex_to<foobar>(baz).


Revision 1.54 - (view) (annotate) - [select for diffs]
Fri Jun 15 15:20:55 2001 UTC (11 years, 11 months ago) by kreckel
Branch: MAIN
Changes since 1.53: +13 -12 lines
Diff to previous 1.53
* Supplement some (now deprecated) macros by inlined template functions:
  - is_of_type(foo, type) -> is_a<type>(foo)
  - is_ex_of_type(foo, type) -> is_a<type>(foo)
  - is_exaclty_of_type(foo, type) -> is_exaclty_a<type>(foo)
  - is_ex_exaclty_of_type(foo, type) -> is_exaclty_a<type>(foo)


Revision 1.53 - (view) (annotate) - [select for diffs]
Mon Jun 11 19:48:44 2001 UTC (11 years, 11 months ago) by cbauer
Branch: MAIN
Changes since 1.52: +2 -2 lines
Diff to previous 1.52
- Instead of just totally symmetric or antisymmetric, complex symmetries
  can now be defined for indexed objects. Symmetries are described by a
  tree of "symmetry" objects that is constructed with the sy_none(),
  sy_symm(), sy_anti() and sy_cycl() functions. The symmetry of a function
  with respect to its arguments can also be defined (this is currently
  only used for the Beta function).
- color_trace() and dirac_trace() can be applied to a more general class
  of expressions, e.g. using it on a relation will take the trace on both
  sides etc.
- Generalized map() to take a function object instead of a function pointer.
  This allows passing an arbitrary number of additional state to the
  function being called.
- The unarchiving functinos find_bool(), find_unsigned() and find_string()
  can take an additional "index" argument.


Revision 1.52 - (view) (annotate) - [select for diffs]
Tue Jun 5 09:55:06 2001 UTC (11 years, 11 months ago) by kreckel
Branch: MAIN
CVS Tags: release_0-9-0
Changes since 1.51: +17 -2 lines
Diff to previous 1.51
- ++version_major.
- added matrix::pow() to handle integer exponents with the least amount of
  multiplications possible and...
- ...added power::evalm() to actually use it.
- classhierarchy.fig: add class wildcard.
- some cleanups.


Revision 1.51 - (view) (annotate) - [select for diffs]
Fri Jun 1 18:50:01 2001 UTC (11 years, 11 months ago) by cbauer
Branch: MAIN
Changes since 1.50: +83 -72 lines
Diff to previous 1.50
- in the output, list delimiters are now { } and matrix delimiters are [ ]
- added evalm() method for evaluating sums and products of matrices
- added map() method for applying a function to subexpressions
- power(noncommut, posint) automatically expands the product, removed ncpow()


Revision 1.50 - (view) (annotate) - [select for diffs]
Fri May 25 18:32:48 2001 UTC (12 years ago) by cbauer
Branch: MAIN
Changes since 1.49: +0 -25 lines
Diff to previous 1.49
- renamed ncpower() to ncpow()
- canonicalize_clifford() uses to_rational() now
- minor cleanups


Revision 1.49 - (view) (annotate) - [select for diffs]
Thu May 24 15:07:47 2001 UTC (12 years ago) by kreckel
Branch: MAIN
Changes since 1.48: +13 -9 lines
Diff to previous 1.48
- fix LaTeX-output bug reported by Stefan, remove obsolete has(matrix,ex).


Revision 1.48 - (view) (annotate) - [select for diffs]
Wed May 23 20:43:20 2001 UTC (12 years ago) by cbauer
Branch: MAIN
Changes since 1.47: +8 -9 lines
Diff to previous 1.47
- first implementation of pattern matching


Revision 1.47 - (view) (annotate) - [select for diffs]
Sat May 19 17:37:45 2001 UTC (12 years ago) by cbauer
Branch: MAIN
Changes since 1.46: +4 -12 lines
Diff to previous 1.46
replaced "precedence" static member variable by virtual precedence() function


Revision 1.46 - (view) (annotate) - [select for diffs]
Fri May 18 20:42:07 2001 UTC (12 years ago) by cbauer
Branch: MAIN
Changes since 1.45: +1 -3 lines
Diff to previous 1.45
- dummy index renamer didn't account for internal dummy indices of objects
  in products; a~mu.mu-a~nu.nu gets simplified to 0 now
- made a little more use of STL facilities for exvectors, especially in the
  indexed stuff; append_exvector_to_exvector() and index_set_difference() are
  gone and utils.h defines the functors ex_is_less and ex_is_equal


Revision 1.45 - (view) (annotate) - [select for diffs]
Mon May 7 16:41:41 2001 UTC (12 years ago) by kreckel
Branch: MAIN
CVS Tags: release_0-8-3
Changes since 1.44: +2 -0 lines
Diff to previous 1.44
* Methods of class ex which do absolutely nothing than type dispatch should
  be inlined for obvious reasons.


Revision 1.44 - (view) (annotate) - [select for diffs]
Sat Apr 14 20:28:18 2001 UTC (12 years, 1 month ago) by kreckel
Branch: MAIN
CVS Tags: release_0-8-1, release_0-8-2
Changes since 1.43: +20 -6 lines
Diff to previous 1.43
* basic::collec() never worked correctly on non-polynomials till now.
  We simply correct for the missing terms, which makes it at least
  algebraically correct (suggested by Pearu Peterson).
* Added support to print out LaTeX-style, based on some work by Stefan
  Weinzierl:
  - print.h: added a class print_latex().
  - function.pl: added function_options::latex_name() because there was
    no good way of setting that name before.
  - inifncs*.cpp: use it.
  - *.cpp: switch to see if print_context is actually print_latex and
    then change the style.
* Fixed some stupid bugs in sections that were #define'd away for gcc-2.95.


Revision 1.43 - (view) (annotate) - [select for diffs]
Fri Apr 6 19:03:01 2001 UTC (12 years, 1 month ago) by cbauer
Branch: MAIN
Changes since 1.42: +71 -84 lines
Diff to previous 1.42
- replaced the various print*() member functions by a single print() that
  takes a print_context object that determines the output formatting; this
  should make it easier to add more output types
- print_tree output of indexed objects looks better


Revision 1.42 - (view) (annotate) - [select for diffs]
Thu Apr 5 17:02:27 2001 UTC (12 years, 1 month ago) by cbauer
Branch: MAIN
Changes since 1.41: +1 -1 lines
Diff to previous 1.41
subs() performs "syntactic substitution" as in Maple; you can substitute
any object by any other object (even numerics) but only when the object
subs() is called on exactly matches an object on the left-hand side of the
substitution list; expairseq still doesn't substitute its numeric coefficients
so substituting numerics will not replace them in all occurences (this
shouldn't matter, though)


Revision 1.41 - (view) (annotate) - [select for diffs]
Mon Apr 2 16:57:39 2001 UTC (12 years, 1 month ago) by cbauer
Branch: MAIN
Changes since 1.40: +6 -6 lines
Diff to previous 1.40
degree(), ldegree(), coeff(), lcoeff(), tcoeff() and collect() can now
be used with constants and indexed expressions as well, so you can use
it to collect by powers of Pi or find the coefficient of gamma~0.
Limitations:
 - it only works with symbols, constants and indexed expressions;
   trying to find the coefficient of, e.g., "x^2" or "x+y" won't work
 - it does not know about dummy index summations; the coefficient of
   gamma~0 in p.mu*gamma~mu should be p.0 but is returned as 0
 - using the functions on elements of noncommutative products might
   return wrong or surprising results


Revision 1.40 - (view) (annotate) - [select for diffs]
Tue Mar 27 20:39:28 2001 UTC (12 years, 1 month ago) by cbauer
Branch: MAIN
Changes since 1.39: +3 -18 lines
Diff to previous 1.39
- added skeleton implementation of color and clifford classes (don't bother
  trying it, it doesn't work yet)
- some macros in utils.h (DEFAULT_*) provide shorthands for implementing
  many required class member functions


Revision 1.39 - (view) (annotate) - [select for diffs]
Tue Mar 6 17:07:18 2001 UTC (12 years, 2 months ago) by cbauer
Branch: MAIN
CVS Tags: release_0-8-0
Changes since 1.38: +3 -3 lines
Diff to previous 1.38
- revamped indexed objects
- subs() works on matrices


Revision 1.38 - (view) (annotate) - [select for diffs]
Wed Feb 28 12:54:53 2001 UTC (12 years, 2 months ago) by kreckel
Branch: MAIN
CVS Tags: release_0-7-3
Changes since 1.37: +67 -76 lines
Diff to previous 1.37
* ginac/registrar.h: dtor is inlined now.
* ginac/basic.h, ginac/ex.h: removed INLINE_FOO_CONSTRUCTORS and hand-inlined
  stuff instead, since the macros turned out to get in the way while
  fine-tuning the inlining.
* ginac/utils.h: if 'long long' works, use that one for computing the hash
  value instead of floating point tricks.  2 Reasons: on Intel the assembler
  is terrible and slow otherwise, 'long long' will appear in C++ anyways when
  they adapt to the C99 standard.
* Several other small performance tweaks.
* ginac/constant.cpp: (constant::calchash()) implement, caring for serial.
* ginac/function.pl (function::calchash()): implement, caring for serial.
* ginac/expairseq.cpp: honor coeff's hash value.
* ginac/pseries.cpp: (pseries::power_const()) fix problems with zero pseries.
* Added several pounds of in-source documentation in doxygen style.


Revision 1.37 - (view) (annotate) - [select for diffs]
Fri Feb 16 17:25:50 2001 UTC (12 years, 3 months ago) by cbauer
Branch: MAIN
CVS Tags: release_0-7-2
Changes since 1.36: +0 -6 lines
Diff to previous 1.36
GINAC_DECLARE_REGISTERED_CLASS declares duplicate() and compare_same_type(),
GINAC_IMPLEMENT_REGISTERED_CLASS implements duplicate()


Revision 1.36 - (view) (annotate) - [select for diffs]
Thu Feb 15 19:54:55 2001 UTC (12 years, 3 months ago) by cbauer
Branch: MAIN
Changes since 1.35: +0 -22 lines
Diff to previous 1.35
the destructor, copy constructor, and assignment operator (which were the
same for all subclasses of basic, with very few exceptions) are now included
in the GINAC_IMPLEMENT_REGISTERED_CLASS macro; the GINAC_DECLARE_REGISTERED_CLASS
macro also defines these (and other common) member functions


Revision 1.35 - (view) (annotate) - [select for diffs]
Wed Feb 14 16:04:21 2001 UTC (12 years, 3 months ago) by cbauer
Branch: MAIN
Changes since 1.34: +0 -7 lines
Diff to previous 1.34
removed the "some_*" and "typeid_*" definitions since we are using our own
RTTI for quite some time now


Revision 1.34 - (view) (annotate) - [select for diffs]
Mon Jan 29 18:46:01 2001 UTC (12 years, 3 months ago) by cbauer
Branch: MAIN
CVS Tags: release_0-7-1
Changes since 1.33: +39 -8 lines
Diff to previous 1.33
expand() always expands the exponent and transforms x^(a+b) -> x^a*x^b


Revision 1.33 - (view) (annotate) - [select for diffs]
Mon Jan 22 15:12:10 2001 UTC (12 years, 4 months ago) by kreckel
Branch: MAIN
Changes since 1.32: +1 -1 lines
Diff to previous 1.32
- See if __GNUC__ < 2.97 before using std::vector<..,malloc_alloc>.  Sorry,
  there is no way having this depend on whether we are setting up Cint or
  not because the malloc_alloc goes into the mangled signature and the
  result won't link if one tries to be more clever.  It really sucks.
  Let's all just pray Masaharu throws away that old STL implementation
  really soon now.  (Jeez, he still calls this old junk 'reference'!)
- Bumped up a few dates.  :-)


Revision 1.32 - (view) (annotate) - [select for diffs]
Tue Jan 2 14:46:07 2001 UTC (12 years, 4 months ago) by kreckel
Branch: MAIN
Changes since 1.31: +2 -2 lines
Diff to previous 1.31
- power::derivative(): slight optimization.


Revision 1.31 - (view) (annotate) - [select for diffs]
Wed Oct 25 14:33:37 2000 UTC (12 years, 6 months ago) by cbauer
Branch: MAIN
CVS Tags: release_0-7-0
Changes since 1.30: +29 -13 lines
Diff to previous 1.30
- non-integer powers are treated as 0 by (l)degree() and coeff()


Revision 1.30 - (view) (annotate) - [select for diffs]
Mon Aug 14 12:21:08 2000 UTC (12 years, 9 months ago) by kreckel
Branch: MAIN
Changes since 1.29: +1 -1 lines
Diff to previous 1.29
- Inserted some more std:: to make it compile under GCC2.96.


Revision 1.29 - (view) (annotate) - [select for diffs]
Fri Aug 11 17:39:37 2000 UTC (12 years, 9 months ago) by cbauer
Branch: MAIN
Changes since 1.28: +44 -55 lines
Diff to previous 1.28
- more indentation fixes


Revision 1.28 - (view) (annotate) - [select for diffs]
Fri Aug 11 15:07:17 2000 UTC (12 years, 9 months ago) by cbauer
Branch: MAIN
Changes since 1.27: +588 -588 lines
Diff to previous 1.27
- indentation is now done with tabs
- printtree() prints the class names as known to the registrar, not the
  (mangled) class names from typeid().name()


Revision 1.27 - (view) (annotate) - [select for diffs]
Thu Aug 10 13:14:51 2000 UTC (12 years, 9 months ago) by kreckel
Branch: MAIN
CVS Tags: release_0-6-4
Changes since 1.26: +1 -2 lines
Diff to previous 1.26
- Complete revamp of methods in class matrix.  Some redundant (and poor)
  implementations of elimination schemes were thrown out.  The code is now
  highly orthogonal, more flexible and much more efficient.  The function
  lsolve() now falls back to matrix::solve(), which in turn calls different
  elimination strategies.  matrix::fraction_free_elim() was thrown out for
  good.  matrix::pivot() has now two integer arguments (ro and co) to allow
  pivoting when eliminating to echelon form.
- Some new checks to guard against regressions in the new matrix code.
- Some minor bug-fixes in documentation.
- Bumped up version from 0.6.3 to 0.6.4.
- ...and the usual changes triggered by other changes.


Revision 1.26 - (view) (annotate) - [select for diffs]
Thu Jul 20 21:12:42 2000 UTC (12 years, 10 months ago) by kreckel
Branch: MAIN
CVS Tags: release_0-6-3
Changes since 1.25: +19 -13 lines
Diff to previous 1.25
- Derivatives are now assembled in a slightly different manner (i.e. they
  'look' different on first sight).  Under certain circumstances this can
  result in a dramatic speedup because it gives hashing a better chance,
  especially when computing higher derivatives.
- Series expansion accepts an additional bool argument now, telling it
  whether branch cuts are to be honored (as Maple does it) or not (as
  Mathematica does it).  It defaults to true (i.e. the Maple way).
- Many series expansions of built-in functions have been reengineered.
- The Dilogarithm (Li2) now has floating point evaluation, derivative and a
  proper series expansion.
- Namespace 'std' cleanly disentangled, as demanded by ISO/EIC 14882-1998(E).
- Some helpers updated from upstream.


Revision 1.25 - (view) (annotate) - [select for diffs]
Fri Apr 28 22:15:55 2000 UTC (13 years ago) by kreckel
Branch: MAIN
CVS Tags: release_0-6-0, release_0-6-1, release_0-6-2
Changes since 1.24: +13 -10 lines
Diff to previous 1.24
- introduced info_flag::algebraic.
- matrix::fraction_free_elimination(bool) finished and used by matrix::determinant().
- introduced some comments.


Revision 1.24 - (view) (annotate) - [select for diffs]
Wed Mar 29 18:22:14 2000 UTC (13 years, 1 month ago) by frink
Branch: MAIN
Changes since 1.23: +8 -2 lines
Diff to previous 1.23
bug fixed in an incomplete assertion in power.cpp


Revision 1.23 - (view) (annotate) - [select for diffs]
Tue Mar 21 14:07:22 2000 UTC (13 years, 2 months ago) by kreckel
Branch: MAIN
Changes since 1.22: +18 -21 lines
Diff to previous 1.22
- 0^a -> 0^a instead of 0.


Revision 1.22 - (view) (annotate) - [select for diffs]
Wed Mar 15 19:28:41 2000 UTC (13 years, 2 months ago) by kreckel
Branch: MAIN
CVS Tags: release_0-5-4
Changes since 1.21: +9 -4 lines
Diff to previous 1.21
- According to CLTL 0^I is undefined, 0^(I+epsilon) is 0 and 0^(I-epsilon)
  is an overflow.  Now, this should be honored.


Revision 1.21 - (view) (annotate) - [select for diffs]
Wed Mar 15 18:22:42 2000 UTC (13 years, 2 months ago) by kreckel
Branch: MAIN
Changes since 1.20: +32 -27 lines
Diff to previous 1.20
- The status_flags::expanded is now used on some occasions.


Revision 1.20 - (view) (annotate) - [select for diffs]
Tue Mar 14 16:39:25 2000 UTC (13 years, 2 months ago) by kreckel
Branch: MAIN
Changes since 1.19: +9 -9 lines
Diff to previous 1.19
- Doxygen'ed a bunch of comments.


Revision 1.19 - (view) (annotate) - [select for diffs]
Mon Mar 13 14:15:06 2000 UTC (13 years, 2 months ago) by kreckel
Branch: MAIN
Changes since 1.18: +12 -13 lines
Diff to previous 1.18
- More drastic performance boost on matrix stuff.
- Addition of some comments.


Revision 1.18 - (view) (annotate) - [select for diffs]
Thu Mar 2 20:51:33 2000 UTC (13 years, 2 months ago) by kreckel
Branch: MAIN
Changes since 1.17: +7 -4 lines
Diff to previous 1.17
- Changed behaviour of .evalf() to not evalf any exponents.


Revision 1.17 - (view) (annotate) - [select for diffs]
Mon Feb 14 14:01:55 2000 UTC (13 years, 3 months ago) by kreckel
Branch: MAIN
CVS Tags: relase_0-5-1, release_0-5-2, release_0-5-3
Changes since 1.16: +0 -1 lines
Diff to previous 1.16
- cosmetic fix


Revision 1.16 - (view) (annotate) - [select for diffs]
Sun Feb 13 19:14:49 2000 UTC (13 years, 3 months ago) by kreckel
Branch: MAIN
Changes since 1.15: +18 -24 lines
Diff to previous 1.15
- bugfix: 2^(3/2) does not throw any more.  This was now secured in...
- ...a new function paranoia_check10.


Revision 1.15 - (view) (annotate) - [select for diffs]
Wed Feb 2 15:50:11 2000 UTC (13 years, 3 months ago) by kreckel
Branch: MAIN
CVS Tags: relase_0-5-0
Changes since 1.14: +20 -1 lines
Diff to previous 1.14
- 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().


Revision 1.14 - (view) (annotate) - [select for diffs]
Sun Jan 30 20:53:23 2000 UTC (13 years, 3 months ago) by kreckel
Branch: MAIN
Changes since 1.13: +4 -4 lines
Diff to previous 1.13
- 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.


Revision 1.13 - (view) (annotate) - [select for diffs]
Fri Jan 21 15:20:31 2000 UTC (13 years, 4 months ago) by cbauer
Branch: MAIN
Changes since 1.12: +39 -39 lines
Diff to previous 1.12
- changed all instances of "foo const &/*" to "const foo &/*"
- changed function arguments like "int const" to a simple "int"


Revision 1.12 - (view) (annotate) - [select for diffs]
Wed Jan 19 19:46:57 2000 UTC (13 years, 4 months ago) by cbauer
Branch: MAIN
Changes since 1.11: +33 -4 lines
Diff to previous 1.11
- implemented global class registry (for class basic and derived classes)
- implemented archiving of expressions (except for class idx, and all classes
  derived from idx and indexed)
- added series() wrapper function
- class series renamed to pseries to avoid name clashes with global series()
  wrapper function, ex::series(), and basic::series()
- corrected the series expansion of single symbols with respect to the order
  term
- calling subs() on a series didn't work


Revision 1.11 - (view) (annotate) - [select for diffs]
Tue Jan 11 19:25:06 2000 UTC (13 years, 4 months ago) by kreckel
Branch: MAIN
Changes since 1.10: +2 -2 lines
Diff to previous 1.10
- made nops() return unsigned instead of int
- changed dates in copyright notices


Revision 1.10 - (view) (annotate) - [select for diffs]
Mon Dec 20 17:12:36 1999 UTC (13 years, 5 months ago) by kreckel
Branch: MAIN
Changes since 1.9: +9 -5 lines
Diff to previous 1.9
- more logic on the trigonometric function stuff.
- changed several occurences of numeric const & to const numeric &, which
  is the same, but doxygen kept being confused because declarations
  differed from implementations.


Revision 1.9 - (view) (annotate) - [select for diffs]
Fri Dec 17 16:58:32 1999 UTC (13 years, 5 months ago) by kreckel
Branch: MAIN
Changes since 1.8: +41 -68 lines
Diff to previous 1.8
- Banned exZERO(), exONE(), exMINUSHALF() and all this from the interface.
  There is now _ex1() meaning 1, _ex_1() meaning -1, _ex1_2() meaning 1/2
  and so on defined in utils.h and implemented in utils.cpp.  Feel free
  to extend them as it pleases you but use them inside the library only.
- Added more evaluations of trigonometric functions
- Added series expansions for psi(x) and psi(n,x) at all their poles


Revision 1.8 - (view) (annotate) - [select for diffs]
Mon Dec 13 15:43:34 1999 UTC (13 years, 5 months ago) by kreckel
Branch: MAIN
Changes since 1.7: +107 -6 lines
Diff to previous 1.7
- introduced info_flags::cinteger, info_flags::crational,
  info_flags::cinteger_polynomial, info_flags::crational_polynomial with
  intuitive behaviour.
- extended documentation
- made things like evlaf(zeta(3)) work
- killed several bugs


Revision 1.7 - (view) (annotate) - [select for diffs]
Thu Dec 2 15:45:15 1999 UTC (13 years, 5 months ago) by frink
Branch: MAIN
Changes since 1.6: +4 -0 lines
Diff to previous 1.6
#ifndef around namespace GiNaC { }


Revision 1.6 - (view) (annotate) - [select for diffs]
Mon Nov 22 16:45:02 1999 UTC (13 years, 6 months ago) by cbauer
Branch: MAIN
Changes since 1.5: +20 -20 lines
Diff to previous 1.5
- ASSERT macro renamed to GINAC_ASSERT


Revision 1.5 - (view) (annotate) - [select for diffs]
Wed Nov 17 16:58:00 1999 UTC (13 years, 6 months ago) by cbauer
Branch: MAIN
Changes since 1.4: +6 -1 lines
Diff to previous 1.4
- put everything in "GiNaC" namespace
- converted some macros into inline functions
- split debugmsg.h into assertion.h (public) and debugmsg.h (private)


Revision 1.4 - (view) (annotate) - [select for diffs]
Tue Nov 16 16:35:26 1999 UTC (13 years, 6 months ago) by cbauer
Branch: MAIN
Changes since 1.3: +3 -2 lines
Diff to previous 1.3
- modified the comment blocks so the copyright message no longer appears in
  the reference manual (made by Doxygen)


Revision 1.3 - (view) (annotate) - [select for diffs]
Wed Nov 10 19:35:49 1999 UTC (13 years, 6 months ago) by cbauer
Branch: MAIN
Changes since 1.2: +10 -4 lines
Diff to previous 1.2
- modified GiNaC headers to Alexander's liking


Revision 1.2 - (view) (annotate) - [select for diffs]
Wed Nov 10 16:35:12 1999 UTC (13 years, 6 months ago) by cbauer
Branch: MAIN
Changes since 1.1: +18 -1 lines
Diff to previous 1.1
- enforced GiNaC coding standards :-)


Revision 1.1 - (view) (annotate) - [select for diffs]
Tue Nov 9 19:57:04 1999 UTC (13 years, 6 months ago) by cbauer
Branch: MAIN
- switched to automake build environment


This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.

  Diffs between and
  Type of Diff should be a

Sort log by:

Christian Bauer">Christian Bauer
ViewVC Help
Powered by ViewVC 1.1.15