diff --git a/RTCP/Interface/include/Interface/MultiDimArray.h b/RTCP/Interface/include/Interface/MultiDimArray.h index 1583ec3dde28b0262018c5d20bc51876be4f684a..4d1730d079290521d8012536f367d0705b6d83d1 100644 --- a/RTCP/Interface/include/Interface/MultiDimArray.h +++ b/RTCP/Interface/include/Interface/MultiDimArray.h @@ -58,7 +58,7 @@ template <typename T, unsigned DIM> class MultiDimArray : public boost::multi_ar // TODO: Not sure how to handle an exception raised by the constructor of T. The placement // delete[] will be called, but that's an empty stub. - SuperType(allocate(extents, alignment, allocator, padToAlignment, construct), extents), + SuperType(allocate(nrElements(extents), alignment, allocator, padToAlignment, construct), extents), allocator(&allocator), allocated_num_elements(nrElements(extents)), alignment(alignment), @@ -69,7 +69,7 @@ template <typename T, unsigned DIM> class MultiDimArray : public boost::multi_ar MultiDimArray(const MultiDimArray<T,DIM> &other) : - SuperType(other.num_elements_ ? allocate(other.extent_list_, other.alignment, *other.allocator, other.padToAlignment, other.construct) : 0, other.extent_list_), + SuperType(other.num_elements_ ? allocate(other.num_elements_, other.alignment, *other.allocator, other.padToAlignment, other.construct) : 0, other.extent_list_), //new(other.allocator->allocate(padToAlignment ? align(other.num_elements_ * sizeof(T), other.alignment) : other.num_elements_ * sizeof(T), other.alignment))T[other.num_elements_] : 0, other.extent_list_), allocator(other.allocator), allocated_num_elements(other.num_elements_), @@ -134,7 +134,7 @@ template <typename T, unsigned DIM> class MultiDimArray : public boost::multi_ar unsigned new_num_elements = nrElements(extents); if (new_num_elements > allocated_num_elements) - THROW(InterfaceException, "MultiDimArray::resizeInplace: requested to resize to " << new_num_elements << " elements, but only " << allocated_num_elements << " are allocateod"); + THROW(InterfaceException, "MultiDimArray::resizeInplace: requested to resize to " << new_num_elements << " elements, but only " << allocated_num_elements << " are allocated"); // only destruct and construct all elements if the number of elements actually changes if (new_num_elements != this->num_elements_ && construct) { @@ -196,14 +196,14 @@ template <typename T, unsigned DIM> class MultiDimArray : public boost::multi_ar bool padToAlignment; bool construct; - T *allocate(const ExtentList &extents, size_t alignment, Allocator &allocator, bool padToAlignment, bool construct) const { + T *allocate(size_t nrElements, size_t alignment, Allocator &allocator, bool padToAlignment, bool construct) const { size_t dataSize = padToAlignment - ? align(nrElements(extents) * sizeof(T), alignment) - : nrElements(extents) * sizeof(T); + ? align(nrElements * sizeof(T), alignment) + : nrElements * sizeof(T); T *ptr = static_cast<T*>(allocator.allocate(dataSize, alignment)); - return construct ? new(ptr)T[nrElements(extents)] : ptr; + return construct ? new(ptr)T[nrElements] : ptr; } // a MultiDimArray made to replace another, using a different shape. Assumes diff --git a/RTCP/Interface/include/Interface/Parset.h b/RTCP/Interface/include/Interface/Parset.h index 5805efa0a269d50ce1c9c5f3bf9414f36f74794d..1585c3ec553cfe8ce31da9fd05b34260c0624041 100644 --- a/RTCP/Interface/include/Interface/Parset.h +++ b/RTCP/Interface/include/Interface/Parset.h @@ -1062,6 +1062,8 @@ inline unsigned Parset::nrSlotsInFrame() const // return default return maxBeamletsPerRSP(nrBitsPerSample()); } + + return nrSlots; } inline string Parset::partitionName() const