blob: 38683f76b36fbc71eb1ca4f32a9984d214b9fa4e [file] [log] [blame]
# Copyright 2015 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import collections
def checksum_counts(checksums):
"""
@param checksums: list of checksums, each checksum in a 4-tuple of ints
@returns a dictionary of checksums as keys mapped to their respective
count of occurance in the list.
"""
counts = {}
for checksum in checksums:
if checksum in counts:
counts[checksum] += 1
else:
counts[checksum] = 1
return counts
def checksum_indices(checksums):
"""
@param checksums: list of checksums.
@returns an OrderedDict containing checksums as keys and their respective
first-occurance indices as values
"""
d = collections.OrderedDict()
for i, checksum in enumerate(checksums):
if checksum not in d:
d[checksum] = i
return d