Change Details
| tornado/fw/sim/alg.c |
| 47 | 47 | |
| 48 | 48 | static void process(unsigned v) |
| 49 | 49 | { |
| 50 | | uint16_t e = MID << E_SHIFT; |
| 51 | | uint32_t m = MID << M_SHIFT; |
| 50 | static uint16_t e = MID << E_SHIFT; |
| 51 | static uint32_t m = MID << M_SHIFT; |
| 52 | static bool up = 0; |
| 52 | 53 | int d; |
| 53 | | bool up = 0; |
| 54 | 54 | |
| 55 | 55 | e = v+(e-(e >> E_SHIFT)); |
| 56 | 56 | m = v+(m-(m >> M_SHIFT)); |
| ... | ... | |
| 79 | 79 | double t; |
| 80 | 80 | char *end; |
| 81 | 81 | int i; |
| 82 | | |
| 83 | | if (argc != 2) |
| 84 | | usage(*argv); |
| 85 | | t = strtod(argv[1], &end); |
| 86 | | if (*end) |
| 82 | unsigned v; |
| 83 | |
| 84 | switch (argc) { |
| 85 | case 1: |
| 86 | while (scanf("%u", &v) == 1) |
| 87 | process(v); |
| 88 | break; |
| 89 | case 2: |
| 90 | t = strtod(argv[1], &end); |
| 91 | if (*end) |
| 92 | usage(*argv); |
| 93 | for (i = 0; i != t*S; i++) { |
| 94 | v = sample((double) i/S); |
| 95 | process(v); |
| 96 | } |
| 97 | break; |
| 98 | default: |
| 87 | 99 | usage(*argv); |
| 88 | | for (i = 0; i != t*S; i++) { |
| 89 | | unsigned v = sample((double) i/S); |
| 90 | | |
| 91 | | process(v); |
| 92 | 100 | } |
| 101 | |
| 93 | 102 | return 0; |
| 94 | 103 | } |
Download the corresponding diff file