[PATCH] Fix wrong numeric info on transcendental functions. Although expression like cos(numeric(1, 2)) is not a symbolic, it neither is numeric in the sense of CLN library. Without this patch GiNaC crashes on expressions like cos(cos(ex(1)/ex(2))). Thanks to Weng Zhanyang <cosine@pcbcos.xyz> for reporting this.
Happy New Year!
[PATCH] Implement info methods for transcendent functions. Here only easy answers are sought, which can be decided on info tests of the functions arguments. From such coarse viepoint functions are grouped into several classes and the respective routines can be shared.
Finalize 1.8.2 release. Oh, and Happy New Year!
Happy New Year!
[PATCH 1/3] Automatic evaluation of (e^t)^s = e^(ts). If it safe to evaluate (e^t)^s = e^(ts) at least in two cases: a) t and s are reals, the respective formula can be found in any analysis textbook. b) if s is an integer, then the ambiguity of t up to the term 2*Pi*k does not cause a different value. Signed-off-by: Vladimir V. Kisil <kisilv@maths.leeds.ac.uk>
Avoid "catching polymorphic type by value" warnings.
Happy New Year!
Happy New Year!
Happy New Year!
Happy New Year! Update copyright statements.
Avoid x^0 and Order(x^0) terms together in series expansion. At the branch cut, the series expansions of log(), atan(), and atanh() assembled pseries objects which contained both x^0 and Order(x^0) terms. This patch removes the extra x^0 term if the order is 0. It also adds a GINAC_ASSERT for these kinds of invariants to the pseries ctor and simplifies the loops in pseries' degree(), ldegree(), eval() and evalf() member functions.
Happy New Year!
Merge some cosmetic patches. This is a collection of some minor optimizations and indentation fixes.
Improve method of setting status_flags::dynallocated. There seems to be no way to obsolete the need to mark an object derived from basic and handled by ex as being 'on the heap', at least none that doesn't have significant performance impact. Having said that, this patch aims at making this process simpler and more intuitive. Where, before, one would return from a function returning an ex with return (new mul(a, b))->setflag(status_flags::dynallocated); this patch lets us return with return dynallocate<mul>(a, b); which should be much clearer. In any case, it involves less typing. The two points where the status_flags::dynallocated are set are now * the dynallocate<B>(args...) template function and * the virtual duplicate() member functions. This patch rolls out the new functionality throughout the library.
Move ctors for classes matrix and pseries.
Fix some apparent typos and misindentations 2. (Formatting should comply with http://www.cebix.net/indentation.html.)
Happy new year!
Update copyright statements.
[bugfix] log_series: avoid infinite recursion Check if the argument is on a branch cut check if it actually depends on the expansion variable before trying to expand around a different point in order to avoid the infinite recursion (or rather a segfault due to a stack overflow). Thanks to Mario Prausa for a bugreport.