home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 28 / amigaformatcd28.iso / -seriously_amiga- / misc / posbb / src / generic / main.c < prev    next >
C/C++ Source or Header  |  1998-05-09  |  2KB  |  74 lines

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4. #include "posbb.h"
  5. #include "posbb_rev.h"
  6.  
  7.  
  8.  
  9. int main();
  10. void Perform_Test();
  11. FILE *fi = 0;
  12. unsigned char Version []=VERSTAG;
  13. unsigned char Copyright []=VERS;
  14.  
  15.  
  16.  
  17. int main( argc, argv )
  18. int argc;
  19. char *argv[];
  20. {
  21. long tests = 0;
  22. int c,precision = POSBB_PRECISIONLOW;
  23.    if (argc == 1)  
  24.    {
  25.       printf("POSBB Portable OS Based Benchmark   ( Generic version )\n Created by Pietro Altomani <altomanipietro@pragmanet.it>\nUsage: %s <options>\nOptions:\n  -all  Perform all tests\n  -mem Perform only memory tests\n  -disk Perform only disk tests\n  -math Perform only math tests\n  -o <filename> Output file name\n  -p <precision> Set precision. <precision> can be 'low','medium','high','higher' or 'highest'.\nRead docs for more infos.\n",argv[0]);
  26.       return 10;
  27.    }
  28.    for (c=0;c<argc;c++)
  29.    {
  30.       if (strcmp(argv[c],"-all") == 0)
  31.       {
  32.      tests = -1;
  33.       }
  34.       if (strcmp(argv[c],"-gfx") == 0)
  35.       {
  36.      tests |= POSBB_TESTWRITEPIXEL;
  37.       }
  38.       if (strcmp(argv[c],"-disk") == 0)
  39.       {
  40.      tests |= (POSBB_TESTREAD | POSBB_TESTWRITE);
  41.       }
  42.       if (strcmp(argv[c],"-math") == 0)
  43.       {
  44.      tests |= (POSBB_TESTIMATH | POSBB_TESTFPMATH);
  45.       }
  46.       if (strcmp(argv[c],"-mem") == 0)
  47.       {
  48.      tests |= (POSBB_TESTCOPYMEM | POSBB_TESTCOPYMEM_1MB | POSBB_TESTCOPYMEM_512KB );
  49.       }
  50.       if (strcmp(argv[c],"-sort") == 0)
  51.       {
  52.      tests |= (POSBB_TESTQSORT);
  53.       }
  54.       if ((strcmp(argv[c],"-o")) == 0)
  55.       {
  56.      fi = fopen(argv[c+1],"w");
  57.       }
  58.       if ((strcmp(argv[c],"-p")) == 0)
  59.       {
  60.      if ((strcmp(argv[c+1],"low")) == 0) precision = POSBB_PRECISIONLOW;
  61.      if ((strcmp(argv[c+1],"medium")) == 0) precision = POSBB_PRECISIONMEDIUM;
  62.      if ((strcmp(argv[c+1],"high")) == 0) precision = POSBB_PRECISIONHIGH;
  63.      if ((strcmp(argv[c+1],"higher")) == 0) precision = POSBB_PRECISIONHIGHER;
  64.      if ((strcmp(argv[c+1],"highest")) == 0) precision = POSBB_PRECISIONHIGHEST;
  65.       }
  66.    }
  67.  
  68.    if (fi == 0) fi = fopen(POSBB_DEFRESULTFILE,"w");
  69.    Perform_Test(tests,precision);
  70.    fclose( ( FILE * ) fi );
  71.    return 0;
  72. }
  73.  
  74.