41 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C++
		
	
	
	
| /*
 | |
|  *  Created by Joachim on 16/04/2019.
 | |
|  *  Adapted from donated nonius code.
 | |
|  *
 | |
|  *  Distributed under the Boost Software License, Version 1.0. (See accompanying
 | |
|  *  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 | |
|  */
 | |
| 
 | |
| // Clocks
 | |
| 
 | |
| #ifndef TWOBLUECUBES_CATCH_CLOCK_HPP_INCLUDED
 | |
| #define TWOBLUECUBES_CATCH_CLOCK_HPP_INCLUDED
 | |
| 
 | |
| #include <chrono>
 | |
| #include <ratio>
 | |
| 
 | |
| namespace Catch {
 | |
|     namespace Benchmark {
 | |
|         template <typename Clock>
 | |
|         using ClockDuration = typename Clock::duration;
 | |
|         template <typename Clock>
 | |
|         using FloatDuration = std::chrono::duration<double, typename Clock::period>;
 | |
| 
 | |
|         template <typename Clock>
 | |
|         using TimePoint = typename Clock::time_point;
 | |
| 
 | |
|         using default_clock = std::chrono::steady_clock;
 | |
| 
 | |
|         template <typename Clock>
 | |
|         struct now {
 | |
|             TimePoint<Clock> operator()() const {
 | |
|                 return Clock::now();
 | |
|             }
 | |
|         };
 | |
| 
 | |
|         using fp_seconds = std::chrono::duration<double, std::ratio<1>>;
 | |
|     } // namespace Benchmark
 | |
| } // namespace Catch
 | |
| 
 | |
| #endif // TWOBLUECUBES_CATCH_CLOCK_HPP_INCLUDED
 |