QMCPACK
Clock.h
Go to the documentation of this file.
1 //////////////////////////////////////////////////////////////////////////////////////
2 // This file is distributed under the University of Illinois/NCSA Open Source License.
3 // See LICENSE file in top directory for details.
4 //
5 // Copyright (c) 2020 QMCPACK developers.
6 //
7 // File developed by: Jeongnim Kim, jeongnim.kim@gmail.com, University of Illinois at Urbana-Champaign
8 // Jeremy McMinnis, jmcminis@gmail.com, University of Illinois at Urbana-Champaign
9 // Mark A. Berrill, berrillma@ornl.gov, Oak Ridge National Laboratory
10 //
11 // File created by: Jeongnim Kim, jeongnim.kim@gmail.com, University of Illinois at Urbana-Champaign
12 //////////////////////////////////////////////////////////////////////////////////////
13 
14 
15 #ifndef QMCPLUSPLUS_CLOCK_H
16 #define QMCPLUSPLUS_CLOCK_H
17 
18 #include <stddef.h>
19 #include <chrono>
20 
21 namespace qmcplusplus
22 {
23 
24 using ChronoClock = std::chrono::system_clock;
25 
26 // Implements a std::chrono clock
27 // See https://github.com/korfuri/fake_clock
28 
30 {
31 public:
32  using duration = std::chrono::nanoseconds;
33  using rep = duration::rep;
34  using period = duration::period;
35  using time_point = std::chrono::time_point<FakeChronoClock>;
36  static time_point now() noexcept
37  {
40  }
41 
44 };
45 
46 } // namespace qmcplusplus
47 #endif
helper functions for EinsplineSetBuilder
Definition: Configuration.h:43
std::chrono::system_clock ChronoClock
Definition: Clock.h:24
duration::rep rep
Definition: Clock.h:33
duration::period period
Definition: Clock.h:34
static duration fake_chrono_clock_increment
Definition: Clock.h:43
std::chrono::nanoseconds duration
Definition: Clock.h:32
static time_point now() noexcept
Definition: Clock.h:36
std::chrono::time_point< FakeChronoClock > time_point
Definition: Clock.h:35
static time_point fake_chrono_clock_value
Definition: Clock.h:42