32 template <
auto key_,
typename T,
typename U,
eval_tag eval_tag_,
36 template <auto key_,
typename T,
typename U>
38 static constexpr int value = []()
constexpr {
39 return (std::is_same<T, U>::value) ? 0 : 1;
44 template <auto key_,
typename T,
typename U>
46 static constexpr int value = []()
constexpr {
47 auto l = T::template find_elem_v<key_>;
48 auto r = U::template find_elem_v<key_>;
49 return (l == r) ? 0 : 1;
55 static constexpr T
const_max(
const T &l,
const T &r) {
56 return (l > r) ? l : r;
60 static constexpr T
const_min(
const T &l,
const T &r) {
61 return (l > r) ? r : l;
64 template <auto key_,
typename T,
typename U>
66 static constexpr int value = []()
constexpr {
67 auto l = T::template find_elem_v<key_>;
68 auto r = U::template find_elem_v<key_>;
74 template <auto key_,
typename T,
typename U>
76 static constexpr int value = []()
constexpr {
77 auto l = T::template find_elem_v<key_>;
78 auto r = U::template find_elem_v<key_>;
85 template <auto key_,
typename T,
typename U>
87 static constexpr int value = []()
constexpr {
88 using eval_fcn =
typename std::conditional<
95 typename std::conditional<
113 return 1000 * eval_fcn::value;
115 default:
return 10000000 * eval_fcn::value;
122 template <
typename T,
typename U>
124 static constexpr int value = []()
constexpr {
125 using T_L =
typename T::template find_elem_t<
127 using T_R =
typename T::template find_elem_t<
130 int l_x = T_L::template dim<0>();
131 int l_y = T_L::template dim<1>();
133 int r_x = T_R::template dim<0>();
134 int r_y = T_R::template dim<1>();
142 template <
typename T,
typename U>
144 static constexpr int value = []()
constexpr {
145 using T_L =
typename T::template find_elem_t<
147 using T_R =
typename T::template find_elem_t<
150 int l_x = T_L::template dim<0>();
151 int l_y = T_L::template dim<1>();
153 int r_x = T_R::template dim<0>();
154 int r_y = T_R::template dim<1>();
162 template <
typename T,
typename U>
164 static constexpr int value = []()
constexpr {
225 template <
int opt_val_,
typename opt_t_,
typename... elems>
228 template <
int opt_val_,
typename opt_t_>
231 static constexpr int value = opt_val_;
234 template <
int opt_val_,
typename opt_t_,
typename elem_,
237 static constexpr int can_val
239 using cur_opt_t =
typename std::conditional<(can_val < opt_val_),
241 static constexpr int cur_opt_val =
const_min(opt_val_, can_val);
245 using type =
typename nxt_result::type;
246 static constexpr int value = nxt_result::value;
249 template <
typename opt_t_,
typename... elems>
251 :
finder_impl<param_distance<dict_t_, opt_t_>::value, opt_t_,
Definition arch_config.hpp:24
tune_key
Definition common.hpp:27
param_optimizer_tag
Definition common.hpp:70
typename std::conditional<(can_val< opt_val_), elem_, opt_t_ >::type cur_opt_t
Definition dummy_policy.hpp:240
typename nxt_result::type type
Definition dummy_policy.hpp:245
opt_t_ type
Definition dummy_policy.hpp:230
Definition dummy_policy.hpp:252
Definition dummy_policy.hpp:226
Definition dummy_policy.hpp:34
Definition dummy_policy.hpp:86
static constexpr int value
Definition dummy_policy.hpp:87
Definition dummy_policy.hpp:163
static constexpr int value
Definition dummy_policy.hpp:164
Definition dummy_policy.hpp:24
static constexpr T const_max(const T &l, const T &r)
Definition dummy_policy.hpp:55
eval_tag
Definition dummy_policy.hpp:25
typename finder_impl_helper< candidates_t... >::type type
Definition dummy_policy.hpp:254
static constexpr T const_min(const T &l, const T &r)
Definition dummy_policy.hpp:60
fallback_optimizer< dict_t_, type > fallback_type
Definition dummy_policy.hpp:255
Definition dummy_policy.hpp:23
typename std::conditional< use_fallback, typename impl::fallback_type, impl >::type::type type
Definition dummy_policy.hpp:261
static constexpr bool use_fallback
Definition dummy_policy.hpp:258
Definition decision_tree_policy.hpp:268