This commit makes backend::operand::ITensor::calcOffset to const member function.
Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
return info()->dimension(reversed.value());
}
-size_t IACLTensor::calcOffset(const neurun::util::Coordinates &coords)
+size_t IACLTensor::calcOffset(const neurun::util::Coordinates &coords) const
{
const auto rank = coords.size();
::arm_compute::Coordinates acl_coords;
size_t total_size() const final { return info()->total_size(); }
size_t dimension(size_t index) const final;
size_t num_dimensions() const override;
- size_t calcOffset(const neurun::util::Coordinates &coords) final;
+ size_t calcOffset(const neurun::util::Coordinates &coords) const final;
model::Layout layout() const final;
bool has_padding() const override { return info()->has_padding(); }
namespace operand
{
-size_t Tensor::calcOffset(const neurun::util::Coordinates &coords)
+size_t Tensor::calcOffset(const neurun::util::Coordinates &coords) const
{
size_t rank = num_dimensions();
size_t offset = 0;
size_t dimension(size_t index) const override { return _info.shape().dim(index); }
size_t num_dimensions() const override { return _info.shape().rank(); }
size_t total_size() const override { return _info.total_size(); }
- size_t calcOffset(const neurun::util::Coordinates &coords) override;
+ size_t calcOffset(const neurun::util::Coordinates &coords) const override;
model::Layout layout() const override { return model::Layout::NHWC; }
bool has_padding() const override { return false; }
virtual size_t total_size() const = 0;
virtual size_t dimension(size_t index) const = 0;
virtual size_t num_dimensions() const = 0;
- virtual size_t calcOffset(const neurun::util::Coordinates &coords) = 0;
+ virtual size_t calcOffset(const neurun::util::Coordinates &coords) const = 0;
virtual model::Layout layout() const = 0;
virtual bool has_padding() const = 0;
};
namespace interp
{
-size_t ROTensor::calcOffset(const neurun::util::Coordinates &coords)
+size_t ROTensor::calcOffset(const neurun::util::Coordinates &coords) const
{
NO_USE(coords);
throw std::runtime_error("offset_element_in_bytes is not supported for cpu::Tensor now.");
}
-size_t Tensor::calcOffset(const neurun::util::Coordinates &coords)
+size_t Tensor::calcOffset(const neurun::util::Coordinates &coords) const
{
NO_USE(coords);
throw std::runtime_error("offset_element_in_bytes is not supported for cpu::Tensor now.");
virtual size_t total_size() const = 0;
virtual size_t dimension(size_t index) const = 0;
virtual size_t num_dimensions() const = 0;
- virtual size_t calcOffset(const util::Coordinates &coords) = 0;
+ virtual size_t calcOffset(const util::Coordinates &coords) const = 0;
virtual bool has_padding() const = 0;
/**
size_t total_size() const override { return _info.total_size(); }
size_t dimension(size_t index) const override { return _info.shape().dim(index); }
size_t num_dimensions() const override { return _info.shape().rank(); }
- size_t calcOffset(const util::Coordinates &coords) override;
+ size_t calcOffset(const util::Coordinates &coords) const override;
model::Layout layout() const override;
bool has_padding() const override { return false; }
model::DataType data_type() const override { return _info.typeInfo().type(); }
size_t total_size() const override { return _info.total_size(); }
size_t dimension(size_t index) const override { return _info.shape().dim(index); }
size_t num_dimensions() const override { return _info.shape().rank(); }
- size_t calcOffset(const util::Coordinates &coords) override;
+ size_t calcOffset(const util::Coordinates &coords) const override;
model::Layout layout() const override;
bool has_padding() const override { return false; }
model::DataType data_type() const override { return _info.typeInfo().type(); }