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)