Files
UnrealEngineUWP/Engine/Source/Developer/Windows/LiveCodingServer/Private/External/LC_TimeStamp.cpp
Tim Smith b48b94b010 Integration of Live++ 1.6.3
#rb none
#rnx

[CL 14926202 by Tim Smith in ue5-main branch]
2020-12-15 09:27:44 -04:00

61 lines
1.1 KiB
C++

// Copyright 2011-2020 Molecular Matters GmbH, all rights reserved.
// BEGIN EPIC MOD
//#include PCH_INCLUDE
// END EPIC MOD
#include "LC_TimeStamp.h"
// BEGIN EPIC MOD
#include "Windows/WindowsHWrapper.h"
// END EPIC MOD
namespace timeStamp
{
double g_oneOverFrequency = 0.0;
double g_thousandOverFrequency = 0.0;
double g_millionOverFrequency = 0.0;
void Startup(void)
{
::LARGE_INTEGER frequency = {};
::QueryPerformanceFrequency(&frequency);
g_oneOverFrequency = 1.0 / frequency.QuadPart;
g_thousandOverFrequency = 1000.0 / frequency.QuadPart;
g_millionOverFrequency = 1000000.0 / frequency.QuadPart;
}
void Shutdown(void)
{
g_oneOverFrequency = 0.0;
g_thousandOverFrequency = 0.0;
g_millionOverFrequency = 0.0;
}
uint64_t Get(void)
{
::LARGE_INTEGER now = {};
::QueryPerformanceCounter(&now);
return static_cast<uint64_t>(now.QuadPart);
}
double ToSeconds(uint64_t count)
{
return count * g_oneOverFrequency;
}
double ToMilliSeconds(uint64_t count)
{
return count * g_thousandOverFrequency;
}
double ToMicroSeconds(uint64_t count)
{
return count * g_millionOverFrequency;
}
}