You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
/*
|
|
|
|
* Copyright (c) 2018-present, Facebook, Inc.
|
|
|
|
*
|
|
|
|
* This source code is licensed under the MIT license found in the
|
|
|
|
* LICENSE file in the root directory of this source tree.
|
|
|
|
*/
|
|
|
|
int test_switch() {
|
|
|
|
int value = 0;
|
|
|
|
// infinite loop
|
|
|
|
while (value < 100) {
|
|
|
|
switch (value) {
|
|
|
|
// code before the first case statement gets skipped but can be used to
|
|
|
|
// declare variables
|
|
|
|
int x = 1;
|
|
|
|
x = value + 1;
|
|
|
|
case 0:
|
|
|
|
break;
|
|
|
|
case 1:
|
|
|
|
continue;
|
|
|
|
case 2:
|
|
|
|
default:
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
value++;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
int unroll_loop(int n) {
|
|
|
|
int ret = 0;
|
|
|
|
int loop = n + 3 / 4;
|
|
|
|
switch (n % 8) {
|
|
|
|
case 0:
|
|
|
|
do {
|
|
|
|
ret++;
|
|
|
|
case 3:
|
|
|
|
ret++;
|
|
|
|
if (1) {
|
|
|
|
case 2:
|
|
|
|
ret++;
|
|
|
|
}
|
|
|
|
case 1:
|
|
|
|
ret++;
|
|
|
|
} while (--loop > 0);
|
|
|
|
}
|
|
|
|
return ret;
|
|
|
|
}
|