This commit adds 'fill' method (to ADT::tensor::Index class) which sets
all the indices as the given value.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
Index &resize(uint32_t size);
public:
+ Index &fill(uint32_t index);
+
+public:
uint32_t &at(uint32_t axis);
uint32_t at(uint32_t axis) const;
#include "nncc/core/ADT/tensor/Index.h"
+#include <algorithm>
+
namespace nncc
{
namespace core
uint32_t Index::rank(void) const { return _indices.size(); }
Index &Index::resize(uint32_t size) { _indices.resize(size); }
+Index &Index::fill(uint32_t index)
+{
+ std::fill(_indices.begin(), _indices.end(), index);
+ return (*this);
+}
+
uint32_t &Index::at(uint32_t axis) { return _indices.at(axis); }
uint32_t Index::at(uint32_t axis) const { return _indices.at(axis); }
ASSERT_EQ(original.at(axis), copied.at(axis));
}
}
+
+TEST(ADT_TENSOR_INDEX, fill)
+{
+ nncc::core::ADT::tensor::Index index{1, 6};
+
+ index.fill(3);
+
+ ASSERT_EQ(index.rank(), 2);
+
+ ASSERT_EQ(index.at(0), 3);
+ ASSERT_EQ(index.at(1), 3);
+}