1234567891011121314151617181920212223242526 |
- (* Runtime support for high precision timer
- Copyright (C) Florian Negele
- *)
- MODULE Timer;
- IMPORT Kernel32;
- TYPE Counter* = LONGINT;
- PROCEDURE GetCounter- (): Counter;
- VAR counter: Kernel32.LargeInteger;
- BEGIN {UNCOOPERATIVE, UNCHECKED}
- ASSERT (Kernel32.QueryPerformanceCounter (counter) # 0);
- RETURN counter.LowPart;
- END GetCounter;
- PROCEDURE GetFrequency- (): Counter;
- VAR frequency: Kernel32.LargeInteger;
- BEGIN {UNCOOPERATIVE, UNCHECKED}
- IF Kernel32.QueryPerformanceFrequency (frequency) = 0 THEN RETURN 0 END;
- RETURN frequency.LowPart;
- END GetFrequency;
- END Timer.
|