static int lua_likwid_getClockCycles(lua_State* L) { TimerData timer; double start, stop; start = lua_tonumber(L,1); stop = lua_tonumber(L,2); timer.start.int64 = (uint64_t)start; timer.stop.int64 = (uint64_t)stop; if (timer_isInitialized == 0) { timer_init(); timer_isInitialized = 1; } lua_pushnumber(L, (double)timer_printCycles(&timer)); return 1; }
int test_timerprint() { TimerData timer; timer_reset(&timer); timer_init(); double time = timer_print(&timer); if (time != 0) goto fail; uint64_t cycles = timer_printCycles(&timer); if (cycles != 0) goto fail; timer_finalize(); return 1; fail: timer_finalize(); return 0; }
int test_timerprint_stop() { TimerData timer; timer_init(); timer_reset(&timer); timer_start(&timer); timer_stop(&timer); double time = timer_print(&timer); if (time > 1) goto fail; if (time == 0) goto fail; uint64_t cycles = timer_printCycles(&timer); if (cycles == 0) goto fail; if (cycles > timer_getCpuClock()) goto fail; timer_finalize(); return 1; fail: timer_finalize(); return 0; }