@@ -64,6 +64,17 @@ srsran::create_prach_buffer_pool(std::vector<std::unique_ptr<prach_buffer>>&& el
6464
6565std::unique_ptr<prach_buffer> srsran::create_prach_buffer_long (unsigned max_nof_antennas, unsigned max_nof_fd_occasions)
6666{
67+ static constexpr interval<unsigned , true > nof_rx_ports_range (1 , MAX_PORTS);
68+ static constexpr interval<unsigned , true > max_nof_fd_prach_occasions_range (
69+ 1 , prach_constants::MAX_NOF_PRACH_FD_OCCASIONS);
70+ srsran_assert (nof_rx_ports_range.contains (max_nof_antennas),
71+ " The maximum number of antennas (i.e., {}) is out of range {}·" ,
72+ max_nof_antennas,
73+ nof_rx_ports_range);
74+ srsran_assert (max_nof_fd_prach_occasions_range.contains (max_nof_fd_occasions),
75+ " The maximum number of frequency domain occasions (i.e., {}) is out of range {}·" ,
76+ max_nof_fd_occasions,
77+ max_nof_fd_prach_occasions_range);
6778 return std::make_unique<prach_buffer_impl>(max_nof_antennas,
6879 1 ,
6980 max_nof_fd_occasions,
@@ -75,6 +86,23 @@ std::unique_ptr<prach_buffer> srsran::create_prach_buffer_short(unsigned max_nof
7586 unsigned max_nof_td_occasions,
7687 unsigned max_nof_fd_occasions)
7788{
89+ static constexpr interval<unsigned , true > nof_rx_ports_range (1 , MAX_PORTS);
90+ static constexpr interval<unsigned , true > max_nof_td_prach_occasions_range (
91+ 1 , prach_constants::MAX_NOF_PRACH_TD_OCCASIONS);
92+ static constexpr interval<unsigned , true > max_nof_fd_prach_occasions_range (
93+ 1 , prach_constants::MAX_NOF_PRACH_FD_OCCASIONS);
94+ srsran_assert (nof_rx_ports_range.contains (max_nof_antennas),
95+ " The maximum number of antennas (i.e., {}) is out of range {}·" ,
96+ max_nof_antennas,
97+ nof_rx_ports_range);
98+ srsran_assert (max_nof_td_prach_occasions_range.contains (max_nof_td_occasions),
99+ " The maximum number of time domain occasions (i.e., {}) is out of range {}·" ,
100+ max_nof_td_occasions,
101+ max_nof_td_prach_occasions_range);
102+ srsran_assert (max_nof_fd_prach_occasions_range.contains (max_nof_fd_occasions),
103+ " The maximum number of frequency domain occasions (i.e., {}) is out of range {}·" ,
104+ max_nof_fd_occasions,
105+ max_nof_fd_prach_occasions_range);
78106 return std::make_unique<prach_buffer_impl>(max_nof_antennas,
79107 max_nof_td_occasions,
80108 max_nof_fd_occasions,
0 commit comments