* Factorization test suite. */
/*
- * GiNaC Copyright (C) 1999-2008 Johannes Gutenberg University Mainz, Germany
+ * GiNaC Copyright (C) 1999-2011 Johannes Gutenberg University Mainz, Germany
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#include <iostream>
#include "ginac.h"
-using namespace std;
using namespace GiNaC;
+#include <iostream>
+using namespace std;
+
static symbol w("w"), x("x"), y("y"), z("z");
static unsigned check_factor(const ex& e)
static unsigned exam_factor1()
{
unsigned result = 0;
- ex e, d;
+ ex e;
symbol x("x");
lst syms;
syms.append(x);
static unsigned exam_factor2()
{
unsigned result = 0;
- ex e, d;
+ ex e;
symbol x("x"), y("y"), z("z");
lst syms;
syms = x, y, z;
return result;
}
+static unsigned exam_factor3()
+{
+ unsigned result = 0;
+ ex e;
+ symbol k("k"), n("n");
+ lst syms;
+ syms = k, n;
+
+ e = ex("1/2*(-3+3*k-n)*(-2+3*k-n)*(-1+3*k-n)", syms);
+ result += check_factor(e);
+
+ e = ex("1/4*(2*k-n)*(-1+2*k-n)", syms);
+ result += check_factor(e);
+
+ return result;
+}
+
unsigned exam_factor()
{
unsigned result = 0;
result += exam_factor1(); cout << '.' << flush;
result += exam_factor2(); cout << '.' << flush;
+ result += exam_factor3(); cout << '.' << flush;
return result;
}