#include #include using triqs::utility::time_pt; void print_me (double x) { std::cout << " print " << x<< std::endl ;} int main(int argc, char **argv) { time_pt zero (40); time_pt beta = time_pt::make_beta(40); auto t1 = time_pt::make_from_double(10,40), t2 = time_pt::make_from_double(30,40); std::cout << "zero: " << zero << std::endl; std::cout << "beta: " << beta << std::endl; std::cout << "t1: " << t1 << "" << std::endl; std::cout << "t2: " << t2 << "" << std::endl; std::cout << "t1 + t2: " << t1+t2 << "" << std::endl; std::cout << "t1 + t2 - (as double) : " << t1+t2 - (double(t1) + double(t2)) << "" << std::endl; std::cout << "t1 - t2: " << t1-t2 << "" << std::endl; std::cout << "t1 - t2 - (as double) : " << t1-t2 - (double(t1) - double(t2)) << "" << std::endl; std::cout << "t1 * t2: " << t1*t2 << "" << std::endl; std::cout << "t1 * t2 - (as double) : " << t1*t2 - (double(t1) * double(t2)) << "" << std::endl; std::cout << "t1 / t2: " << t1/t2 << "" << std::endl; std::cout << "t1 / t2 - (as double) : " << t1/t2 - (double(t1) / double(t2)) << "" << std::endl; std::cout << "t1 + beta: " << t1 + beta << "" << std::endl; std::cout << "t1 - beta: " << t1 - beta << "" << std::endl; print_me(double(t1));// to check explicit cast std::cout << " -t1: " << - t1 << "" << std::endl; std::cout << "epsilon: " << time_pt::epsilon(beta) << "" << std::endl; std::cout << "- epsilon: " << - time_pt::epsilon(beta) << "" << std::endl; std::cout << "t1 - epsilon :" << t1- time_pt::epsilon(beta) << "" << std::endl; std::cout << " num limit max " << std::numeric_limits::max() <::max()-2; n++; std::cout << " num limit-1 " << n <