From: Christian Bauer Date: Sat, 13 Dec 2003 19:04:58 +0000 (+0000) Subject: synced to HEAD (expand() checks) X-Git-Tag: release_1-1-6~12 X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?a=commitdiff_plain;h=f50b2f69e01212b03cc62d855c4b48f31d4e3117;p=ginac.git synced to HEAD (expand() checks) --- diff --git a/check/exam_paranoia.cpp b/check/exam_paranoia.cpp index b581d87b..55dd9e85 100644 --- a/check/exam_paranoia.cpp +++ b/check/exam_paranoia.cpp @@ -375,7 +375,7 @@ static unsigned exam_paranoia15(void) static unsigned exam_paranoia16(void) { unsigned result = 0; - symbol a("a"), b("b"), c("c"), d("d"); + symbol a("a"), b("b"), c("c"), d("d"), e("e"); ex e1, e2, e3; e1 = pow(1+a*sqrt(b+c), 2); @@ -402,6 +402,30 @@ static unsigned exam_paranoia16(void) ++result; } + e1 = pow(sqrt(a+b)+sqrt(c+d), 3); + e2 = e1.expand(); + + if (e2.has(3*(a+b)*sqrt(c+d)) || e2.has(3*(c+d)*sqrt(a+b))) { + clog << "expand(" << e1 << ") didn't fully expand\n"; + ++result; + } + + e1 = a*(b+c*(d+e)); + e2 = e1.expand(); + + if (e2.has(c*(d+e))) { + clog << "expand(" << e1 << ") didn't fully expand\n"; + ++result; + } + + e1 = 2*pow(1+a, 2)/a; + e2 = e1.expand(); + + if (e2.has(pow(a, 2))) { + clog << "expand(" << e1 << ") didn't fully expand\n"; + ++result; + } + return result; }