Merge pull request #5714 from alexischr/update_bockbuild
[mono.git] / mono / benchmark / logic.cs
1 /* this code is part of the pnetmark benchmark - i have only done some small
2  * modification
3  */
4
5 /*
6  * LogicBenchmark.cs - Implementation of the "LogicBenchmark" class.
7  *
8  * Copyright (C) 2001  Southern Storm Software, Pty Ltd.
9  *
10  * This program is free software; you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License as published by
12  * the Free Software Foundation; either version 2 of the License, or
13  * (at your option) any later version.
14  *
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU General Public License for more details.
19  *
20  * You should have received a copy of the GNU General Public License
21  * along with this program; if not, write to the Free Software
22  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
23
24 using System;
25
26 public class Tests {
27
28         public static void logic_run ()
29         {
30                 int iter;
31
32                 // Initialize.
33                 bool flag1 = true;
34                 bool flag2 = true;
35                 bool flag3 = true;
36                 bool flag4 = true;
37                 bool flag5 = true;
38                 bool flag6 = true;
39                 bool flag7 = true;
40                 bool flag8 = true;
41                 bool flag9 = true;
42                 bool flag10 = true;
43                 bool flag11 = true;
44                 bool flag12 = true;
45                 bool flag13 = true;
46
47                 // First set of tests.
48                 for(iter = 0; iter < 2000000; ++iter) {
49                         if((flag1 || flag2) && (flag3 || flag4) &&
50                            (flag5 || flag6 || flag7))
51                                 {
52                                 flag8 = !flag8;
53                                 flag9 = !flag9;
54                                 flag10 = !flag10;
55                                 flag11 = !flag11;
56                                 flag12 = !flag12;
57                                 flag13 = !flag13;
58                                 flag1 = !flag1;
59                                 flag2 = !flag2;
60                                 flag3 = !flag3;
61                                 flag4 = !flag4;
62                                 flag5 = !flag5;
63                                 flag6 = !flag6;
64                                 flag1 = !flag1;
65                                 flag2 = !flag2;
66                                 flag3 = !flag3;
67                                 flag4 = !flag4;
68                                 flag5 = !flag5;
69                                 flag6 = !flag6;
70                         }
71                 }
72         }
73         
74         public static int Main (string[] args) {
75                 int repeat = 1;
76                 
77                 if (args.Length == 1)
78                         repeat = Convert.ToInt32 (args [0]);
79                 
80                 Console.WriteLine ("Repeat = " + repeat);
81
82                 for (int i = 0; i < (repeat * 50); i++)
83                         logic_run ();
84                 
85                 return 0;
86         }
87 }
88
89