22$(TYPEDEF)
33$(TYPEDFIELDS)
44
5- This is the most basic rule for choosing the next item in a CAT. It simply
6- picks a random item from the set of items that have not yet been
7- administered.
85"""
9- @kwdef struct PiecewiseNextItemRule {RulesT} <: NextItemRule
6+ @kwdef struct FixedRuleSequencer {RulesT} <: NextItemRule
107 # Tuple of Ints
118 breaks:: Tuple{Int}
129 # Tuple of NextItemRules
1512
1613# tuple_len(::NTuple{N, Any}) where {N} = Val{N}()
1714
18- function current_rule (rule:: PiecewiseNextItemRule , responses:: TrackedResponses )
15+ function current_rule (rule:: FixedRuleSequencer , responses:: TrackedResponses )
1916 for brk in 1 : length (rule. breaks)
2017 if length (responses) < rule. breaks[brk]
2118 return rule. rules[brk]
@@ -24,11 +21,11 @@ function current_rule(rule::PiecewiseNextItemRule, responses::TrackedResponses)
2421 return rule. rules[end ]
2522end
2623
27- function best_item (rule:: PiecewiseNextItemRule , responses:: TrackedResponses , items)
24+ function best_item (rule:: FixedRuleSequencer , responses:: TrackedResponses , items)
2825 return best_item (current_rule (rule, responses), responses, items)
2926end
3027
31- function compute_criteria (rule:: PiecewiseNextItemRule , responses:: TrackedResponses )
28+ function compute_criteria (rule:: FixedRuleSequencer , responses:: TrackedResponses )
3229 return compute_criteria (current_rule (rule, responses), responses)
3330end
3431
@@ -47,5 +44,5 @@ function best_item(rule::MemoryNextItemRule, responses::TrackedResponses, _items
4744end
4845
4946function FixedFirstItemNextItemRule (item_idx:: Int , rule:: NextItemRule )
50- PiecewiseNextItemRule ((1 ,), (MemoryNextItemRule ((item_idx,)), rule))
47+ FixedRuleSequencer ((1 ,), (MemoryNextItemRule ((item_idx,)), rule))
5148end
0 commit comments