mirror of
https://github.com/triqs/dft_tools
synced 2024-12-27 06:43:40 +01:00
59 lines
2.0 KiB
C++
59 lines
2.0 KiB
C++
|
#include <iostream>
|
||
|
|
||
|
#include <triqs/utility/time_pt.hpp>
|
||
|
|
||
|
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<uint64_t>::max() <<std::endl ;
|
||
|
uint64_t n = std::numeric_limits<uint64_t>::max()-2;
|
||
|
n++;
|
||
|
std::cout << " num limit-1 " << n <<std::endl ;
|
||
|
n++;
|
||
|
std::cout << " num limit+0 " << n <<std::endl ;
|
||
|
n++;
|
||
|
std::cout << " num limit+1 " << n <<std::endl ;
|
||
|
n++;
|
||
|
std::cout << " num limit+2 " << n <<std::endl ;
|
||
|
|
||
|
|
||
|
|
||
|
return 0;
|
||
|
}
|