import sys
import string

print "binstocdf: version 1.1"

def main(argv=None):
    if not argv:
        argv = sys.argv

    if len(argv) < 3:
        print "usage: python %s infile outfile" % sys.argv[0]
        sys.exit(1)

    infilename = argv[1]
    outfilename = argv[2]

    binToCDF(infilename, outfilename)


def binToCDF(infilename, outfilename):
    infile = open(infilename)
    outfile = open(outfilename, "w")

    for line in infile:
        fields = line.strip().split()
        if len(fields) < 4:
            continue

        total = int(fields[2])
        if total == 0:
            outfile.write(line)
            continue

        outputFields = fields[:4]
        runningTotal = 0
        for bin in fields[4:]:
            runningTotal += int(bin)
            percent = 100 * runningTotal / total
            outputFields.append("%d" % percent)

        outputLine = string.join(outputFields, "\t")
        outfile.write("%s\n" % outputLine)

    infile.close()
    outfile.close()

if __name__ == "__main__":
    main(sys.argv)