def print_similar_and_completions()

in reference/src/main/python/similar.py [0:0]


def print_similar_and_completions(query_record, records, vectorizer, counter_matrix):
    candidate_records = find_similar(
        query_record,
        records,
        vectorizer,
        counter_matrix,
        config.NUM_SIMILARS,
        config.MIN_SIMILARITY_SCORE,
        config.MIN_PRUNED_SCORE,
    )
    print_match_index(query_record, candidate_records)
    clustered_records = cluster_and_intersect(
        query_record,
        candidate_records,
        config.TOP_N,
        config.THRESHOLD1,
        config.THRESHOLD2,
    )

    print(
        f"################ query code ################ index = {query_record['index']}"
    )
    print(ast_to_code(query_record["ast"]))
    if query_record["index"] >= 0:
        print("---------------- extracted from ---------------")
        print(ast_to_code(records[query_record["index"]]["ast"]))

    for clustered_record in clustered_records:
        print(
            f"------------------- suggested code completion ------------------"
        )  # idxs = ({clustered_record[1:]}), score = {candidate_records[clustered_record[1]][3]}")
        print(
            ast_to_code_with_full_lines(
                clustered_record[0]["ast"], clustered_record[1]["ast"]
            )
        )

    if config.PRINT_SIMILAR:
        j = 0
        for (candidate_record, score, pruned_record, pruned_score) in candidate_records:
            print(
                f"idx = {j}:------------------- similar code ------------------ index = {candidate_record['index']}, score = {score}"
            )
            print(ast_to_code(candidate_record["ast"]))
            print(
                f"------------------- similar code (pruned) ------------------ score = {pruned_score}"
            )
            print(ast_to_code(pruned_record["ast"]))
            j += 1
    print("", flush=True)