Please pull from git://ffmssmsc.jinr.ru:443/varg/ginac.git master
Dear Jens, please pull from git://ffmssmsc.jinr.ru:443/varg/ginac.git master The following changes since commit a377cee53b71348235ec36f83afeced7e10288a8: Jens Vollinga (1): Merge branch 'master' of git://ffmssmsc.jinr.ru:443/varg/ginac are available: Alexei Sheplyakov (20): [trivial] excompiler.cpp: shut up some silly compiler warnings. [bugfix] normalize_in_ring: don't set the leading coefficient to 1. [bugfix] remainder_in_ring: using exact division is plain wrong. mod_gcd: naive hack to chose a 'good' prime (to speed up gcd computation). polynomial: introduce a helper function to divide polynomial by ring element. Rewritten heuristic and PRS GCD for univariate polynomials, added benchmark. ptr.h: use unsigned int to store reference counts (in order to save memory). is_exactly_a: use typeid() to check the type of expression. basic, expairseq: use standard C++ RTTI in compare(), is_equal(), match(), etc. indexed::eval: use standard C++ RTTI. calchash(): use type_info::name() instead of tinfo(). A better return_type_tinfo() mechanism. registered_class_info: use typeid() instead of tinfo_static. Wipe out remnants of custom RTTI. symbol: remove return_type_tinfo() and return_type() (shrink symbol by 8 bytes) symbol: don't bother to set TeX name if user did not specified one. symbol: make get_domain() a virtual method, remove symbol::domain. tutorial: don't mention custom RTTI any more (as it does not exist). Don't force every algebraic class to implement archiving/unarchiving. tutorial: simplify the instructions on writing extension classes. check/Makefile.am | 4 + check/exam_archive.cpp | 3 +- check/test_runner.h | 67 + check/time_uvar_gcd.cpp | 1877 +++++++++++++++++++++++++++++ doc/examples/mystring.cpp | 24 +- doc/tutorial/ginac.texi | 195 +--- ginac/Makefile.am | 6 + ginac/add.cpp | 12 +- ginac/add.h | 3 +- ginac/archive.cpp | 46 +- ginac/archive.h | 80 ++ ginac/basic.cpp | 47 +- ginac/basic.h | 31 +- ginac/clifford.cpp | 40 +- ginac/clifford.h | 25 +- ginac/color.cpp | 34 +- ginac/color.h | 12 +- ginac/constant.cpp | 20 +- ginac/constant.h | 7 +- ginac/container.h | 104 +- ginac/ex.h | 3 +- ginac/excompiler.cpp | 6 +- ginac/expairseq.cpp | 38 +- ginac/expairseq.h | 3 + ginac/exprseq.h | 3 - ginac/fail.cpp | 3 +- ginac/fail.h | 2 + ginac/fderivative.cpp | 9 +- ginac/fderivative.h | 3 + ginac/function.pl | 40 +- ginac/idx.cpp | 29 +- ginac/idx.h | 12 +- ginac/indexed.cpp | 22 +- ginac/indexed.h | 7 +- ginac/integral.cpp | 12 +- ginac/integral.h | 8 +- ginac/lst.cpp | 3 + ginac/lst.h | 4 +- ginac/matrix.cpp | 20 +- ginac/matrix.h | 6 + ginac/mul.cpp | 17 +- ginac/mul.h | 3 +- ginac/ncmul.cpp | 23 +- ginac/ncmul.h | 4 +- ginac/numeric.cpp | 24 +- ginac/numeric.h | 6 + ginac/polynomial/eval_uvar.h | 38 + ginac/polynomial/gcd_uvar.cpp | 33 + ginac/polynomial/heur_gcd_uvar.h | 66 + ginac/polynomial/interpolate_padic_uvar.h | 40 + ginac/polynomial/mod_gcd.cpp | 12 +- ginac/polynomial/normalize.tcc | 3 +- ginac/polynomial/prem_uvar.h | 47 + ginac/polynomial/remainder.tcc | 2 +- ginac/polynomial/ring_traits.hpp | 13 + ginac/polynomial/sr_gcd_uvar.h | 95 ++ ginac/polynomial/upoly.hpp | 31 + ginac/power.cpp | 11 +- ginac/power.h | 12 +- ginac/pseries.cpp | 10 +- ginac/pseries.h | 5 + ginac/ptr.h | 10 +- ginac/registrar.cpp | 10 - ginac/registrar.h | 75 +- ginac/relational.cpp | 16 +- ginac/relational.h | 8 +- ginac/structure.h | 35 +- ginac/symbol.cpp | 231 ++-- ginac/symbol.h | 79 +- ginac/symmetry.cpp | 15 +- ginac/symmetry.h | 6 + ginac/tensor.cpp | 26 +- ginac/tensor.h | 19 +- ginac/utils.cpp | 2 + ginac/utils.h | 16 +- ginac/wildcard.cpp | 15 +- ginac/wildcard.h | 6 + ginsh/ginsh.h | 2 +- ginsh/ginsh_lexer.ll | 8 +- 79 files changed, 3121 insertions(+), 823 deletions(-) create mode 100644 check/test_runner.h create mode 100644 check/time_uvar_gcd.cpp create mode 100644 ginac/polynomial/eval_uvar.h create mode 100644 ginac/polynomial/gcd_uvar.cpp create mode 100644 ginac/polynomial/heur_gcd_uvar.h create mode 100644 ginac/polynomial/interpolate_padic_uvar.h create mode 100644 ginac/polynomial/prem_uvar.h create mode 100644 ginac/polynomial/sr_gcd_uvar.h Best regards, Alexei -- All science is either physics or stamp collecting.
participants (1)
-
Alexei Sheplyakov