(ans_p_str, ans_l_str, is_strict=False)
| 208 | |
| 209 | @timeout_decorator.timeout(5) |
| 210 | def compare_ans(ans_p_str, ans_l_str, is_strict=False): |
| 211 | ans_p_str = clean_expr_str(ans_p_str) |
| 212 | ans_p_str = ans_p_str.replace(",", "").replace("$", "") |
| 213 | ans_l_str = clean_expr_str(ans_l_str) |
| 214 | ans_l_str = ans_l_str.replace(",", "").replace("$", "") |
| 215 | if ans_p_str is None: |
| 216 | return False |
| 217 | if ans_p_str.replace(" ", "") == ans_l_str.replace(" ", ""): |
| 218 | return True |
| 219 | ans_p = parse_latex_answer(ans_p_str) |
| 220 | if ans_p is None: |
| 221 | return False |
| 222 | ans_l = parse_latex_answer(ans_l_str) |
| 223 | if ans_l is None: |
| 224 | return False |
| 225 | if is_expr_equal(ans_p, ans_l, is_strict=is_strict): |
| 226 | return True |
| 227 | # TODO not suitable |
| 228 | ans_p_str = extract_answer_number(ans_p_str) |
| 229 | if is_number(ans_p_str): |
| 230 | ans_p = parse_latex_answer(ans_p_str) |
| 231 | if is_expr_equal(ans_p, ans_l, is_strict=is_strict): |
| 232 | return True |
| 233 | return False |
| 234 | |
| 235 | |
| 236 | def vote(answers): |
no test coverage detected