/*
This file is part of JOP, the Java Optimized Processor
see <http://www.jopdesign.com/>
Copyright (C) 2001-2008, Martin Schoeberl (martin@jopdesign.com)
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package wcet;
import com.jopdesign.sys.GC;
import com.jopdesign.sys.Native;
public class ManyLoops {
/**
* @param args
*/
public static void main(String[] args) {
loop(false,0);
loop11(true, 123);
loop2(true, 123);
loop1(true, 123);
loop9(true, 123);
loop10(true, 123);
loop11(true, 123);
// System.out.println("hej");
}
//
public static int loop(boolean b, int val) {
for (int i = 0; i < 10; ++i) { // @WCA loop=10
if (b) {
for (int j = 0; j < 3; ++j) { // @WCA loop=3
val *= val;
}
return val;
} else {
for (int j = 0; j < 7; ++j) { // @WCA loop=7
val += val;
}
return val;
}
}
return val;
}
public static int loop1(boolean b, int val) {
val = 1;
for (; val < 2 & val < 3;) { // @WCA loop=2
int l = 7;
if (l == 6)
break;
if (l == 5)
break;
l = 3;
}
return val;
}
public static int loop2(boolean b, int val) {
for (; val < 2;) { // @WCA loop=2
val++;
}
loop3(b, val);
return val;
}
//
public static int loop3(boolean b, int val) {
int test = 6;
for (int i = 0; i < 2; i++) { // @WCA loop=20
val++;
}
int ol = 9;
return loop4(b, val);
}
public static int loop4(boolean b, int val) {
for (int i = 0; i < 2; i++) { // @WCA loop=2
val += loop5(b, val);
}
return val;
}
public static int loop5(boolean b, int val) {
val = 1;
for (int i = 8; val < 2 & val < 1;) { // @WCA loop=2
int l = 7;
if (l == 6)
break;
if (l == 5)
return val;
l = 3;
}
loop6(b, loop7(b, val));
return val;
}
public static int loop6(boolean b, int val) {
for (int i = 8; val < 2 && val < 1;) { // @WCA loop=2
val++;
}
return val;
}
public static int loop7(boolean b, int val) {
for (int i = 8; val < 2 && val < 1;) { // @WCA loop=2
}
loop8(b, val);
return val;
}
//
public static int loop8(boolean b, int val) {
for (int i = 8; val < 2 && val < 1;) { // @WCA loop=2
if (true)
;
}
return val;
}
//
public static int loop9(boolean b, int val) {
for (int i = 8; val < 1;) { // @WCA loop=7
for (int j = 80; val < 1;) { // @WCA loop=80
}
}
return val;
}
public static int loop10(boolean b, int val) {
for (int i = 8; val < 1;) { // @WCA loop=10
val++;
}
return val;
}
public static int loop11(boolean b, int val) {
val++;// System.out.println("hello");
if (val > 8)
val--;
val = loop12(b, val);
return val;
}
public static int loop12(boolean b, int val) {
val++;// System.out.println("hello");
return val;
}
}