* rational function normalization in normalization.cpp. */
/*
- * GiNaC Copyright (C) 1999-2000 Johannes Gutenberg University Mainz, Germany
+ * GiNaC Copyright (C) 1999-2005 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
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include "exams.h"
static symbol y[MAX_VARIABLES];
// GCD = 1
-static unsigned poly_gcd1(void)
+static unsigned poly_gcd1()
{
for (int v=1; v<=MAX_VARIABLES; v++) {
ex e1 = x;
}
// Linearly dense quartic inputs with quadratic GCDs
-static unsigned poly_gcd2(void)
+static unsigned poly_gcd2()
{
for (int v=1; v<=MAX_VARIABLES; v++) {
ex e1 = x;
}
// Sparse GCD and inputs where degrees are proportional to the number of variables
-static unsigned poly_gcd3(void)
+static unsigned poly_gcd3()
{
for (int v=1; v<=MAX_VARIABLES; v++) {
ex e1 = pow(x, v + 1);
}
// Variation of case 3; major performance degradation with PRS
-static unsigned poly_gcd3p(void)
+static unsigned poly_gcd3p()
{
for (int v=1; v<=MAX_VARIABLES; v++) {
ex e1 = pow(x, v + 1);
}
// Quadratic non-monic GCD; f and g have other quadratic factors
-static unsigned poly_gcd4(void)
+static unsigned poly_gcd4()
{
for (int v=1; v<=MAX_VARIABLES; v++) {
ex e1 = pow(x, 2) * pow(y[0], 2);
}
// Completely dense non-monic quadratic inputs with dense non-monic linear GCDs
-static unsigned poly_gcd5(void)
+static unsigned poly_gcd5()
{
for (int v=1; v<=MAX_VARIABLES; v++) {
ex e1 = x + 1;
}
// Sparse non-monic quadratic inputs with linear GCDs
-static unsigned poly_gcd5p(void)
+static unsigned poly_gcd5p()
{
for (int v=1; v<=MAX_VARIABLES; v++) {
ex e1 = x;
}
// Trivariate inputs with increasing degrees
-static unsigned poly_gcd6(void)
+static unsigned poly_gcd6()
{
symbol y("y");
}
// Trivariate polynomials whose GCD has common factors with its cofactors
-static unsigned poly_gcd7(void)
+static unsigned poly_gcd7()
{
symbol y("y");
ex p = x - y * z + 1;
return 0;
}
-unsigned exam_polygcd(void)
+unsigned exam_polygcd()
{
unsigned result = 0;
result += poly_gcd1(); cout << '.' << flush;
result += poly_gcd2(); cout << '.' << flush;
result += poly_gcd3(); cout << '.' << flush;
- result += poly_gcd3p(); cout << '.' << flush; // takes extremely long (PRS "worst" case)
+ result += poly_gcd3p(); cout << '.' << flush; // PRS "worst" case
result += poly_gcd4(); cout << '.' << flush;
result += poly_gcd5(); cout << '.' << flush;
result += poly_gcd5p(); cout << '.' << flush;