X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?p=ginac.git;a=blobdiff_plain;f=check%2Ftime_lw_IJKL.cpp;h=b2d0f2c9693dd92d61b4993e42c34351c75366a2;hp=18a42d8baee08fb2b592bb004b3aeca4788474ea;hb=773570d668a8a86d4c646dfe9d8572746329652c;hpb=1f5afe37b4c079821de9810435fa9fa11e4ea17b diff --git a/check/time_lw_IJKL.cpp b/check/time_lw_IJKL.cpp index 18a42d8b..b2d0f2c9 100644 --- a/check/time_lw_IJKL.cpp +++ b/check/time_lw_IJKL.cpp @@ -4,7 +4,7 @@ * by Robert H. Lewis and Michael Wester. */ /* - * GiNaC Copyright (C) 1999-2003 Johannes Gutenberg University Mainz, Germany + * GiNaC Copyright (C) 1999-2008 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 @@ -18,10 +18,15 @@ * * 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 "times.h" +#include +#include +#include "ginac.h" +#include "timer.h" +using namespace std; +using namespace GiNaC; static unsigned test(unsigned n) { @@ -31,8 +36,6 @@ static unsigned test(unsigned n) cout << "timing Lewis-Wester test " << name << " (invert rank " << n << " Hilbert)" << flush; - clog << "-------Lewis-Wester test " << name - << " (invert rank " << n << " Hilbert):" << endl; // Create a rank n Hilbert matrix: matrix H(n,n); @@ -44,16 +47,13 @@ static unsigned test(unsigned n) matrix Hinv(n,n); Hinv = H.inverse(); cout << ". passed "; - clog << "(no output)" << endl; - cout << int(1000*cartier.read())*0.001 << 's' << endl; + cout << cartier.read() << 's' << endl; // check result: name = (n==40?'J':(n==70?'L':'?')); cout << "timing Lewis-Wester test " << name << " (check rank " << n << " Hilbert)" << flush; - clog << "-------Lewis-Wester test " << name - << " (check rank " << n << " Hilbert):" << endl; cartier.reset(); matrix identity = H.mul(Hinv); @@ -68,18 +68,13 @@ static unsigned test(unsigned n) correct = false; } } - if (correct) { - cout << ". passed "; - clog << "(no output)" << endl; - } else { - cout << ". failed "; + if (!correct) ++result; - } - cout << int(1000*cartier.read())*0.001 << 's' << endl; + cout << cartier.read() << 's' << endl; return result; } -unsigned time_lw_IJKL(void) +unsigned time_lw_IJKL() { unsigned result = 0; @@ -90,3 +85,12 @@ unsigned time_lw_IJKL(void) return result; } + +extern void randomify_symbol_serials(); + +int main(int argc, char** argv) +{ + randomify_symbol_serials(); + cout << setprecision(2) << showpoint; + return time_lw_IJKL(); +}