1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148
|
#include <algorithm>
#include <cmath>
#include <emscripten.h>
extern "C" {
int EMSCRIPTEN_KEEPALIVE check_if(int x) {
if (x < 10)
x++;
return x;
}
int EMSCRIPTEN_KEEPALIVE check_loop(int x) {
while (x < 100)
x *= 2;
return x;
}
int EMSCRIPTEN_KEEPALIVE check_loop_break(int x) {
while (x < 100) {
x *= 2;
if (x > 30)
break;
x++;
}
return x;
}
int EMSCRIPTEN_KEEPALIVE check_loop_continue(int x) {
while (x < 100) {
x *= 2;
if (x > 30)
continue;
x++;
}
return x;
}
int EMSCRIPTEN_KEEPALIVE check_do_loop(int x) {
do {
x *= 2;
if (x > 1000)
break;
x--;
if (x > 30)
continue;
x++;
} while (x < 100);
return x;
}
int EMSCRIPTEN_KEEPALIVE check_do_once(int x) {
do {
x *= 2;
if (x > 1000)
break;
x--;
if (x > 30)
continue;
x++;
} while (0);
return x;
}
int EMSCRIPTEN_KEEPALIVE check_while_forever(int x) {
while (1) {
x *= 2;
if (x > 1000)
break;
x--;
if (x > 30)
continue;
x++;
}
return x;
}
int EMSCRIPTEN_KEEPALIVE check_switch(int x) {
switch (x) {
case 1:
return 10;
case 3:
return 20;
case 5:
return 30;
case 10:
return 40;
case 11:
return 50;
default:
return 60;
}
return 70;
}
int EMSCRIPTEN_KEEPALIVE check_switch_nodefault(int x) {
switch (x) {
case 1:
return 10;
case 3:
return 20;
case 5:
return 30;
case 10:
return 40;
case 11:
return 50;
}
return 70;
}
int EMSCRIPTEN_KEEPALIVE check_switch_rdefault(int x) {
switch (x) {
default:
return -60;
case 1:
return 10;
case 3:
return 20;
case 5:
return 30;
case 10:
return 40;
case 11:
return 50;
}
return 70;
}
int EMSCRIPTEN_KEEPALIVE check_switch_fallthrough(int x) {
switch (x) {
case 1:
return 10;
case 2:
case 3:
x++;
case 5:
return x;
case 10:
return 40;
case 11:
return 50;
default:
return 60;
}
return 70;
}
}
|