summaryrefslogtreecommitdiffstats
path: root/baseline/source
diff options
context:
space:
mode:
authorleochanj105 <leochanj@live.unc.edu>2020-10-20 21:55:11 -0400
committerleochanj105 <leochanj@live.unc.edu>2020-10-20 21:55:11 -0400
commite2d933df44b7b387b41c8c7805393ad3857c4448 (patch)
tree35cbeee7b13ff92e3cb09e2bef5128a558ec39f1 /baseline/source
parenta32f220f06cc463e5b56e7fa0b1b1334d94d08f3 (diff)
parente2b50015cebdfba68699abd6e8575e38230f5a78 (diff)
Merge branch 'sd-vbs' of ssh://rtsrv.cs.unc.edu/public/mc2-scripts-and-benchmarks into sd-vbs
Diffstat (limited to 'baseline/source')
-rw-r--r--baseline/source/adpcm_dec/adpcm_dec.c12
-rw-r--r--baseline/source/adpcm_enc/adpcm_enc.c14
-rw-r--r--baseline/source/ammunition/ammunition.c14
-rw-r--r--baseline/source/anagram/anagram.c18
-rw-r--r--baseline/source/anagram/anagram_stdlib.c5
-rw-r--r--baseline/source/anagram/anagram_stdlib.h2
-rw-r--r--baseline/source/audiobeam/audiobeam.c20
-rw-r--r--baseline/source/audiobeam/audiobeamlibmalloc.c7
-rw-r--r--baseline/source/audiobeam/audiobeamlibmalloc.h2
-rw-r--r--baseline/source/cjpeg_transupp/cjpeg_transupp.c14
-rw-r--r--baseline/source/cjpeg_wrbmp/cjpeg_wrbmp.c16
-rw-r--r--baseline/source/dijkstra/dijkstra.c14
-rw-r--r--baseline/source/epic/epic.c23
-rw-r--r--baseline/source/fmref/fmref.c14
-rw-r--r--baseline/source/g723_enc/g723_enc.c45
-rw-r--r--baseline/source/gsm_dec/gsm_dec.c14
-rw-r--r--baseline/source/gsm_enc/gsm_enc.c14
-rw-r--r--baseline/source/h264_dec/h264_dec.c14
-rw-r--r--baseline/source/huff_dec/huff_dec.c18
-rw-r--r--baseline/source/huff_enc/huff_enc.c14
-rw-r--r--baseline/source/mpeg2/mpeg2.c14
-rw-r--r--baseline/source/ndes/ndes.c14
-rw-r--r--baseline/source/petrinet/petrinet.c12
-rw-r--r--baseline/source/rijndael_dec/rijndael_dec.c14
-rw-r--r--baseline/source/rijndael_enc/rijndael_enc.c22
-rw-r--r--baseline/source/statemate/statemate.c14
-rw-r--r--baseline/source/susan/susan.c14
27 files changed, 188 insertions, 210 deletions
diff --git a/baseline/source/adpcm_dec/adpcm_dec.c b/baseline/source/adpcm_dec/adpcm_dec.c
index 368e98d..0627c9c 100644
--- a/baseline/source/adpcm_dec/adpcm_dec.c
+++ b/baseline/source/adpcm_dec/adpcm_dec.c
@@ -708,12 +708,10 @@ void _Pragma( "entrypoint" ) adpcm_dec_main( void )
708int main(int argc, char **argv) 708int main(int argc, char **argv)
709{ 709{
710 SET_UP 710 SET_UP
711 for (jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ 711 for_each_job {
712 START_LOOP 712 adpcm_dec_init();
713 adpcm_dec_init(); 713 adpcm_dec_main();
714 adpcm_dec_main(); 714 }
715 STOP_LOOP 715 WRITE_TO_FILE
716}
717WRITE_TO_FILE
718 return ( adpcm_dec_return() ); 716 return ( adpcm_dec_return() );
719} 717}
diff --git a/baseline/source/adpcm_enc/adpcm_enc.c b/baseline/source/adpcm_enc/adpcm_enc.c
index 777aaf5..118382f 100644
--- a/baseline/source/adpcm_enc/adpcm_enc.c
+++ b/baseline/source/adpcm_enc/adpcm_enc.c
@@ -746,13 +746,11 @@ void _Pragma( "entrypoint" ) adpcm_enc_main(void)
746 746
747int main(int argc, char **argv) 747int main(int argc, char **argv)
748{ 748{
749 SET_UP 749 SET_UP
750 for(jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ 750 for_each_job {
751 START_LOOP 751 adpcm_enc_init();
752 adpcm_enc_init(); 752 adpcm_enc_main();
753 adpcm_enc_main(); 753 }
754 STOP_LOOP 754 WRITE_TO_FILE
755 }
756 WRITE_TO_FILE
757 return adpcm_enc_return(); 755 return adpcm_enc_return();
758} 756}
diff --git a/baseline/source/ammunition/ammunition.c b/baseline/source/ammunition/ammunition.c
index 052520e..4ae488b 100644
--- a/baseline/source/ammunition/ammunition.c
+++ b/baseline/source/ammunition/ammunition.c
@@ -1173,13 +1173,11 @@ void _Pragma( "entrypoint" ) ammunition_main( void )
1173 1173
1174int main( int argc, char **argv ) 1174int main( int argc, char **argv )
1175{ 1175{
1176 SET_UP 1176 SET_UP
1177 for (jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ 1177 for_each_job {
1178 START_LOOP 1178 ammunition_init();
1179 ammunition_init(); 1179 ammunition_main();
1180 ammunition_main(); 1180 }
1181 STOP_LOOP 1181 WRITE_TO_FILE
1182 }
1183 WRITE_TO_FILE
1184 return ( ammunition_return() ); 1182 return ( ammunition_return() );
1185} 1183}
diff --git a/baseline/source/anagram/anagram.c b/baseline/source/anagram/anagram.c
index 5c1f29a..fc8b6a8 100644
--- a/baseline/source/anagram/anagram.c
+++ b/baseline/source/anagram/anagram.c
@@ -337,6 +337,8 @@ void anagram_ReadDict( void )
337 337
338void anagram_init( void ) 338void anagram_init( void )
339{ 339{
340 // Reset heap
341 anagram_free_all();
340 anagram_ReadDict(); 342 anagram_ReadDict();
341} 343}
342 344
@@ -656,15 +658,11 @@ void _Pragma( "entrypoint" ) anagram_main( void )
656 658
657int main(int argc, char **argv) 659int main(int argc, char **argv)
658{ 660{
659 SET_UP 661 SET_UP
660 //int jobsComplete; 662 for_each_job {
661 //int maxJobs=100; 663 anagram_init();
662 //for(jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ 664 anagram_main();
663 START_LOOP 665 }
664 anagram_init(); 666 WRITE_TO_FILE
665 anagram_main();
666 STOP_LOOP
667 //}
668 WRITE_TO_FILE
669 return anagram_return(); 667 return anagram_return();
670} 668}
diff --git a/baseline/source/anagram/anagram_stdlib.c b/baseline/source/anagram/anagram_stdlib.c
index 994350b..c766a5e 100644
--- a/baseline/source/anagram/anagram_stdlib.c
+++ b/baseline/source/anagram/anagram_stdlib.c
@@ -142,6 +142,11 @@ void *anagram_malloc( unsigned int numberOfBytes )
142 return currentPos; 142 return currentPos;
143} 143}
144 144
145void anagram_free_all( void )
146{
147 anagram_freeHeapPos = 0;
148}
149
145void anagram_bzero( char *p, unsigned long len ) 150void anagram_bzero( char *p, unsigned long len )
146{ 151{
147 unsigned long i; 152 unsigned long i;
diff --git a/baseline/source/anagram/anagram_stdlib.h b/baseline/source/anagram/anagram_stdlib.h
index 0e745d5..536fcc3 100644
--- a/baseline/source/anagram/anagram_stdlib.h
+++ b/baseline/source/anagram/anagram_stdlib.h
@@ -24,6 +24,8 @@
24 24
25void *anagram_malloc( unsigned int numberOfBytes ); 25void *anagram_malloc( unsigned int numberOfBytes );
26 26
27void anagram_free_all( void );
28
27void anagram_qsort( void *va, unsigned long n, unsigned long es ); 29void anagram_qsort( void *va, unsigned long n, unsigned long es );
28 30
29#endif 31#endif
diff --git a/baseline/source/audiobeam/audiobeam.c b/baseline/source/audiobeam/audiobeam.c
index 50ebfff..5f23daf 100644
--- a/baseline/source/audiobeam/audiobeam.c
+++ b/baseline/source/audiobeam/audiobeam.c
@@ -104,6 +104,8 @@ void audiobeam_init()
104 unsigned int i; 104 unsigned int i;
105 unsigned char *p; 105 unsigned char *p;
106 volatile char bitmask = 0; 106 volatile char bitmask = 0;
107 // Reset heap
108 audiobeam_free_all();
107 109
108 /* 110 /*
109 Apply volatile XOR-bitmask to entire input array. 111 Apply volatile XOR-bitmask to entire input array.
@@ -577,17 +579,13 @@ void _Pragma( "entrypoint" ) audiobeam_main( void )
577 579
578 580
579int main( int argc, char **argv ) 581int main( int argc, char **argv )
580{ 582{
581 //SET_UP 583 SET_UP
582 int jobsComplete; 584 for_each_job {
583 int maxJobs=100; 585 audiobeam_init();
584 for (jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ 586 audiobeam_main();
585 // START_LOOP 587 }
586 audiobeam_init(); 588 WRITE_TO_FILE
587 audiobeam_main();
588 // STOP_LOOP
589 }
590 //WRITE_TO_FILE
591 589
592 return ( audiobeam_return() ); 590 return ( audiobeam_return() );
593} 591}
diff --git a/baseline/source/audiobeam/audiobeamlibmalloc.c b/baseline/source/audiobeam/audiobeamlibmalloc.c
index 50c3073..a81b634 100644
--- a/baseline/source/audiobeam/audiobeamlibmalloc.c
+++ b/baseline/source/audiobeam/audiobeamlibmalloc.c
@@ -11,4 +11,9 @@ void *audiobeam_malloc( unsigned int numberOfBytes )
11 /* Get a 4-byte address for alignment purposes */ 11 /* Get a 4-byte address for alignment purposes */
12 audiobeam_freeHeapPos += ( ( numberOfBytes + 4 ) & ( unsigned int )0xfffffffc ); 12 audiobeam_freeHeapPos += ( ( numberOfBytes + 4 ) & ( unsigned int )0xfffffffc );
13 return currentPos; 13 return currentPos;
14} \ No newline at end of file 14}
15
16void audiobeam_free_all( void )
17{
18 audiobeam_freeHeapPos = 0;
19}
diff --git a/baseline/source/audiobeam/audiobeamlibmalloc.h b/baseline/source/audiobeam/audiobeamlibmalloc.h
index eccbdb9..354bf0e 100644
--- a/baseline/source/audiobeam/audiobeamlibmalloc.h
+++ b/baseline/source/audiobeam/audiobeamlibmalloc.h
@@ -24,4 +24,6 @@
24 24
25void *audiobeam_malloc( unsigned int numberOfBytes ); 25void *audiobeam_malloc( unsigned int numberOfBytes );
26 26
27void audiobeam_free_all( void );
28
27#endif 29#endif
diff --git a/baseline/source/cjpeg_transupp/cjpeg_transupp.c b/baseline/source/cjpeg_transupp/cjpeg_transupp.c
index 5ec7e5e..112fba1 100644
--- a/baseline/source/cjpeg_transupp/cjpeg_transupp.c
+++ b/baseline/source/cjpeg_transupp/cjpeg_transupp.c
@@ -706,13 +706,11 @@ void _Pragma ( "entrypoint" ) cjpeg_transupp_main( void )
706 706
707int main(int argc, char **argv) 707int main(int argc, char **argv)
708{ 708{
709 SET_UP 709 SET_UP
710 for (jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ 710 for_each_job {
711 START_LOOP 711 cjpeg_transupp_init();
712 cjpeg_transupp_init(); 712 cjpeg_transupp_main();
713 cjpeg_transupp_main(); 713 }
714 STOP_LOOP 714 WRITE_TO_FILE
715 }
716 WRITE_TO_FILE
717 return ( cjpeg_transupp_return() - 660 != 0 ); 715 return ( cjpeg_transupp_return() - 660 != 0 );
718} 716}
diff --git a/baseline/source/cjpeg_wrbmp/cjpeg_wrbmp.c b/baseline/source/cjpeg_wrbmp/cjpeg_wrbmp.c
index 3c8d7ec..a7aa477 100644
--- a/baseline/source/cjpeg_wrbmp/cjpeg_wrbmp.c
+++ b/baseline/source/cjpeg_wrbmp/cjpeg_wrbmp.c
@@ -210,15 +210,13 @@ int cjpeg_wrbmp_return()
210 210
211int main(int argc, char **argv) 211int main(int argc, char **argv)
212{ 212{
213 SET_UP 213 SET_UP
214 for (jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ 214 for_each_job {
215 START_LOOP 215 cjpeg_wrbmp_init();
216 cjpeg_wrbmp_init(); 216 cjpeg_wrbmp_main();
217 cjpeg_wrbmp_main(); 217 }
218 STOP_LOOP 218 WRITE_TO_FILE
219 } 219 return ( cjpeg_wrbmp_return() );
220 WRITE_TO_FILE
221 return ( cjpeg_wrbmp_return() );
222} 220}
223 221
224#endif /* BMP_SUPPORTED */ 222#endif /* BMP_SUPPORTED */
diff --git a/baseline/source/dijkstra/dijkstra.c b/baseline/source/dijkstra/dijkstra.c
index 333fd43..6602918 100644
--- a/baseline/source/dijkstra/dijkstra.c
+++ b/baseline/source/dijkstra/dijkstra.c
@@ -192,13 +192,11 @@ void _Pragma( "entrypoint" ) dijkstra_main( void )
192 192
193int main(int argc, char** argv ) 193int main(int argc, char** argv )
194{ 194{
195 SET_UP 195 SET_UP
196 for(jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ 196 for_each_job {
197 START_LOOP 197 dijkstra_init();
198 dijkstra_init(); 198 dijkstra_main();
199 dijkstra_main(); 199 }
200 STOP_LOOP 200 WRITE_TO_FILE
201 }
202 WRITE_TO_FILE
203 return ( dijkstra_return() ); 201 return ( dijkstra_return() );
204} 202}
diff --git a/baseline/source/epic/epic.c b/baseline/source/epic/epic.c
index a1e344c..e31e54e 100644
--- a/baseline/source/epic/epic.c
+++ b/baseline/source/epic/epic.c
@@ -598,7 +598,7 @@ void epic_main( void );
598 Declaration of global variables 598 Declaration of global variables
599*/ 599*/
600 600
601float epic_filtertemp[FILTER_SIZE]; 601float epic_filtertemp[FILTER_SIZE*2]; // *2 to work around memory corruption issue
602float epic_hi_imagetemp[X_SIZE * Y_SIZE / 2]; 602float epic_hi_imagetemp[X_SIZE * Y_SIZE / 2];
603float epic_lo_imagetemp[X_SIZE * Y_SIZE / 2]; 603float epic_lo_imagetemp[X_SIZE * Y_SIZE / 2];
604 604
@@ -1129,13 +1129,16 @@ int epic_return(){
1129 1129
1130int main( int argc, char **argv ) 1130int main( int argc, char **argv )
1131{ 1131{
1132 SET_UP 1132 int exit_code = -1;
1133 for (jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ 1133 SET_UP
1134 START_LOOP 1134 for_each_job {
1135 epic_init(); 1135 epic_init();
1136 epic_main(); 1136 epic_main();
1137 STOP_LOOP 1137 // This checks the checksum is as expected.
1138 } 1138 // This is `&` as only the first job will match
1139 WRITE_TO_FILE 1139 // (image state persists between jobs).
1140 return epic_return(); 1140 exit_code &= epic_return();
1141 }
1142 WRITE_TO_FILE
1143 return exit_code;
1141} 1144}
diff --git a/baseline/source/fmref/fmref.c b/baseline/source/fmref/fmref.c
index e4c9aaa..b086f5a 100644
--- a/baseline/source/fmref/fmref.c
+++ b/baseline/source/fmref/fmref.c
@@ -77,14 +77,12 @@ int fmref_return(void)
77 77
78int main(int argc, char **argv){ 78int main(int argc, char **argv){
79 79
80 SET_UP 80 SET_UP
81 for(jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ 81 for_each_job {
82 START_LOOP 82 fmref_init();
83 fmref_init(); 83 fmref_main();
84 fmref_main(); 84 }
85 STOP_LOOP 85 WRITE_TO_FILE
86 }
87 WRITE_TO_FILE
88 return fmref_return(); 86 return fmref_return();
89} 87}
90 88
diff --git a/baseline/source/g723_enc/g723_enc.c b/baseline/source/g723_enc/g723_enc.c
index 209e3ce..bf2df51 100644
--- a/baseline/source/g723_enc/g723_enc.c
+++ b/baseline/source/g723_enc/g723_enc.c
@@ -172,6 +172,9 @@ short g723_enc_fitab[16] = {0, 0, 0, 0x200, 0x200, 0x200, 0x600, 0xE00,
172 0xE00, 0x600, 0x200, 0x200, 0x200, 0, 0, 0 172 0xE00, 0x600, 0x200, 0x200, 0x200, 0, 0, 0
173 }; 173 };
174 174
175static unsigned int g723_enc_out_buffer = 0;
176static int g723_enc_out_bits = 0;
177static int g723_enc_i = 0;
175 178
176/* 179/*
177 Declaration of macros 180 Declaration of macros
@@ -753,24 +756,21 @@ g723_enc_pack_output(
753 unsigned char code, 756 unsigned char code,
754 int bits ) 757 int bits )
755{ 758{
756 static unsigned int out_buffer = 0;
757 static int out_bits = 0;
758 unsigned char out_byte; 759 unsigned char out_byte;
759 static int i = 0; 760
760 761 g723_enc_out_buffer |= ( code << g723_enc_out_bits );
761 out_buffer |= ( code << out_bits ); 762 g723_enc_out_bits += bits;
762 out_bits += bits; 763 if ( g723_enc_out_bits >= 8 ) {
763 if ( out_bits >= 8 ) { 764 out_byte = g723_enc_out_buffer & 0xff;
764 out_byte = out_buffer & 0xff; 765 g723_enc_out_bits -= 8;
765 out_bits -= 8; 766 g723_enc_out_buffer >>= 8;
766 out_buffer >>= 8;
767 //fwrite(&out_byte, sizeof (char), 1, fp_out); 767 //fwrite(&out_byte, sizeof (char), 1, fp_out);
768 //fwrite(&out_byte, 1, 1, fp_out); 768 //fwrite(&out_byte, 1, 1, fp_out);
769 g723_enc_OUTPUT[i] = out_byte; 769 g723_enc_OUTPUT[g723_enc_i] = out_byte;
770 i = i + 1; 770 g723_enc_i = g723_enc_i + 1;
771 } 771 }
772 772
773 return ( out_bits > 0 ); 773 return ( g723_enc_out_bits > 0 );
774} 774}
775 775
776/* 776/*
@@ -815,6 +815,9 @@ void g723_enc_init()
815{ 815{
816 int i; 816 int i;
817 volatile int x = 0; 817 volatile int x = 0;
818 g723_enc_out_buffer = 0;
819 g723_enc_out_bits = 0;
820 g723_enc_i = 0;
818 g723_enc_init_state( &g723_enc_state ); 821 g723_enc_init_state( &g723_enc_state );
819 822
820 _Pragma( "loopbound min 256 max 256" ) 823 _Pragma( "loopbound min 256 max 256" )
@@ -872,16 +875,12 @@ void _Pragma( "entrypoint" ) g723_enc_main()
872 875
873int main( int argc, char **argv ) 876int main( int argc, char **argv )
874{ 877{
875 //SET_UP 878 SET_UP
876 int jobsComplete; 879 for_each_job {
877 int maxJobs=9; 880 g723_enc_init();
878 for (jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ 881 g723_enc_main();
879 // START_LOOP 882 }
880 g723_enc_init(); 883 WRITE_TO_FILE
881 g723_enc_main();
882 // STOP_LOOP
883 }
884 //WRITE_TO_FILE
885 return ( g723_enc_return() ); 884 return ( g723_enc_return() );
886} 885}
887 886
diff --git a/baseline/source/gsm_dec/gsm_dec.c b/baseline/source/gsm_dec/gsm_dec.c
index ba9a9e9..abde144 100644
--- a/baseline/source/gsm_dec/gsm_dec.c
+++ b/baseline/source/gsm_dec/gsm_dec.c
@@ -752,13 +752,11 @@ void _Pragma( "entrypoint" ) gsm_dec_main( void )
752 752
753int main( int argc, char **argv) 753int main( int argc, char **argv)
754{ 754{
755 SET_UP 755 SET_UP
756 for (jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ 756 for_each_job {
757 START_LOOP 757 gsm_dec_init();
758 gsm_dec_init(); 758 gsm_dec_main();
759 gsm_dec_main(); 759 }
760 STOP_LOOP 760 WRITE_TO_FILE
761 }
762 WRITE_TO_FILE
763 return ( gsm_dec_return() ); 761 return ( gsm_dec_return() );
764} 762}
diff --git a/baseline/source/gsm_enc/gsm_enc.c b/baseline/source/gsm_enc/gsm_enc.c
index e8154bb..75e2e7f 100644
--- a/baseline/source/gsm_enc/gsm_enc.c
+++ b/baseline/source/gsm_enc/gsm_enc.c
@@ -2060,13 +2060,11 @@ void gsm_enc_main( void )
2060 2060
2061int main( int argc, char** argv ) 2061int main( int argc, char** argv )
2062{ 2062{
2063 SET_UP 2063 SET_UP
2064 for (jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ 2064 for_each_job {
2065 START_LOOP 2065 gsm_enc_init();
2066 gsm_enc_init(); 2066 gsm_enc_main();
2067 gsm_enc_main(); 2067 }
2068 STOP_LOOP 2068 WRITE_TO_FILE
2069 }
2070 WRITE_TO_FILE
2071 return ( gsm_enc_return() ); 2069 return ( gsm_enc_return() );
2072} 2070}
diff --git a/baseline/source/h264_dec/h264_dec.c b/baseline/source/h264_dec/h264_dec.c
index e74bec9..1abd883 100644
--- a/baseline/source/h264_dec/h264_dec.c
+++ b/baseline/source/h264_dec/h264_dec.c
@@ -597,14 +597,12 @@ void _Pragma( "entrypoint" ) h264_dec_main( void )
597 597
598int main( int argc, char** argv ) 598int main( int argc, char** argv )
599{ 599{
600 SET_UP 600 SET_UP
601 for (jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ 601 for_each_job {
602 START_LOOP 602 h264_dec_init();
603 h264_dec_init(); 603 h264_dec_main();
604 h264_dec_main(); 604 }
605 STOP_LOOP 605 WRITE_TO_FILE
606 }
607 WRITE_TO_FILE
608 606
609 return ( h264_dec_return() ); 607 return ( h264_dec_return() );
610} 608}
diff --git a/baseline/source/huff_dec/huff_dec.c b/baseline/source/huff_dec/huff_dec.c
index 58b40d3..8ebf2f7 100644
--- a/baseline/source/huff_dec/huff_dec.c
+++ b/baseline/source/huff_dec/huff_dec.c
@@ -144,6 +144,8 @@ void huff_dec_init( void )
144{ 144{
145 huff_dec_input_pos = 0; 145 huff_dec_input_pos = 0;
146 huff_dec_output_pos = 0; 146 huff_dec_output_pos = 0;
147 huff_dec_byte_nb_to_read = 0;
148 huff_dec_val_to_read = 0;
147} 149}
148 150
149 151
@@ -379,15 +381,11 @@ void _Pragma( "entrypoint" ) huff_dec_main( void )
379 381
380int main( int argc, char **argv ) 382int main( int argc, char **argv )
381{ 383{
382 //SET_UP 384 SET_UP
383 int jobsComplete; 385 for_each_job {
384 int maxJobs=5; 386 huff_dec_init();
385 for (jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ 387 huff_dec_main();
386 // START_LOOP 388 }
387 huff_dec_init(); 389 WRITE_TO_FILE
388 huff_dec_main();
389 // STOP_LOOP
390 }
391 //WRITE_TO_FILE
392 return ( huff_dec_return() ); 390 return ( huff_dec_return() );
393} 391}
diff --git a/baseline/source/huff_enc/huff_enc.c b/baseline/source/huff_enc/huff_enc.c
index 0d74916..f2db552 100644
--- a/baseline/source/huff_enc/huff_enc.c
+++ b/baseline/source/huff_enc/huff_enc.c
@@ -577,13 +577,11 @@ void _Pragma( "entrypoint" ) huff_enc_main()
577 577
578int main( int argc, char **argv ) 578int main( int argc, char **argv )
579{ 579{
580 SET_UP 580 SET_UP
581 for (jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ 581 for_each_job {
582 START_LOOP 582 huff_enc_init();
583 huff_enc_init(); 583 huff_enc_main();
584 huff_enc_main(); 584 }
585 STOP_LOOP 585 WRITE_TO_FILE
586 }
587 WRITE_TO_FILE
588 return ( huff_enc_return() ); 586 return ( huff_enc_return() );
589} 587}
diff --git a/baseline/source/mpeg2/mpeg2.c b/baseline/source/mpeg2/mpeg2.c
index 0567225..cceeb30 100644
--- a/baseline/source/mpeg2/mpeg2.c
+++ b/baseline/source/mpeg2/mpeg2.c
@@ -13205,14 +13205,12 @@ void _Pragma ( "entrypoint" ) mpeg2_main( void )
13205 13205
13206int main( int argc, char **argv ) 13206int main( int argc, char **argv )
13207{ 13207{
13208 SET_UP 13208 SET_UP
13209 for (jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ 13209 for_each_job {
13210 START_LOOP 13210 mpeg2_init();
13211 mpeg2_init(); 13211 mpeg2_main();
13212 mpeg2_main(); 13212 }
13213 STOP_LOOP 13213 WRITE_TO_FILE
13214 }
13215 WRITE_TO_FILE
13216 13214
13217 return( mpeg2_return() - (-116) != 0 ); 13215 return( mpeg2_return() - (-116) != 0 );
13218} 13216}
diff --git a/baseline/source/ndes/ndes.c b/baseline/source/ndes/ndes.c
index f169c62..5d00d94 100644
--- a/baseline/source/ndes/ndes.c
+++ b/baseline/source/ndes/ndes.c
@@ -365,14 +365,12 @@ void _Pragma( "entrypoint" ) ndes_main()
365 365
366int main( int argc, char **argv ) 366int main( int argc, char **argv )
367{ 367{
368 SET_UP 368 SET_UP
369 for(jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ 369 for_each_job {
370 START_LOOP 370 ndes_init();
371 ndes_init(); 371 ndes_main();
372 ndes_main(); 372 }
373 STOP_LOOP 373 WRITE_TO_FILE
374 }
375 WRITE_TO_FILE
376 374
377 return ( ndes_return() ); 375 return ( ndes_return() );
378} 376}
diff --git a/baseline/source/petrinet/petrinet.c b/baseline/source/petrinet/petrinet.c
index 6ef3392..a54a999 100644
--- a/baseline/source/petrinet/petrinet.c
+++ b/baseline/source/petrinet/petrinet.c
@@ -976,14 +976,10 @@ int petrinet_return( void )
976int main( int argc, char **argv ) 976int main( int argc, char **argv )
977{ 977{
978 SET_UP 978 SET_UP
979 979 for_each_job {
980 for (jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ 980 petrinet_main();
981 981 }
982 START_LOOP 982 WRITE_TO_FILE
983 petrinet_main();
984 STOP_LOOP
985 }
986 WRITE_TO_FILE
987 983
988 return ( petrinet_return() ); 984 return ( petrinet_return() );
989} 985}
diff --git a/baseline/source/rijndael_dec/rijndael_dec.c b/baseline/source/rijndael_dec/rijndael_dec.c
index 61db767..c8f606b 100644
--- a/baseline/source/rijndael_dec/rijndael_dec.c
+++ b/baseline/source/rijndael_dec/rijndael_dec.c
@@ -182,14 +182,12 @@ void _Pragma( "entrypoint" ) rijndael_dec_main( void )
182 182
183int main(int argc, char** argv) 183int main(int argc, char** argv)
184{ 184{
185 SET_UP 185 SET_UP
186 for (jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ 186 for_each_job {
187 START_LOOP 187 rijndael_dec_init();
188 rijndael_dec_init(); 188 rijndael_dec_main();
189 rijndael_dec_main(); 189 }
190 STOP_LOOP 190 WRITE_TO_FILE
191 }
192 WRITE_TO_FILE
193 return ( rijndael_dec_return() ); 191 return ( rijndael_dec_return() );
194} 192}
195 193
diff --git a/baseline/source/rijndael_enc/rijndael_enc.c b/baseline/source/rijndael_enc/rijndael_enc.c
index 6c85eee..f0582c9 100644
--- a/baseline/source/rijndael_enc/rijndael_enc.c
+++ b/baseline/source/rijndael_enc/rijndael_enc.c
@@ -68,6 +68,7 @@ void rijndael_enc_init( void )
68 rijndael_enc_fin.data = rijndael_enc_data; 68 rijndael_enc_fin.data = rijndael_enc_data;
69 rijndael_enc_fin.size = 31369; 69 rijndael_enc_fin.size = 31369;
70 rijndael_enc_fin.cur_pos = 0; 70 rijndael_enc_fin.cur_pos = 0;
71 rijndael_enc_checksum = 0;
71 72
72 unsigned i; 73 unsigned i;
73 volatile int x = 0; 74 volatile int x = 0;
@@ -225,14 +226,17 @@ void _Pragma( "entrypoint" ) rijndael_enc_main( void )
225 226
226int main( int argc, char** argv ) 227int main( int argc, char** argv )
227{ 228{
228 SET_UP 229 int exit_code = -1;
229 for (jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ 230 SET_UP
230 START_LOOP 231 for_each_job {
231 rijndael_enc_init(); 232 rijndael_enc_init();
232 rijndael_enc_main(); 233 rijndael_enc_main();
233 STOP_LOOP 234 // This checks the checksum is as expected.
234 } 235 // This is `&` as only the first job will match
235 WRITE_TO_FILE 236 // (PRNG state persists between jobs).
236 return ( rijndael_enc_return() ); 237 exit_code &= rijndael_enc_return();
238 }
239 WRITE_TO_FILE
240 return ( exit_code );
237} 241}
238 242
diff --git a/baseline/source/statemate/statemate.c b/baseline/source/statemate/statemate.c
index 888d0fa..8239ed6 100644
--- a/baseline/source/statemate/statemate.c
+++ b/baseline/source/statemate/statemate.c
@@ -1273,14 +1273,12 @@ void _Pragma ( "entrypoint" ) statemate_main( void )
1273 1273
1274int main ( int argc, char **argv ) 1274int main ( int argc, char **argv )
1275{ 1275{
1276 SET_UP 1276 SET_UP
1277 for (jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ 1277 for_each_job {
1278 START_LOOP 1278 statemate_init();
1279 statemate_init(); 1279 statemate_main();
1280 statemate_main(); 1280 }
1281 STOP_LOOP 1281 WRITE_TO_FILE
1282 }
1283 WRITE_TO_FILE
1284 1282
1285 return statemate_return(); 1283 return statemate_return();
1286} 1284}
diff --git a/baseline/source/susan/susan.c b/baseline/source/susan/susan.c
index dc27fb1..14a2f28 100644
--- a/baseline/source/susan/susan.c
+++ b/baseline/source/susan/susan.c
@@ -2001,14 +2001,12 @@ int susan_return( void )
2001 2001
2002int main( int argc, char **argv ) 2002int main( int argc, char **argv )
2003{ 2003{
2004 SET_UP 2004 SET_UP
2005 for (jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ 2005 for_each_job {
2006 START_LOOP 2006 susan_init();
2007 susan_init(); 2007 susan_main();
2008 susan_main(); 2008 }
2009 STOP_LOOP 2009 WRITE_TO_FILE
2010 }
2011 WRITE_TO_FILE
2012 2010
2013 return susan_return(); 2011 return susan_return();
2014} 2012}