GameAI / solver_router.py
j-js's picture
Upload 5 files
ae81756 verified
from __future__ import annotations
from quant_solver import solve_quant
from solver_absolute_value import solve_absolute_value
from solver_algebra import solve_algebra
from solver_combinatorics import solve_combinatorics
from solver_distance_rate_time import solve_distance_rate_time
from solver_factorial import solve_factorial
from solver_number_properties import solve_number_properties
from solver_overlapping_sets import solve_overlapping_sets
from solver_percent import solve_percent
from solver_probability import solve_probability
from solver_ratio import solve_ratio
from solver_remainder import solve_remainder
from solver_standard_deviation import solve_standard_deviation
from solver_weighted_average_and_mixture import solve_weighted_average_and_mixture
from solver_work_rate import solve_work_rate
def route_solver(text: str):
"""Route to the most specific solver first."""
if not text or not text.strip():
return solve_quant(text)
text = text.strip()
ordered_solvers = [
solve_standard_deviation,
solve_overlapping_sets,
solve_combinatorics,
solve_weighted_average_and_mixture,
solve_work_rate,
solve_distance_rate_time,
solve_percent,
solve_ratio,
solve_probability,
solve_remainder,
solve_factorial,
solve_absolute_value,
solve_number_properties,
solve_algebra,
]
for solver in ordered_solvers:
try:
result = solver(text)
if result:
return result
except Exception:
continue
return solve_quant(text)