def mapper(encoded_data, raw_data, special_values=None):
    """A simple utility to create a lut for known Base85 encoding

    :param str encoded_data: The path of the encoded file,
    :param list raw_data: A list of raw data, showing the unencoded data
    """
    data = encoded_data
    if special_values:
        # special case replace 'z's with '!!!!!'
        data = encoded_data
        for key in special_values.keys():
            data = data.replace(special_values[key], key)

    # half encode to base85, without using a lut
    half_encoded = []
    unpack = struct.unpack
    pack = struct.pack
    for i in xrange(0, len(raw_data)):
        # get the unencoded base85 of the
        # integer corresponding of the float number
        unencoded_base85 = unpack('I', pack('f', raw_data[i]))[0]
        half_encoded.append(unencoded_base85 // 52200625)
        half_encoded.append((unencoded_base85 // 614125) % 85)
        half_encoded.append(85 % (unencoded_base85 // 7225))
        half_encoded.append((unencoded_base85 // 85) % 85)
        half_encoded.append(unencoded_base85 % 85)

    lut = {}
    for i in range(len(half_encoded)):
        lut[data[i]] = half_encoded[i]

    return lut
dataset/ETHPy150Open eoyilmaz/anima/anima/render/arnold/base85.py/mapper/swapped operands of `%`