Example #1
0
def coding_tests(raw_data, encoded_data, bitfield, iters=10):
    code = CauchyEC(k, m, bitfield=bitfield)

    for i in xrange(iters):
        code.encode(raw_data, encoded_data)

    erasures = random.sample(range(n), m)
    for i in erasures:
        if i < k:
            raw_data[i].fill(-1)
        else:
            encoded_data[i - k].fill(-1)
    code.decode(raw_data, encoded_data, erasures)
Example #2
0
code.encode(raw_data, encoded_data)

print '\nRAW DATA:'
for i,d in enumerate(raw_data):
    print i,d

print '\nPARITY DATA:'
for i,d in enumerate(encoded_data):
    print i,d

erasures = random.sample(range(n), m)
print '\nERASURES:',erasures

for i in erasures:
    if i<k:
        raw_data[i].fill(0)
    else:
        encoded_data[i-k].fill(0)

code.decode(raw_data, encoded_data, erasures)

print '\nAFTER REPAIRING:'

print '\nRAW DATA:'
for i,d in enumerate(raw_data):
    print i,d

print '\nPARITY DATA:'
for i,d in enumerate(encoded_data):
    print i,d