close
Unleash raw power with Contabo Dedicated Servers
Ad Experience unmatched reliability, global data center locations, and premium German engineering

Rearray binary tool

This high performance tool rearrays its input adding a second dimension of size n bits/8 bits.

It is useful to test serial correlation by estimating the entropy of each output.

#rearray each 8/32 bits in 4 files
output[0][0] = input[0] >> rearray.0
output[1][0] = input[1] >> rearray.1
output[2][0] = input[2] >> rearray.2
output[3][0] = input[3] >> rearray.3
output[0][1] = input[4] >> rearray.0
output[1][1] = input[5] >> rearray.1
output[2][1] = input[6] >> rearray.2
output[3][1] = input[7] >> rearray.3

Use

#rearray each 8/16 bits in 2 files
rearray-16 input

#rearray each 8/32 bits in 4 files
rearray-32 input

#rearray each 8/64 bits in 8 files
rearray-64 input

#rearray each 8/128 bits in 16 files
rearray-128 input

#rearray each 8/256 bits in 32 files
rearray-256 input

#rearray each 8/512 bits in 64 files
rearray-512 input

Recommended use

#ncomputers.org/entropy
for b in {16,32,64,128,256,512}
 do rearray-$b input
 for f in rearray.*
  do entropy 1 $f
 done
done
rm rearray.*

Install

#ncomputers.org/debian
apt-get install rearray
#makefile as su
make install

Compile

g++ -O3 -std=c++11 rearray.cpp -o rearray-16 -D Bits=16
g++ -O3 -std=c++11 rearray.cpp -o rearray-32 -D Bits=32
g++ -O3 -std=c++11 rearray.cpp -o rearray-64 -D Bits=64
g++ -O3 -std=c++11 rearray.cpp -o rearray-128 -D Bits=128
g++ -O3 -std=c++11 rearray.cpp -o rearray-256 -D Bits=256
g++ -O3 -std=c++11 rearray.cpp -o rearray-512 -D Bits=512