@@ -6,10 +6,10 @@ struct ExploreSettings
6
6
end
7
7
8
8
"""
9
- ExploreSettings(domains;
10
- complete_search_limit = 10^6,
11
- max_samplings = sum(domain_size, domains),
12
- search = :flexible,
9
+ ExploreSettings(domains;
10
+ complete_search_limit = 10^6,
11
+ max_samplings = sum(domain_size, domains),
12
+ search = :flexible,
13
13
solutions_limit = floor(Int, sqrt(max_samplings)))
14
14
15
15
Create an `ExploreSettings` object to configure the exploration of a search space composed of a collection of domains.
124
124
125
125
Internals of the `explore` function. Behavior is automatically adjusted on the kind of exploration: `:flexible`, `:complete`, `:partial`.
126
126
"""
127
- function _explore! (explorer, f, :: Val{:partial} )
127
+ function _explore! (explorer, f, :: Val{:partial} ; )
128
128
sl = explorer. settings. solutions_limit
129
129
ms = explorer. settings. max_samplings
130
130
@@ -181,6 +181,16 @@ function explore(domains, concept; settings = ExploreSettings(domains), paramete
181
181
return explorer. state. solutions, explorer. state. non_solutions
182
182
end
183
183
184
+ function _check! (explorer, configurations)
185
+ g =
186
+ x -> all ([
187
+ f (isempty (vars) ? x : @view x[vars]) for
188
+ (f, vars) in explorer. concepts |> values
189
+ ])
190
+ foreach (c -> update_exploration! (explorer, g, c, :complete ), configurations)
191
+ return nothing
192
+ end
193
+
184
194
# # SECTION - Test Items
185
195
@testitem " Exploration" tags = [:exploration ] begin
186
196
domains = [domain ([1 , 2 , 3 , 4 ]) for i = 1 : 4 ]
0 commit comments