Add support for MemUse Entropy on Windows.

This commit is contained in:
David Garske
2023-07-13 12:39:34 -07:00
parent 8c012b5df5
commit 761a976d0c

View File

@ -983,6 +983,29 @@ static void Entropy_StopThread(void)
}
}
/* end if defined(HAVE_PTHREAD) */
#elif defined(_WIN32) /* USE_WINDOWS_API */
/* Get the high resolution time counter.
*
* @return 64-bit time that is the nanoseconds of current time.
*/
static WC_INLINE word64 Entropy_TimeHiRes(void)
{
static int init = 0;
static LARGE_INTEGER freq;
LARGE_INTEGER count;
if (!init) {
QueryPerformanceFrequency(&freq);
init = 1;
}
QueryPerformanceCounter(&count);
return (word64)(count.QuadPart / (freq.QuadPart / 1000 / 1000));
}
#else
#error "No high precision time available for MemUse Entropy."
@ -1283,7 +1306,7 @@ static int Entropy_HealthTest_Proportion(byte noise)
}
else {
/* Get first value in queue - value to test. */
byte val = prop_samples[prop_first];
byte val = (byte)prop_samples[prop_first];
/* Store new sample in queue. */
prop_samples[prop_last] = noise;
/* Update first index now that we have removed in from the queue. */