| 21 | |
| 22 | template <typename Fn> |
| 23 | double measure_ms(Fn && fn) { |
| 24 | const auto started = std::chrono::steady_clock::now(); |
| 25 | std::forward<Fn>(fn)(); |
| 26 | const auto ended = std::chrono::steady_clock::now(); |
| 27 | return std::chrono::duration<double, std::milli>(ended - started).count(); |
| 28 | } |
| 29 | |
| 30 | int64_t checked_product(std::initializer_list<int64_t> dims) { |
| 31 | int64_t result = 1; |
no outgoing calls
no test coverage detected