def calculate_fingerprint_similarity_matrix(conn, track_ids):
    fp1 = schema.fingerprint.alias('fp1')
    fp2 = schema.fingerprint.alias('fp2')
    src = fp1.join(fp2, fp2.c.id < fp1.c.id)
    cond = sql.and_(fp1.c.track_id.in_(track_ids), fp2.c.track_id.in_(track_ids))
    query = sql.select([
        fp1.c.id, fp2.c.id,
        sql.func.acoustid_compare2(fp1.c.fingerprint, fp2.c.fingerprint, const.TRACK_MAX_OFFSET),
    ], cond, from_obj=src).order_by(fp1.c.id, fp2.c.id)
    result = {}
    for fp1_id, fp2_id, score in conn.execute(query):
        result.setdefault(fp1_id, {})[fp2_id] = score
        result.setdefault(fp2_id, {})[fp1_id] = score
        result.setdefault(fp1_id, {})[fp1_id] = 1.0
        result.setdefault(fp2_id, {})[fp2_id] = 1.0
    return result
dataset/ETHPy150Open lalinsky/acoustid-server/acoustid/data/track.py/calculate_fingerprint_similarity_matrix/swapped operands of `<`