]> www.ginac.de Git - ginac.git/blobdiff - check/time_antipode.cpp
* Fix static initialization order fiasco.
[ginac.git] / check / time_antipode.cpp
index e88bd735cf4a54223bb528bc626a3856a6fc81c1..d618fabed94b1da3634ef2df1b4dc48e7c583f2f 100644 (file)
@@ -16,7 +16,7 @@
  */
 
 /*
- *  GiNaC Copyright (C) 1999-2003 Johannes Gutenberg University Mainz, Germany
+ *  GiNaC Copyright (C) 1999-2004 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
@@ -442,9 +442,9 @@ static const node tree6(unsigned cuts=0)
                        bool(cuts & 16)));
 }
 
-static unsigned test_tree(const node (*tree_generator)(unsigned=0))
+static unsigned test_tree(const node tree_generator(unsigned))
 {
-       const int edges = tree_generator().total_edges();
+       const int edges = tree_generator(0).total_edges();
        const int vertices = edges+1;
        
        // fill a vector of all possible 2^edges combinations of cuts...
@@ -455,7 +455,7 @@ static unsigned test_tree(const node (*tree_generator)(unsigned=0))
        // ...the sum, when evaluated and reexpanded, is the antipode...
        ex result = 0;
        for (vector<node>::iterator i=counter.begin(); i!=counter.end(); ++i)
-               result = (result+i->evaluate(x,vertices)).series(x==0,vertices).expand();
+               result = (result+i->evaluate(x,vertices-1)).series(x==0,vertices-1).expand();
        
        // ...and has the nice property that in each term all the Eulers cancel:
        if (result.has(Euler)) {