Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Locked thread
ephphatha
Dec 18, 2009




Hopefully you already noticed but that (still) generates bitstreams which are heavily biased to contain runs of consecutive 1 bits. Your top 16 most frequent sequences are every possible permutation with all 1 bits in a single consecutive run:

(reordered for clarity)
code:
1111111100000000 2186
0111111110000000 2359
0011111111000000 2379
0001111111100000 2294
0000111111110000 2314
0000011111111000 2319
0000001111111100 2241
0000000111111110 2397
0000000011111111 2365
1000000001111111 2349
1100000000111111 2306
1110000000011111 2214
1111000000001111 2294
1111100000000111 2276
1111110000000011 2362
1111111000000001 2276
The next set of most frequent occurrences are sequences where you have 7 consecutive 1 bits with an isolated 1 at some point. You have 112 of those. After that you start to get into the more evenly distributed numbers, but it's still possible to identify the preference for long sequences of consecutive 1 bits throughout most of the first third of the sample.

Plotting the distribution shows the bias fairly clearly:


You can see there are four distinct regions, the most frequent results are the 16 listed above, then there's a sharp drop to the 112 sequences with 7 consecutive bits, then another sharp drop to the sequences with 6 consecutive bits, then a small drop to the rest of the sequences.

Since you're not shuffling you'll never break up any runs of consecutive bits. What might be useful is to reverse one byte when you rotate, it wont be perfect but should improve things somewhat.

Adbot
ADBOT LOVES YOU

  • Locked thread