#//define TRIQS_ARRAYS_ENFORCE_BOUNDCHECK #include #include using triqs::arrays::make_shape; using namespace triqs::gfs; using triqs::gfs::local::tail; #define TEST(X) std::cout << BOOST_PP_STRINGIZE((X)) << " ---> "<< (X) < iom_; double beta =10; int N=100; auto gw = gf{{beta, Fermion, N}, {1, 1}}; triqs::arrays::array c(3); triqs::clef::placeholder<1> i_; c(i_) << (2*i_+1); int size=0; //means we don't know any moments int order_min=1; //means that the first moment in the final tail will be the first moment auto known_moments = tail(make_shape(1,1), size, order_min); //length is 0, first moment to fit is order_min gw(iom_) << c(0)/iom_ + c(1)/iom_/iom_ + c(2)/iom_/iom_/iom_; //show tail // std::cout<< "before fitting:" < precision) TRIQS_RUNTIME_ERROR<<" fit_tail error : diff="< precision) TRIQS_RUNTIME_ERROR<<" fit_tail error : diff="<