diff --git a/srsenb/src/stack/mac/scheduler.cc b/srsenb/src/stack/mac/scheduler.cc index 74bf2cc44..6636eb8c1 100644 --- a/srsenb/src/stack/mac/scheduler.cc +++ b/srsenb/src/stack/mac/scheduler.cc @@ -442,6 +442,27 @@ void sched_cell_params_t::regs_deleter::operator()(srslte_regs_t* p) } } +rbg_range_t rbg_range_t::prbs_to_rbgs(const prb_range_t& prbs, uint32_t P) +{ + return rbg_range_t{srslte::ceil_div(prbs.prb_min, P), srslte::ceil_div(prbs.prb_min, P)}; +} + +prb_range_t prb_range_t::rbgs_to_prbs(const rbg_range_t& rbgs, uint32_t P) +{ + return prb_range_t{rbgs.rbg_min * P, rbgs.rbg_max * P}; +} + +prb_range_t prb_range_t::riv_to_prbs(uint32_t riv, uint32_t nof_prbs, int nof_vrbs) +{ + prb_range_t p; + if (nof_vrbs < 0) { + nof_vrbs = nof_prbs; + } + srslte_ra_type2_from_riv(riv, &p.prb_max, &p.prb_min, nof_prbs, (uint32_t)nof_vrbs); + p.prb_max += p.prb_min; + return p; +} + namespace sched_utils { void generate_cce_location(srslte_regs_t* regs_, @@ -468,27 +489,6 @@ void generate_cce_location(srslte_regs_t* regs_, } } -rbg_range_t rbg_range_t::prbs_to_rbgs(const prb_range_t& prbs, uint32_t P) -{ - return rbg_range_t{srslte::ceil_div(prbs.prb_min, P), srslte::ceil_div(prbs.prb_min, P)}; -} - -prb_range_t prb_range_t::rbgs_to_prbs(const rbg_range_t& rbgs, uint32_t P) -{ - return prb_range_t{rbgs.rbg_min * P, rbgs.rbg_max * P}; -} - -prb_range_t prb_range_t::riv_to_prbs(uint32_t riv, uint32_t nof_prbs, int nof_vrbs) -{ - prb_range_t p; - if (nof_vrbs < 0) { - nof_vrbs = nof_prbs; - } - srslte_ra_type2_from_riv(riv, &p.prb_max, &p.prb_min, nof_prbs, (uint32_t)nof_vrbs); - p.prb_max += p.prb_min; - return p; -} - } // namespace sched_utils } // namespace srsenb