| 399 | |
| 400 | |
| 401 | def format_intervals(prediction): |
| 402 | patterns = { |
| 403 | "Interval(": r"^Interval\((.*)\)$", |
| 404 | "Interval.Ropen(": r"^Interval\.Ropen\((.*)\)$", |
| 405 | "Interval.Lopen(": r"^Interval\.Lopen\((.*)\)$", |
| 406 | "Interval.open(": r"^Interval\.open\((.*)\)$", |
| 407 | } |
| 408 | |
| 409 | for key, pattern in patterns.items(): |
| 410 | match = re.match(pattern, prediction) |
| 411 | if match: |
| 412 | inner_content = match.group(1) |
| 413 | |
| 414 | if key == "Interval(": # Intarval(a, b) == [a, b] |
| 415 | return f"[{inner_content}]" |
| 416 | elif key == "Interval.Ropen(": # Intarval.Ropen(a, b) == [a, b) |
| 417 | return f"[{inner_content})" |
| 418 | elif key == "Interval.Lopen(": # Intarval.Lopen(a, b) == (a, b] |
| 419 | return f"({inner_content}]" |
| 420 | elif key == "Interval.open(": # Intarval.open(a, b) == (a, b) |
| 421 | return f"({inner_content})" |
| 422 | |
| 423 | return prediction |
| 424 | |
| 425 | |
| 426 | def _test_math_equal(): |