3 #include <orc-test/orctest.h>
4 #include <orc/orcparse.h>
9 static char * read_file (const char *filename);
10 void output_code (OrcProgram *p, FILE *output);
11 void output_code_header (OrcProgram *p, FILE *output);
12 void output_code_test (OrcProgram *p, FILE *output);
17 main (int argc, char *argv[])
22 OrcProgram **programs;
23 const char *filename = NULL;
31 if (filename == NULL) {
32 filename = getenv ("testfile");
34 if (filename == NULL) {
35 filename = "test.orc";
37 code = read_file (filename);
39 printf("perf_parse <file.orc>\n");
43 n = orc_parse (code, &programs);
48 perf_mmx = orc_test_performance_full (programs[i], 0, "mmx");
49 perf_sse = orc_test_performance_full (programs[i], 0, "sse");
50 printf("%g %g\n", perf_mmx, perf_sse);
59 read_file (const char *filename)
62 char *contents = NULL;
66 file = fopen (filename, "r");
67 if (file == NULL) return NULL;
69 ret = fseek (file, 0, SEEK_END);
70 if (ret < 0) goto bail;
73 if (size < 0) goto bail;
75 ret = fseek (file, 0, SEEK_SET);
76 if (ret < 0) goto bail;
78 contents = malloc (size + 1);
79 if (contents == NULL) goto bail;
81 ret = fread (contents, size, 1, file);
82 if (ret < 0) goto bail;
88 /* something failed */
89 if (file) fclose (file);
90 if (contents) free (contents);