]> www.ginac.de Git - ginac.git/blobdiff - check/time_uvar_gcd.cpp
Make symbol::name be initialized lazily.
[ginac.git] / check / time_uvar_gcd.cpp
index 79acd122c0477ccaf384f1cc14c3582754860c24..5e5b59672c58cd5ee891d66961d8b7357885e3c7 100644 (file)
@@ -3,7 +3,7 @@
  *  Time the different GCD algorithms. */
 
 /*
- *  GiNaC Copyright (C) 1999-2009 Johannes Gutenberg University Mainz, Germany
+ *  GiNaC Copyright (C) 1999-2010 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
@@ -1657,11 +1657,11 @@ gcd_sanity_check(const upoly& g, const upoly& a, const upoly& b,
 {
        upoly r1, r2;
        remainder_in_ring(r1, a, g);
-       bug_on(!r1.empty(), "bug: " << label << " : gcd g = \"" << g <<
+       cbug_on(!r1.empty(), "bug: " << label << " : gcd g = \"" << g <<
                "\"does not divide a =\"" << a << "\"");
 
        remainder_in_ring(r2, b, g);
-       bug_on(!r2.empty(), "bug: " << label << " : gcd g = \"" << g <<
+       cbug_on(!r2.empty(), "bug: " << label << " : gcd g = \"" << g <<
                "\"does not divide b =\"" << b << "\"");
        return true;
 }
@@ -1713,7 +1713,7 @@ struct heur_gcd_test
                        return false;
 
                gcd_sanity_check(g, a, b, std::string("heur_gcd"));
-               bug_on(g != g_check, 
+               cbug_on(g != g_check, 
                        "modular and heuristic GCD disagree: " <<
                        "a = \"" << a << "\", b = \"" << b << "\", " <<
                        "mod_gcd = \"" << g_check << "\", " <<
@@ -1756,7 +1756,7 @@ struct sr_gcd_test
        bool check() const
        {
                gcd_sanity_check(g, a, b, std::string("sr_gcd"));
-               bug_on(g != g_check, 
+               cbug_on(g != g_check, 
                        "modular and PRS GCD disagree: " <<
                        "a = \"" << a << "\", b = \"" << b << "\", " <<
                        "mod_gcd = \"" << g_check << "\", " <<
@@ -1780,7 +1780,8 @@ struct ex_sr_gcd_test
        const upoly& g_check;
        unsigned options;
        ex_sr_gcd_test(const ex& a_, const ex& b_, const upoly& g_) :
-               a(a_), b(b_), g(0), g_check(g_), options(gcd_options::no_heur_gcd)
+               a(a_), b(b_), g(0), g_check(g_), options(gcd_options::no_heur_gcd |
+                                                        gcd_options::use_sr_gcd)
        { }
 
        inline void run()
@@ -1795,7 +1796,7 @@ struct ex_sr_gcd_test
                upoly g_gin;
                ex2upoly(g_gin, g);
 
-               bug_on(g_gin != g_check, "modular and old PRS GCD disagree: " <<
+               cbug_on(g_gin != g_check, "modular and old PRS GCD disagree: " <<
                        "a = \"" << a << "\", b = \"" << b << "\", " <<
                        "old sr_gcd = \"" << g_gin << "\", " <<
                        "mod_gcd = \"" << g_check << "\"");