Skip to content

Commit e2825f3

Browse files
committed
Move CatConfig construct next to struct
1 parent 4368cab commit e2825f3

File tree

1 file changed

+25
-25
lines changed

1 file changed

+25
-25
lines changed

src/CatConfig.jl

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,31 @@ Implicit constructor for $(FUNCTIONNAME).
5454
ability_tracker::AbilityTrackerT = NullAbilityTracker()
5555
end
5656

57+
function CatRules(bits...)
58+
ability_estimator, ability_tracker = _find_ability_estimator_and_tracker(bits...)
59+
if ability_estimator === nothing
60+
error("Could not find an ability estimator in $(bits)")
61+
end
62+
if ability_tracker === nothing
63+
error("Could not find an ability tracker in $(bits)")
64+
end
65+
next_item = NextItemRule(bits...,
66+
ability_estimator = ability_estimator,
67+
ability_tracker = ability_tracker)
68+
if next_item === nothing
69+
error("Could not find a next item rule in $(bits)")
70+
end
71+
termination_condition = TerminationCondition(bits...)
72+
if termination_condition === nothing
73+
error("Could not find a termination condition in $(bits)")
74+
end
75+
CatRules(;
76+
next_item = next_item,
77+
termination_condition = termination_condition,
78+
ability_estimator = ability_estimator,
79+
ability_tracker = collect_trackers(next_item, ability_tracker))
80+
end
81+
5782
function _find_ability_estimator_and_tracker(bits...)
5883
ability_estimator = AbilityEstimator(bits...)
5984
ability_tracker = AbilityTracker(bits...; ability_estimator = ability_estimator)
@@ -88,31 +113,6 @@ function collect_trackers(next_item_rule::NextItemRule, ability_tracker::Ability
88113
end
89114
end
90115

91-
function CatRules(bits...)
92-
ability_estimator, ability_tracker = _find_ability_estimator_and_tracker(bits...)
93-
if ability_estimator === nothing
94-
error("Could not find an ability estimator in $(bits)")
95-
end
96-
if ability_tracker === nothing
97-
error("Could not find an ability tracker in $(bits)")
98-
end
99-
next_item = NextItemRule(bits...,
100-
ability_estimator = ability_estimator,
101-
ability_tracker = ability_tracker)
102-
if next_item === nothing
103-
error("Could not find a next item rule in $(bits)")
104-
end
105-
termination_condition = TerminationCondition(bits...)
106-
if termination_condition === nothing
107-
error("Could not find a termination condition in $(bits)")
108-
end
109-
CatRules(;
110-
next_item = next_item,
111-
termination_condition = termination_condition,
112-
ability_estimator = ability_estimator,
113-
ability_tracker = collect_trackers(next_item, ability_tracker))
114-
end
115-
116116
"""
117117
Configuration for a simulatable CAT.
118118
"""

0 commit comments

Comments
 (0)