diff --git a/test/triqs/gfs/gf_notail.cpp b/test/triqs/gfs/gf_notail.cpp index 46944b00..80532990 100644 --- a/test/triqs/gfs/gf_notail.cpp +++ b/test/triqs/gfs/gf_notail.cpp @@ -32,7 +32,18 @@ int main() { // rebuilding a new gf... auto g3 = make_gf_from_g_and_tail(vw, gw.singularity()); // need to test all this.... - + + //test antiperiodicity + auto Gt = gf{ { beta, Fermion, 1000 }, { } }; + Gt(tau_) << exp(-tau_); + + TEST(Gt(0.01)); + TEST(Gt(.5)); + TEST(Gt(.9)); + TEST(Gt(-.1));//should be equal to line above + + + } TRIQS_CATCH_AND_ABORT; } diff --git a/test/triqs/gfs/gf_notail.output b/test/triqs/gfs/gf_notail.output new file mode 100644 index 00000000..9988d894 --- /dev/null +++ b/test/triqs/gfs/gf_notail.output @@ -0,0 +1,8 @@ +(Gt(0.01)) ---> 0.99005 + +(Gt(.5)) ---> 0.606531 + +(Gt(.9)) ---> 0.40657 + +(Gt(-.1)) ---> -0.40657 + diff --git a/triqs/gfs/imtime.hpp b/triqs/gfs/imtime.hpp index f760e048..ed7c38a0 100644 --- a/triqs/gfs/imtime.hpp +++ b/triqs/gfs/imtime.hpp @@ -84,6 +84,7 @@ namespace gfs { double w; bool in; std::tie(in, n, w) = windowing(m, tau); + if (!in) TRIQS_RUNTIME_ERROR << " Evaluation out of bounds"; if ((m.domain().statistic == Fermion) && (p % 2 != 0)) { w2 = -w; w1 = w - 1;