diff --git a/test/triqs/gfs/test_fit_tail.output b/test/triqs/gfs/test_fit_tail.output index 15b38302..81f5231e 100644 --- a/test/triqs/gfs/test_fit_tail.output +++ b/test/triqs/gfs/test_fit_tail.output @@ -66,7 +66,7 @@ ... Order 2 = [[(1,0)]] ... Order 3 = -[[(0.999288,0)]] +[[(0.999247,0)]] ... Order 4 = [[(0.998655,0)]] @@ -80,7 +80,7 @@ ... Order 2 = [[(1,0)]] ... Order 3 = -[[(0.999209,0)]] +[[(0.999186,0)]] ... Order 4 = [[(0.998631,0)]] @@ -94,7 +94,7 @@ ... Order 2 = [[(1,0)]] ... Order 3 = -[[(0.999251,0)]] +[[(0.999214,0)]] ... Order 4 = [[(0.998655,0)]] diff --git a/triqs/gfs/meshes/matsubara_freq.hpp b/triqs/gfs/meshes/matsubara_freq.hpp index 62ded5c7..a983827c 100644 --- a/triqs/gfs/meshes/matsubara_freq.hpp +++ b/triqs/gfs/meshes/matsubara_freq.hpp @@ -92,7 +92,7 @@ namespace gfs { void advance() { ++n; } long linear_index() const { return n - first_index; } long index() const { return n; } - bool at_end() const { return (n == index_stop); } + bool at_end() const { return (n == index_stop + 1); } // at_end means " one after the last one", as in STL void reset() { n = first_index; } private: diff --git a/triqs/gfs/meshes/product.c11.hpp b/triqs/gfs/meshes/product.c11.hpp index e4e6c52c..894b5968 100644 --- a/triqs/gfs/meshes/product.c11.hpp +++ b/triqs/gfs/meshes/product.c11.hpp @@ -156,7 +156,7 @@ namespace gfs { }; public: - void advance() { triqs::tuple::fold(_aux1(), _c, false); } + void advance() { _atend = ! (triqs::tuple::fold(_aux1(), _c, false)) ; } // index_t index() const { return _index;} // not implemented yet bool at_end() const { return _atend; } diff --git a/triqs/gfs/meshes/product.c14.hpp b/triqs/gfs/meshes/product.c14.hpp index c7a07db0..22da41db 100644 --- a/triqs/gfs/meshes/product.c14.hpp +++ b/triqs/gfs/meshes/product.c14.hpp @@ -116,7 +116,7 @@ namespace gfs { p.reset(); return false; }; - triqs::tuple::fold(l, _c, false); + _atend = !(triqs::tuple::fold(l, _c, false)); } // index_t index() const { return _index;} // not implemented yet