import struct


def s15f16l(s):
    """Convert sequence of ICC s15Fixed16 to list of float."""

    # Note: As long as float has at least 32 bits of mantissa, all
    # values are preserved.
    n = len(s) // 4
    t = struct.unpack('>%dl' % n, s)
    return map((2**-16).__mul__, t)