sched: fix compilation issue for gcc4.8

This commit is contained in:
Francisco 2021-02-15 19:30:40 +00:00 committed by Francisco Paisana
parent a7f4dfab2c
commit a4423ff690
2 changed files with 5 additions and 5 deletions

View File

@ -88,14 +88,12 @@ using prbmask_t = srslte::bounded_bitset<100, true>;
struct prb_interval; struct prb_interval;
struct rbg_interval : public srslte::interval<uint32_t> { struct rbg_interval : public srslte::interval<uint32_t> {
using interval::interval; using interval::interval;
rbg_interval(srslte::interval<uint32_t> i) : interval(i) {}
static rbg_interval rbgmask_to_rbgs(const rbgmask_t& mask); static rbg_interval rbgmask_to_rbgs(const rbgmask_t& mask);
}; };
//! Struct to express a {min,...,max} range of PRBs //! Struct to express a {min,...,max} range of PRBs
struct prb_interval : public srslte::interval<uint32_t> { struct prb_interval : public srslte::interval<uint32_t> {
using interval::interval; using interval::interval;
prb_interval(srslte::interval<uint32_t> i) : interval(i) {}
static prb_interval rbgs_to_prbs(const rbg_interval& rbgs, uint32_t cell_nof_prb); static prb_interval rbgs_to_prbs(const rbg_interval& rbgs, uint32_t cell_nof_prb);
static prb_interval riv_to_prbs(uint32_t riv, uint32_t nof_prbs, int nof_vrbs = -1); static prb_interval riv_to_prbs(uint32_t riv, uint32_t nof_prbs, int nof_vrbs = -1);
}; };

View File

@ -18,10 +18,12 @@ namespace srsenb {
* Common UL/DL Helper methods * Common UL/DL Helper methods
********************************/ ********************************/
template <size_t N> template <typename RBMask,
srslte::interval<uint32_t> find_contiguous_interval(const srslte::bounded_bitset<N, true>& in_mask, uint32_t max_size) typename RBInterval =
typename std::conditional<std::is_same<RBMask, prbmask_t>::value, prb_interval, rbg_interval>::type>
RBInterval find_contiguous_interval(const RBMask& in_mask, uint32_t max_size)
{ {
srslte::interval<uint32_t> interv, max_interv; RBInterval interv, max_interv;
for (uint32_t n = 0; n < in_mask.size() and interv.length() < max_size; n++) { for (uint32_t n = 0; n < in_mask.size() and interv.length() < max_size; n++) {
if (not in_mask.test(n) and interv.empty()) { if (not in_mask.test(n) and interv.empty()) {