in tensorrtllm/run_eval.py [0:0]
def longest_common_substring(s1, s2):
len1, len2 = len(s1), len(s2)
dp = [[0] * (len2 + 1) for _ in range(len1 + 1)]
longest_length = 0
end_index_s1 = 0
for i in range(1, len1 + 1):
for j in range(1, len2 + 1):
if s1[i - 1] == s2[j - 1]:
dp[i][j] = dp[i - 1][j - 1] + 1
if dp[i][j] > longest_length:
longest_length = dp[i][j]
end_index_s1 = i
else:
dp[i][j] = 0
return s1[end_index_s1 - longest_length:end_index_s1]