| #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; |
| } |
| } |