Christian Bauer [Thu, 13 Apr 2000 20:30:11 +0000 (20:30 +0000)]
- '?time' now works

Richard Kreckel [Tue, 11 Apr 2000 00:17:37 +0000 (00:17 +0000)]
- numeric::archive(): fixed a typo.

Richard Kreckel [Mon, 10 Apr 2000 17:20:36 +0000 (17:20 +0000)]
- De-mystified the chapter about relationals.

Christian Bauer [Mon, 10 Apr 2000 16:49:07 +0000 (16:49 +0000)]
- normal() works for relationals: it normalizes both sides

Christian Bauer [Mon, 10 Apr 2000 16:37:33 +0000 (16:37 +0000)]
- modified printcsrc() example

Christian Bauer [Fri, 7 Apr 2000 20:28:13 +0000 (20:28 +0000)]
- extended the "Algorithms" chapter which has been renamed to "Methods and
Functions"
- added a section about lists (class lst) to the "Basic Concepts" chapter

Christian Bauer [Fri, 7 Apr 2000 20:27:33 +0000 (20:27 +0000)]
- mentioned to_rational() and input parser

Christian Bauer [Thu, 6 Apr 2000 19:58:15 +0000 (19:58 +0000)]
- added ex::to_rational() to convert general expression to rational expression
by replacing all non-rational parts with temporary symbols, e.g.:
ex a = pow(sin(x), 2) - pow(cos(x), 2);
ex b = sin(x) + cos(x);
ex d;
lst l;
divide(a.to_rational(l), b.to_rational(l), d);
cout << d.subs(l) << endl;
will print "sin(x)-cos(x)"

Christian Bauer [Wed, 5 Apr 2000 21:01:11 +0000 (21:01 +0000)]
- fixed a small oops: iprint() didn't reset the number output format to decimal

Christian Bauer [Wed, 5 Apr 2000 21:00:52 +0000 (21:00 +0000)]
- streamlined the code in numeric::numeric(archive_node &) and numeric::archive()
with respect to sstream vs. strstream (avoided unnecessary code duplication)

Christian Bauer [Wed, 5 Apr 2000 19:31:33 +0000 (19:31 +0000)]
- implemented #b, #o, #x and #nR prefixes for binary, octal, hexadecimal, and
base-n integers

Christian Bauer [Wed, 5 Apr 2000 19:30:47 +0000 (19:30 +0000)]
- changed comment starter from # to //
- implemented #b, #o, #x and #nR prefixes for binary, octal, hexadecimal, and
base-n integers
- added iprint() command for decimal, octal, and hexadecimal output of integers
- updated man page

Richard Kreckel [Mon, 3 Apr 2000 22:22:10 +0000 (22:22 +0000)]
- atanh_series(): corrected an oops.

Richard Kreckel [Mon, 3 Apr 2000 22:03:23 +0000 (22:03 +0000)]
- Some corrections in series expansion of several functions.

Richard Kreckel [Mon, 3 Apr 2000 22:02:54 +0000 (22:02 +0000)]
- NOT building the documentation is the default now.

Richard Kreckel [Mon, 3 Apr 2000 22:02:17 +0000 (22:02 +0000)]
- inline int csgn(const numeric &): fixed a typo.

Richard Kreckel [Mon, 3 Apr 2000 22:01:22 +0000 (22:01 +0000)]
- Fixed for new input parser scheme.

Christian Bauer [Fri, 31 Mar 2000 03:48:28 +0000 (03:48 +0000)]
- the ex stream >> operator is gone
- added a new ex constructor ex(string, ex) instead; use as follows:
symbol x("x"), y("y");
ex e("Pi*(4*x^2+y)^10", lst(x, y));
or, for interactive input:
symbol x("x");
string s;
cout <<  "Input something (may contain 'x'): ";
getline(cin, s);
try {
e = ex(s, lst(x));
cout << "You entered " << e << endl;
cout << "e.diff(x) = " << e.diff(x) << endl;
} catch (exception &c) {
cerr << c.what() << endl;
}
- symbols not specified in the list in the second argument to ex(string, ex)
but encountered in the input expression will throw an exception

