* A small program exposing historical bug in poly_cra function. */
/*
- * GiNaC Copyright (C) 1999-2010 Johannes Gutenberg University Mainz, Germany
+ * GiNaC Copyright (C) 1999-2016 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
ex g = chinrem_gcd(A, B);
}
+static void integer_coeff_braindamage()
+{
+ parser readme;
+ ex A = readme("3*x^2 + 1");
+ ex B = readme("9*x^2 + 1");
+ ex g = chinrem_gcd(A, B);
+ if (!g.is_equal(ex(1))) {
+ std::cerr << "expected 1, got " << g << std::endl;
+ throw std::logic_error("chinrem_gcd miscomputed integer content");
+ }
+}
+
int main(int argc, char** argv)
{
cout << "checking for bugs in poly_cra() and friends " << flush;
check_poly_cra();
check_extract_integer_content();
+ integer_coeff_braindamage();
cout << "not found.";
return 0;
}