| 805 | //--------------------------------------------------------------------------- |
| 806 | |
| 807 | int main(int argc, char *argv[]) |
| 808 | { |
| 809 | unsigned int num_points = 100000; |
| 810 | bool use_iostream = false; |
| 811 | bool run_forever = false; |
| 812 | bool use_random = false; |
| 813 | unsigned int user_seed = (unsigned int)time(NULL); |
| 814 | |
| 815 | for (int i=1; i<argc; i++) |
| 816 | { |
| 817 | const char* p = argv[i]; |
| 818 | if (strcmp(p,"-n")==0) |
| 819 | { |
| 820 | ++i; |
| 821 | num_points = atoi(argv[i]); |
| 822 | } |
| 823 | else if (strcmp(p,"-s")==0) |
| 824 | { |
| 825 | use_iostream = true; |
| 826 | } |
| 827 | else if (strcmp(p,"-f")==0) |
| 828 | { |
| 829 | run_forever = true; |
| 830 | } |
| 831 | else if (strcmp(p,"-r")==0) |
| 832 | { |
| 833 | use_random = true; |
| 834 | } |
| 835 | else if (strcmp(p,"-x")==0) |
| 836 | { |
| 837 | ++i; |
| 838 | user_seed = atoi(argv[i]); |
| 839 | } |
| 840 | else |
| 841 | { |
| 842 | fprintf(stderr, "Usage ziptest [-n NUMBER] [-s] [-f] [-r]\n"); |
| 843 | fprintf(stderr, " -n number of points to process (default 100000)\n"); |
| 844 | fprintf(stderr, " -s use C++ stream I/O (default use FILE* I/O)\n"); |
| 845 | fprintf(stderr, " -f run forever (default run just one pass)\n"); |
| 846 | fprintf(stderr, " -r use random input data (default use fixed data)\n"); |
| 847 | fprintf(stderr, " -x set random seed, instead of current time (default: use time)\n"); |
| 848 | exit(1); |
| 849 | } |
| 850 | } |
| 851 | |
| 852 | settings = new Settings(num_points, use_random, use_iostream); |
| 853 | |
| 854 | log("Settings:\n"); |
| 855 | log(" num_points=%u, use_iostream=%s, run_forever=%s, use_random=%s, user_seed=%d\n", |
| 856 | num_points, use_iostream?"true":"false", run_forever?"true":"false", use_random?"true":"false", user_seed); |
| 857 | |
| 858 | settings->seed = user_seed; |
| 859 | |
| 860 | unsigned int run = 1; |
| 861 | do |
| 862 | { |
| 863 | PointData data; |
| 864 | |