Richard Kreckel [Fri, 31 Mar 2000 00:30:20 +0000 (00:30 +0000)]
- Documentation adjusted to new tgamma-lgamma-Euler-convention.

Richard Kreckel [Thu, 30 Mar 2000 00:09:13 +0000 (00:09 +0000)]
- dramatic speedup for characteristic polynomials of numerical matrices.
- speedup for matrix multiplication of somewhat sparse matrices.
- gamma -> Euler  (sorry 4 that, again).
- two new tests (Q and Q') from Lewis' and Wester's testsuite.
- fixed compilation desaster in timing M1 by using the new parser.
- had a glass of beer.

Alexander Frink [Wed, 29 Mar 2000 22:22:14 +0000 (22:22 +0000)]
bug fixed in an incomplete assertion in power.cpp

Christian Bauer [Wed, 29 Mar 2000 20:22:41 +0000 (20:22 +0000)]
- parsed functions are now correctly evaluated (.eval() was missing)

Christian Bauer [Wed, 29 Mar 2000 20:20:12 +0000 (20:20 +0000)]
- expressions can now be read from streams; the input expression can contain
a list of predefined symbols to be used, before reading (and overwriting)
the expression, e.g:
symbol x("x"), y("y");
e = lst(x, y);
cout << "Enter an expression containing 'x' and 'y': ";
try {
cin >> e;
} catch (exception &e) {
cerr << e.what() << endl;
}
cout << "You entered " << e << endl;
cout << "de/dx = " << e.diff(x) << endl;
cout << "de/dy = " << e.diff(y) << endl;

Christian Bauer [Tue, 28 Mar 2000 18:58:57 +0000 (18:58 +0000)]
- remembering in divide_in_z() turned off (will eventually have to be replaced
by the new remembering mechanism in remember.cpp)
- new #define options at top of source:
USE_TRIAL_DIVISION makes divide_in_z() use trial division and Newton
interpolation instead of recursive polynomial division (only useful
for very large problems)
STATISTICS enables some statistical output at the end of the program
- gcd(numeric, numeric) is now handled earlier; this should speed up normal()
- added new heuristic: gcd(p^n, p^m) with p a polynomial now immediately
returns p^abs(n-m)
- if GCD is 1, cofactors are returned unexpanded

Richard Kreckel [Tue, 28 Mar 2000 00:51:17 +0000 (00:51 +0000)]
- New tests from the Lewis-Wester Paper: I, J, K and L.

Richard Kreckel [Mon, 27 Mar 2000 17:43:54 +0000 (17:43 +0000)]
- Primitive heuristics to make determinants of sparse matrices work.

Richard Kreckel [Mon, 27 Mar 2000 17:43:14 +0000 (17:43 +0000)]
- Finally: the test M1 from Lewis and Wester works.

Richard Kreckel [Sun, 26 Mar 2000 22:57:01 +0000 (22:57 +0000)]
- As advertised: we are calling the Gamma function tgamma() now!

Richard Kreckel [Sun, 26 Mar 2000 18:45:39 +0000 (18:45 +0000)]
- added test O1 from Lewis-Wester paper.
- corrected a thinko in computing the time.

Richard Kreckel [Sat, 25 Mar 2000 20:58:05 +0000 (20:58 +0000)]
- Two more tests from the Lewis-Wester paper.

Richard Kreckel [Sat, 25 Mar 2000 20:35:48 +0000 (20:35 +0000)]
- Added some tests from the Lewis-Wester testsuite.

Christian Bauer [Fri, 24 Mar 2000 19:45:38 +0000 (19:45 +0000)]
- ginac.h includes version.h (created by configure script), which contains
library version defines

Christian Bauer [Thu, 23 Mar 2000 21:50:38 +0000 (21:50 +0000)]
- raised coefficient bit-length limit in heur_gcd() (CLN is good with large
numbers, so this improves performance)

Richard Kreckel [Thu, 23 Mar 2000 16:50:17 +0000 (16:50 +0000)]
- We now write f(x).series(x==3,5) instead of f(x).series(x,3,5) and
f(x).series(x,4) instead of f(x).series(x,0,4).  We also don't allow
default arguments any more.

Christian Bauer [Wed, 22 Mar 2000 21:32:23 +0000 (21:32 +0000)]
- removed inert Diff() function; only Derivative() remains
- deriving Derivative() now works

Richard Kreckel [Tue, 21 Mar 2000 19:30:22 +0000 (19:30 +0000)]
- gamma() -> Gamma().
- EulerGamma -> gamma.
- beta() -> Beta().
- Version -> 0.6.0 in order to make it clear there were *real* changes.

Richard Kreckel [Tue, 21 Mar 2000 17:07:17 +0000 (17:07 +0000)]
- 0^a -> 0^a instead of 0.

Richard Kreckel [Tue, 21 Mar 2000 17:07:00 +0000 (17:07 +0000)]
- print 0 without parens.

Richard Kreckel [Mon, 20 Mar 2000 17:10:43 +0000 (17:10 +0000)]
- Changes reflect beautifying of floating-point output.

Richard Kreckel [Mon, 20 Mar 2000 17:09:50 +0000 (17:09 +0000)]
- Output of floats is now in a more beautiful form.

Christian Bauer [Mon, 20 Mar 2000 15:17:44 +0000 (15:17 +0000)]
- fixed bug in normal(): normal(x^a) became (x^(-a))^(-1)
- first shot at inert Diff() and Derivative() functions; still buggy!

Richard Kreckel [Mon, 20 Mar 2000 15:14:39 +0000 (15:14 +0000)]
- Mention `warranty;' in splash-screen instead of file COPYING.

Richard Kreckel [Wed, 15 Mar 2000 23:37:19 +0000 (23:37 +0000)]
- Updated the timings.

Richard Kreckel [Wed, 15 Mar 2000 22:44:12 +0000 (22:44 +0000)]
- Updated for Version 0.5.4.

Christian Bauer [Wed, 15 Mar 2000 22:34:19 +0000 (22:34 +0000)]
- update NEWS file

Richard Kreckel [Wed, 15 Mar 2000 22:32:49 +0000 (22:32 +0000)]
- Updated for 0.5.4.

Richard Kreckel [Wed, 15 Mar 2000 22:28:41 +0000 (22:28 +0000)]
- According to CLTL 0^I is undefined, 0^(I+epsilon) is 0 and 0^(I-epsilon)
is an overflow.  Now, this should be honored.

Richard Kreckel [Wed, 15 Mar 2000 21:22:41 +0000 (21:22 +0000)]
- The status_flags::expanded is now used on some occasions.

Richard Kreckel [Wed, 15 Mar 2000 21:22:03 +0000 (21:22 +0000)]
- New file exam_inifcns.cpp holds some functions that really do not belong
to the checks.

Richard Kreckel [Tue, 14 Mar 2000 19:39:25 +0000 (19:39 +0000)]
- Doxygen'ed a bunch of comments.

Richard Kreckel [Tue, 14 Mar 2000 19:39:00 +0000 (19:39 +0000)]
- Cleanup and clarifications.
- Addition of sparse expression trees (to be used at a later stage).

Christian Bauer [Mon, 13 Mar 2000 19:21:20 +0000 (19:21 +0000)]
- ex::series() catches and re-throws exceptions happening during expansion
(almost always caused by expansion of unhandled poles)
- series(log(x),x) now returns log(x) instead of an error

Richard Kreckel [Mon, 13 Mar 2000 17:15:05 +0000 (17:15 +0000)]
- More drastic performance boost on matrix stuff.

Richard Kreckel [Mon, 13 Mar 2000 17:14:21 +0000 (17:14 +0000)]
- Two new timimgs that are interesting for optimizing.
- Cleaned up syntax in everything involving matrices to reflect the
policy: "normal if in field, expand otherwise".  (It makes many things
much clearer.)

Richard Kreckel [Mon, 13 Mar 2000 17:12:12 +0000 (17:12 +0000)]

Richard Kreckel [Thu, 9 Mar 2000 18:29:17 +0000 (18:29 +0000)]

Richard Kreckel [Thu, 2 Mar 2000 23:51:33 +0000 (23:51 +0000)]
- Changed behaviour of .evalf() to not evalf any exponents.

Christian Bauer [Thu, 2 Mar 2000 17:38:32 +0000 (17:38 +0000)]
- collect() does nothing
- evalf() only evalfs the coefficients

Richard Kreckel [Thu, 2 Mar 2000 15:16:22 +0000 (15:16 +0000)]
- The paragraph about regression tests reflects the new 3-step scheme now.

Richard Kreckel [Wed, 1 Mar 2000 21:32:45 +0000 (21:32 +0000)]
- Fixed a logic error in numeric::info().
- Maybe added another world record: an extremely fast fibonacci routine
(a nonrecursive variation of a method suggested by B. Haible).

Christian Bauer [Wed, 1 Mar 2000 20:51:01 +0000 (20:51 +0000)]
- pseries::coeff() now uses a binary instead of a linear search algorithm

Richard Kreckel [Tue, 29 Feb 2000 17:28:13 +0000 (17:28 +0000)]
- Completely restructured the checks in subdir check/.
- Optimized Laplace expansion of determinants to not compute anything more
than once.
- Moved int permutation_sign(vector<T> s) from matrix.cpp to utils.h.
- A handful of other fixes assiciated with the above.

Richard Kreckel [Tue, 29 Feb 2000 17:25:03 +0000 (17:25 +0000)]
- Patch for static libreadline w/ libncurses problem, submitted by B.Haible.

Christian Bauer [Thu, 24 Feb 2000 18:06:40 +0000 (18:06 +0000)]
- default maxargs for functions is 13 to make the current xloops compile
out-of-the-box
- small fix for abs(): eval() function was not set properly

Richard Kreckel [Thu, 24 Feb 2000 15:05:53 +0000 (15:05 +0000)]
- Speedup for macro that checks if doublefactorial is present in -lcln.

Richard Kreckel [Wed, 23 Feb 2000 20:08:30 +0000 (20:08 +0000)]
- Clarification.

Alexander Frink [Wed, 23 Feb 2000 19:56:05 +0000 (19:56 +0000)]
better handling for comments in ginaccint.bin.cpp

Richard Kreckel [Wed, 23 Feb 2000 18:38:27 +0000 (18:38 +0000)]
- Version and date reflect 0.5.3

Richard Kreckel [Wed, 23 Feb 2000 18:04:57 +0000 (18:04 +0000)]
- Some minor clarifications.

Richard Kreckel [Wed, 23 Feb 2000 18:04:38 +0000 (18:04 +0000)]
- Version 0.5.2 -> 0.5.3.

Richard Kreckel [Wed, 23 Feb 2000 17:36:06 +0000 (17:36 +0000)]
- A new test ripped shamelessly from the Mathematica book.

Richard Kreckel [Wed, 23 Feb 2000 17:35:42 +0000 (17:35 +0000)]
- Version 5.0.2 -> 5.0.3

Alexander Frink [Tue, 22 Feb 2000 19:53:27 +0000 (19:53 +0000)]
remember strategies least recently used and least frequently used,
code moved to remember.h/cpp

Alexander Frink [Mon, 21 Feb 2000 23:12:32 +0000 (23:12 +0000)]
registered_function_info struct changed to function_options class

Alexander Frink [Mon, 21 Feb 2000 23:11:41 +0000 (23:11 +0000)]
container.pl: can now generate constructors for an arbitary number
of arguments
function.pl: new concept for specifying options for functions,
take a look at the function_options class
first experimental support for remembering functions
IMPORTANT: the syntax of the macro REGISTER_FUNCTION() has
changed incompatibly (see inifcns.cpp for an example)
flags.h: flags for remembering strategies (lru, lfu,...)
inifcns*.cpp: use the new REGISTER_FUNCTION() macro syntax
numeric.h/cpp: hashing for numbers using CLN's cl_equal_hashcode()
seems to give increased performance
simp_lor.h: simplify_simp_lor can be called without scalar products list
structure.pl: bug fix in regular expression
normal.cpp: bug fix, a_numeric.compare(_ex0)

Alexander Frink [Mon, 21 Feb 2000 23:04:35 +0000 (23:04 +0000)]
some words about the new function registration macro

Alexander Frink [Mon, 21 Feb 2000 23:04:07 +0000 (23:04 +0000)]
several more workarounds to make cint work with ginac
recognize constants as a return value

Alexander Frink [Mon, 21 Feb 2000 23:02:43 +0000 (23:02 +0000)]
added a normal() to compare the output from lsolve with what is expected

Christian Bauer [Mon, 21 Feb 2000 22:59:23 +0000 (22:59 +0000)]
- add::normal() didn't multiply denominator of expanded children to their
overall_coeff

Christian Bauer [Mon, 21 Feb 2000 22:58:45 +0000 (22:58 +0000)]
- added check for latest normal() bug

Christian Bauer [Mon, 21 Feb 2000 20:08:03 +0000 (20:08 +0000)]
- collect() works better

Alexander Frink [Thu, 17 Feb 2000 01:50:26 +0000 (01:50 +0000)]

Alexander Frink [Thu, 17 Feb 2000 01:43:26 +0000 (01:43 +0000)]
new conversion functions basic -> ex in dummies.h needed
for cint 5.14.x with x>26 until the derived->basic->ex conversion
bug is fixed

Alexander Frink [Thu, 17 Feb 2000 01:42:33 +0000 (01:42 +0000)]
new #define CINT_CONVERSION_WORKAROUND for ginaccint, needed
for cint 5.14.x with x>26 until the derived->basic->ex conversion
bug is fixed

Richard Kreckel [Wed, 16 Feb 2000 20:31:00 +0000 (20:31 +0000)]
- Fixed wrong behaviour of new warning scheme.

Richard Kreckel [Wed, 16 Feb 2000 17:56:47 +0000 (17:56 +0000)]

Richard Kreckel [Wed, 16 Feb 2000 17:56:18 +0000 (17:56 +0000)]
- set micro_version to 2.

Richard Kreckel [Wed, 16 Feb 2000 14:26:36 +0000 (14:26 +0000)]
- Updated for doxygen v1.0.0.

Richard Kreckel [Wed, 16 Feb 2000 14:26:15 +0000 (14:26 +0000)]
- fixed some logic in numeric::has().

Richard Kreckel [Tue, 15 Feb 2000 23:17:57 +0000 (23:17 +0000)]
- introduced numeric::has()

Richard Kreckel [Mon, 14 Feb 2000 19:54:57 +0000 (19:54 +0000)]
- Shit, I forgot to say autoconf, so the tag is messed up for the configure
script.  Gonna release it with the Version fixed, though.   :-(

Richard Kreckel [Mon, 14 Feb 2000 19:40:05 +0000 (19:40 +0000)]
- beautyfied names   :-)

Richard Kreckel [Mon, 14 Feb 2000 19:35:14 +0000 (19:35 +0000)]
- fixed broken target clean in Makefiles.
- cosmetic fixes.

Richard Kreckel [Mon, 14 Feb 2000 17:51:39 +0000 (17:51 +0000)]
- put problematic call in paranoia_check8() into a try-and-catch block.

Richard Kreckel [Mon, 14 Feb 2000 17:01:55 +0000 (17:01 +0000)]
- cosmetic fix

Richard Kreckel [Mon, 14 Feb 2000 17:01:39 +0000 (17:01 +0000)]
- preparations for release 0.5.1

Richard Kreckel [Sun, 13 Feb 2000 22:14:45 +0000 (22:14 +0000)]
- bugfix: 2^(3/2) does not throw any more.  This was now secured in...
- ...a new function paranoia_check10.

Richard Kreckel [Sat, 12 Feb 2000 18:53:56 +0000 (18:53 +0000)]