#!/usr/bin/env python

import sys

def calculate_ioc(data, shift=1):
    match = 0
    for i in range(0, len(data)):
        j = (i + shift) % len(data)
        if data[i] == data[j]:
            match += 1
    ioc = (float(match)/float(len(data)))
    return ioc

if __name__ == "__main__":
    if len(sys.argv) < 2 or len(sys.argv) > 3:
        print 'Usage: ' + sys.argv[0] + ' <filename> [shift]'
        sys.exit(1)
    
    try:
        fp = open(sys.argv[1],'r')
    except:
        print 'Could not open ' + sys.argv[1]
        sys.exit(1)
    
    data = fp.read()
    fp.close()
    
    if len(sys.argv) == 3:    
        shift = int(sys.argv[2])
    else:
        shift = 1
    
    print calculate_ioc(data, shift)

