5 #ifndef ROCKY_ZAGROS_BCD_STRATEGY
6 #define ROCKY_ZAGROS_BCD_STRATEGY
7 #include <rocky/zagros/strategies/strategy.h>
18 template<
typename T_e,
int T_dim>
25 template<
typename T_e,
int T_dim>
32 template<
typename T_e,
int T_dim>
39 template<
typename T_e,
int T_dim>
43 std::vector<int>* bcd_mask_;
46 static std::uniform_int_distribution<int> dist(0, problem_->original_dim()-1);
47 return dist(rocky::utils::random::prng());
51 this->problem_ = problem;
52 this->bcd_mask_ = bcd_mask;
56 while(dims.size() < this->problem_->block_dim())
57 dims.insert(this->rand_dim());
60 bcd_mask_->at(i++) = dim;