31 строка
611 B
C++
31 строка
611 B
C++
|
#include <stdio.h>
|
||
|
#include <emscripten.h>
|
||
|
|
||
|
int n = 0;
|
||
|
double rate = 0;
|
||
|
double last = -1;
|
||
|
|
||
|
void main_loop(void) {
|
||
|
emscripten_sleep(0);
|
||
|
n++;
|
||
|
double now = emscripten_get_now();
|
||
|
if (last > 0) {
|
||
|
double curr = now - last;
|
||
|
rate = (rate*(n-1)+curr)/n;
|
||
|
if (n > 15) {
|
||
|
emscripten_cancel_main_loop();
|
||
|
int result = rate > 600;
|
||
|
printf("Final rate: %.2f, success: %d\n", rate, result);
|
||
|
REPORT_RESULT();
|
||
|
return;
|
||
|
}
|
||
|
}
|
||
|
last = emscripten_get_now();
|
||
|
printf("Main loop rate: %.2f (over %d)\n", rate, n);
|
||
|
}
|
||
|
|
||
|
int main(void) {
|
||
|
emscripten_set_main_loop(main_loop, 1, 1);
|
||
|
}
|
||
|
|