[SCM] GiNaC -- a C++ library for symbolic computations branch, ginac_1-4, updated. release_1-4-0-43-g70eaf7b
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "GiNaC -- a C++ library for symbolic computations". The branch, ginac_1-4 has been updated via 70eaf7b7ad5250df07323b5a2e35803f69b33b14 (commit) from 47c1eb8365109f015062719acc5f2709b4131206 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 70eaf7b7ad5250df07323b5a2e35803f69b33b14 Author: Jens Vollinga <jensv@nikhef.nl> Date: Thu Apr 3 11:56:57 2008 +0200 Fixed bugs found by Jianqiang Zhao. ----------------------------------------------------------------------- Summary of changes: ginac/inifcns_nstdsums.cpp | 8 +++++++- 1 files changed, 7 insertions(+), 1 deletions(-) hooks/post-receive -- GiNaC -- a C++ library for symbolic computations
On Thu, Apr 03, 2008 at 12:02:19PM +0200, Jens Vollinga wrote:
Fixed bugs found by Jianqiang Zhao.
More informative commit message would be very nice. For example, "Fix numeric evaluation of the multiple polylogarithms. Foo was buggy because of bar, replace it with baz. " Best regards, Alexei -- All science is either physics or stamp collecting.
Hi, Alexei Sheplyakov schrieb:
On Thu, Apr 03, 2008 at 12:02:19PM +0200, Jens Vollinga wrote:
Fixed bugs found by Jianqiang Zhao.
More informative commit message would be very nice. For example,
can be done. Next time. :-) Other topic, I am planning to release today (finally). Any objections, comments? Regards, Jens
On Thu, Apr 03, 2008 at 12:02:19PM +0200, Jens Vollinga wrote:
commit 70eaf7b7ad5250df07323b5a2e35803f69b33b14
I've applied this patch to ginac_1-3. The exam_inifcns_nstdsums fails now. The check which fails is: static unsigned inifcns_test_legacy() { Digits = 17; ex prec = 5 * pow(10, -(int)Digits); unsigned result = 0; ex r1 = zeta(lst(1,1,1,1,1,1),lst(-1,-1,-1,1,1,1)); if ((r1.evalf() - numeric("-0.0012588769028204890704")) > prec) { clog << "zeta({1,1,1,1,1,1},{-1,-1,-1,1,1,1}) seems to be wrong." << endl; clog << r1.evalf() << endl; result++; } return result; } So, something must be wrong: either the patch or the test. Any ideas? Best regards, Alexei -- All science is either physics or stamp collecting.
Hi, Alexei Sheplyakov schrieb:
So, something must be wrong: either the patch or the test. Any ideas?
the test is okay. The patch causes the problems, because it is not complete. The missing patch is attached (the important change is the line with the while statement). I completely forgot about that change, mainly because the IMAP here works not well from home causing emails to be lost (emails in which I sent the patches to Jianqiang Zhao ...). Now the question is: new release? Then not only the patch but also additional checks should be added. If nothing else is pending I would do a new release soon. Regards, Jens diff --git a/ginac/inifcns_nstdsums.cpp b/ginac/inifcns_nstdsums.cpp index 138f5e3..56ba0e7 100644 --- a/ginac/inifcns_nstdsums.cpp +++ b/ginac/inifcns_nstdsums.cpp @@ -489,7 +489,6 @@ cln::cl_N multipleLi_do_sum(const std::vector<int>& s, const std::vector<cln::cl q++; t[j-1] = t[j-1] + cln::expt(x[j-1], q) / cln::expt(cln::cl_I(q),s[j-1]) * one; for (int k=j-2; k>=0; k--) { - flag_accidental_zero = cln::zerop(t[k+1]); t[k] = t[k] + t[k+1] * cln::expt(x[k], q+j-1-k) / cln::expt(cln::cl_I(q+j-1-k), s[k]); } q++; @@ -498,7 +497,7 @@ cln::cl_N multipleLi_do_sum(const std::vector<int>& s, const std::vector<cln::cl flag_accidental_zero = cln::zerop(t[k+1]); t[k] = t[k] + t[k+1] * cln::expt(x[k], q+j-1-k) / cln::expt(cln::cl_I(q+j-1-k), s[k]); } - } while ( (t[0] != t0buf) || flag_accidental_zero ); + } while ( (t[0] != t0buf) || cln::zerop(t[0]) || flag_accidental_zero ); return t[0]; }
Dear Jens, On Fri, Apr 04, 2008 at 11:13:23AM +0200, Jens Vollinga wrote:
the test is okay.
I wonder why this test is not included in GiNaC 1.4 (but included in 1.3).
The patch causes the problems, because it is not complete. The missing patch is attached (the important change is the line with the while statement). I completely forgot about that change, mainly because the IMAP here works not well from home causing emails to be lost (emails in which I sent the patches to Jianqiang Zhao ...).
Now the question is: new release? Then not only the patch but also additional checks should be added.
git cherry-pick 182ae422f1f417ca975ba5ed9273b76c5c65c434 should add that test.
If nothing else is pending I would do a new release soon.
Fine with me.
diff --git a/ginac/inifcns_nstdsums.cpp b/ginac/inifcns_nstdsums.cpp index 138f5e3..56ba0e7 100644 --- a/ginac/inifcns_nstdsums.cpp +++ b/ginac/inifcns_nstdsums.cpp @@ -489,7 +489,6 @@ cln::cl_N multipleLi_do_sum(const std::vector<int>& s, const std::vector<cln::cl q++; t[j-1] = t[j-1] + cln::expt(x[j-1], q) / cln::expt(cln::cl_I(q),s[j-1]) * one; for (int k=j-2; k>=0; k--) { - flag_accidental_zero = cln::zerop(t[k+1]); t[k] = t[k] + t[k+1] * cln::expt(x[k], q+j-1-k) / cln::expt(cln::cl_I(q+j-1-k), s[k]); } q++; @@ -498,7 +497,7 @@ cln::cl_N multipleLi_do_sum(const std::vector<int>& s, const std::vector<cln::cl flag_accidental_zero = cln::zerop(t[k+1]); t[k] = t[k] + t[k+1] * cln::expt(x[k], q+j-1-k) / cln::expt(cln::cl_I(q+j-1-k), s[k]); } - } while ( (t[0] != t0buf) || flag_accidental_zero ); + } while ( (t[0] != t0buf) || cln::zerop(t[0]) || flag_accidental_zero );
return t[0]; }
The patch does not apply to {master,ginac_1-4} :( Best regards, Alexei -- All science is either physics or stamp collecting.
Hi, Alexei Sheplyakov schrieb:
the test is okay.
I wonder why this test is not included in GiNaC 1.4 (but included in 1.3).
yes, me too. With them we wouldn't need to release anew ... I also will put the programs of Jianqiang Zhao as checks into ginac. I hope I didn't oversee anything else, otherwise we will get a series of 1.4.X releases just for the sake of proper Li's :-/ Regards, Jens
participants (3)
-
Alexei Sheplyakov
-
git@ginac.de
-
Jens Vollinga