| 175 | } |
| 176 | |
| 177 | static Key RandomTarget(Random* rnd) { |
| 178 | switch (rnd->Next() % 10) { |
| 179 | case 0: |
| 180 | // Seek to beginning |
| 181 | return MakeKey(0, 0); |
| 182 | case 1: |
| 183 | // Seek to end |
| 184 | return MakeKey(K, 0); |
| 185 | default: |
| 186 | // Seek to middle |
| 187 | return MakeKey(rnd->Next() % K, 0); |
| 188 | } |
| 189 | } |
| 190 | |
| 191 | // Per-key generation |
| 192 | struct State { |