X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?p=ginac.git;a=blobdiff_plain;f=check%2Fexam_archive.cpp;h=10ed3ffb2d8f72d72f5af431d3778f99fd4b736e;hp=97962d7a637bc8cd34b4ab7381f1b16b07a8e536;hb=69815a366be5ca81185386d94268d7e7dcce94e3;hpb=83a7ee99a947cbbf331018b803ad6be43a9ccd45 diff --git a/check/exam_archive.cpp b/check/exam_archive.cpp index 97962d7a..10ed3ffb 100644 --- a/check/exam_archive.cpp +++ b/check/exam_archive.cpp @@ -3,7 +3,7 @@ * Here we test GiNaC's archiving system. */ /* - * GiNaC Copyright (C) 1999-2008 Johannes Gutenberg University Mainz, Germany + * GiNaC Copyright (C) 1999-2020 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 @@ -20,12 +20,13 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -#include -#include #include "ginac.h" -using namespace std; using namespace GiNaC; +#include +#include +using namespace std; + unsigned exam_archive() { unsigned result = 0; @@ -40,9 +41,9 @@ unsigned exam_archive() e = -42 * x * pow(y, sin(y*Catalan)) * dirac_ONE() * epsilon_tensor(idx(fail(), 3), idx(0, 3), idx(y/2, 3)) + lorentz_g( - varidx(lst(x, -11*y, acos(2*x).series(x==3-5*I, 3)) * color_ONE() + varidx(lst{x, -11*y, acos(2*x).series(x==3-5*I, 3)} * color_ONE() * metric_tensor(varidx(log(cos(128.0/(x*y))), 5), varidx(2, 5)), zeta(3)), - varidx(diag_matrix(lst(-1, Euler, atan(x/y==-15*I/17))) + varidx(diag_matrix({-1, Euler, atan(x/y==-15*I/17)}) * delta_tensor(idx(x, 2), idx(wild(7), 3)), zeta(3), true), true ) @@ -63,9 +64,10 @@ unsigned exam_archive() std::ifstream fin("exam.gar", std::ios_base::binary); fin >> ar; } - f = ar.unarchive_ex(lst(x, y, mu, dim), "expr 1"); + f = ar.unarchive_ex(lst{x, y, mu, dim}, "expr 1"); - if (!f.is_equal(e)) { + ex difference = (f - e).expand(); + if (!difference.is_zero()) { clog << "archiving/unarchiving " << e << endl << "erroneously returned " << f << endl; ++result;