j-js commited on
Commit
f0d95d4
·
verified ·
1 Parent(s): 7dfefff

Update solver_router.py

Browse files
Files changed (1) hide show
  1. solver_router.py +34 -37
solver_router.py CHANGED
@@ -1,50 +1,47 @@
1
  from __future__ import annotations
2
 
3
- from typing import Optional
4
-
5
  from quant_solver import solve_quant
6
 
7
- from solver_weighted_average import solve_weighted_average
8
- from solver_work_rate import solve_work_rate
9
  from solver_distance_rate_time import solve_distance_rate_time
 
10
  from solver_mixture import solve_mixture
11
  from solver_number_properties import solve_number_properties
 
 
 
 
 
 
 
 
12
 
13
- def route_solver(text: str):
14
-
15
- result = solve_weighted_average(text)
16
- if result:
17
- return result
18
- result = solve_work_rate(text)
19
- if result:
20
- return result
21
- result = solve_distance_rate_time(text)
22
- if result:
23
- return result
24
- result = solve_mixture(text)
25
- if result:
26
- return result
27
- result=solve_number_properties(text)
28
- if result:
29
- return result
30
-
31
- lower = (text or "").lower()
32
-
33
- # percent problems
34
- if "%" in lower or "percent" in lower:
35
- return solve_quant(text)
36
 
37
- # ratio problems
38
- if "ratio" in lower or ":" in lower:
39
- return solve_quant(text)
40
-
41
- # remainder / divisibility
42
- if "remainder" in lower or "divisible" in lower:
43
  return solve_quant(text)
44
 
45
- # algebra equations
46
- if "=" in lower:
47
- return solve_quant(text)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
48
 
49
- # fallback
50
  return solve_quant(text)
 
1
  from __future__ import annotations
2
 
 
 
3
  from quant_solver import solve_quant
4
 
5
+ from solver_absolute_value import solve_absolute_value
6
+ from solver_combinatorics import solve_combinatorics
7
  from solver_distance_rate_time import solve_distance_rate_time
8
+ from solver_factorial import solve_factorial
9
  from solver_mixture import solve_mixture
10
  from solver_number_properties import solve_number_properties
11
+ from solver_overlapping_sets import solve_overlapping_sets
12
+ from solver_percent import solve_percent
13
+ from solver_probability import solve_probability
14
+ from solver_ratio import solve_ratio
15
+ from solver_remainder import solve_remainder
16
+ from solver_standard_deviation import solve_standard_deviation
17
+ from solver_weighted_average import solve_weighted_average
18
+ from solver_work_rate import solve_work_rate
19
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
20
 
21
+ def route_solver(text: str):
22
+ if not text:
 
 
 
 
23
  return solve_quant(text)
24
 
25
+ ordered_solvers = [
26
+ solve_percent,
27
+ solve_ratio,
28
+ solve_probability,
29
+ solve_remainder,
30
+ solve_combinatorics,
31
+ solve_overlapping_sets,
32
+ solve_standard_deviation,
33
+ solve_absolute_value,
34
+ solve_factorial,
35
+ solve_weighted_average,
36
+ solve_work_rate,
37
+ solve_distance_rate_time,
38
+ solve_mixture,
39
+ solve_number_properties,
40
+ ]
41
+
42
+ for solver in ordered_solvers:
43
+ result = solver(text)
44
+ if result:
45
+ return result
46
 
 
47
  return solve_quant(text)