Parent Directory
|
Revision Log
| Links to HEAD: | (view) (annotate) |
| Links to release_1-0-10: | (view) (annotate) |
| Sticky Tag: |
* Finilize version 1.0.4 (version numbers, copyrights and such rubbish).
- added an optional algorithm-switch to lsolve(). Ayeee, this breaks the interface again!
- 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
* 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.
- 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.
- added lst::remove_first() and lst::remove_last() - added symmetrize_cyclic() - antisymmetrize() is slightly faster - ensure_if_modifiable() clears the hash_calculated flag
- 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()
- added numer_denom() to get numerator and denominator in one pass - symmetrize() and antisymmetrize() are available as ex methods - minor cleanups
- added symmetrize() and antisymmetrize() functions - generalized permutation_sign() template - moved shaker_sort() template to utils.h
- renamed ncpower() to ncpow() - canonicalize_clifford() uses to_rational() now - minor cleanups
* 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.
- 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. :-)
- indentation is now done with tabs - printtree() prints the class names as known to the registrar, not the (mangled) class names from typeid().name()
- Made determinant_algo (in flags.h) really work. - Fixed minor bugs in matrix.cpp. - Small Documantation updates.
- Some corrections in series expansion of several functions.
- As advertised: we are calling the Gamma function tgamma() now!
- removed inert Diff() function; only Derivative() remains - deriving Derivative() now works
- gamma() -> Gamma(). - EulerGamma -> gamma. - beta() -> Beta(). - Version -> 0.6.0 in order to make it clear there were *real* changes.
- fixed bug in normal(): normal(x^a) became (x^(-a))^(-1) - first shot at inert Diff() and Derivative() functions; still buggy!
- 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.
- building GiNaC in a separate directory now works
- changed all instances of "foo const &/*" to "const foo &/*" - changed function arguments like "int const" to a simple "int"
- made nops() return unsigned instead of int - changed dates in copyright notices
- added a abs() function. haven't you been longing for this?
- 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
- 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
- added the beta function to GiNaC - threw out ginsh's beta function - added a check for first polygamma function
#ifndef around namespace GiNaC { }
- added prefix and postfix increment and decrement operators for class numeric - made all function_index const - added overloaded psi(x) and psi(n,x) with some sensible behaviour
- changed function::diff() to be more tolerant by checking first if the nth argument when differentiated is non-zero and *then* building the sum. - added support for overloaded polygamma functions psi(x) and psi(n,x). - changed return code of atan2_diff to be somewhat simpler and adjusted check/differentiation.cpp to account for this.
- rotate_31() and golden_hash_ratio() moved to utils.h - golden_hash_ratio() looks for a suitable data type by means of defines from config.h
- architectural checkpoint for zeta-function.
- fixed differentiation of gamma(x) - preliminary support for polygamma-functions psi(n,x)
- put everything in "GiNaC" namespace - converted some macros into inline functions - split debugmsg.h into assertion.h (public) and debugmsg.h (private)
- modified the comment blocks so the copyright message no longer appears in the reference manual (made by Doxygen)
- modified GiNaC headers to Alexander's liking
- enforced GiNaC coding standards :-)
- 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.
| Christian Bauer">Christian Bauer | ViewVC Help |
| Powered by ViewVC 1.1.15 |