aboutsummaryrefslogtreecommitdiff
path: root/tests/RawTensor.h
diff options
context:
space:
mode:
authorMoritz Pflanzer <moritz.pflanzer@arm.com>2017-08-08 16:20:45 +0100
committerAnthony Barbier <anthony.barbier@arm.com>2018-11-02 16:35:24 +0000
commit82e70a12dc3bf8309c43620c08a2c4ff05a6d13e (patch)
tree427dc4b41fd61c40bbf2bc0853d0fa05f7d83675 /tests/RawTensor.h
parentadfccb872f0970f95ee594e1fc0dd6c40554abe7 (diff)
downloadComputeLibrary-82e70a12dc3bf8309c43620c08a2c4ff05a6d13e.tar.gz
COMPMID-415: Improve SimpleTensor and RawTensor
Change-Id: I7a5f970b3c04b925682fd9f0ece3254478dc96f7 Reviewed-on: http://mpd-gerrit.cambridge.arm.com/83343 Reviewed-by: Anthony Barbier <anthony.barbier@arm.com> Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com>
Diffstat (limited to 'tests/RawTensor.h')
-rw-r--r--tests/RawTensor.h90
1 files changed, 7 insertions, 83 deletions
diff --git a/tests/RawTensor.h b/tests/RawTensor.h
index 9d65e4f319..f1a9af37c9 100644
--- a/tests/RawTensor.h
+++ b/tests/RawTensor.h
@@ -24,27 +24,18 @@
#ifndef __ARM_COMPUTE_TEST_RAW_TENSOR_H__
#define __ARM_COMPUTE_TEST_RAW_TENSOR_H__
-#include "arm_compute/core/TensorShape.h"
-#include "arm_compute/core/Types.h"
-
-#include <cstddef>
-#include <cstdint>
-#include <memory>
+#include "SimpleTensor.h"
namespace arm_compute
{
namespace test
{
-/** Simple tensor object that stores elements in a consecutive chunk of memory.
- *
- * It can be created by either loading an image from a file which also
- * initialises the content of the tensor or by explcitly specifying the size.
- * The latter leaves the content uninitialised.
+/** Subclass of SimpleTensor using uint8_t as value type.
*
- * Furthermore, the class provides methods to convert the tensor's values into
- * different image format.
+ * Access operations (except for operator[]) will be based on the data type to
+ * copy the right number of elements.
*/
-class RawTensor final
+class RawTensor : public SimpleTensor<uint8_t>
{
public:
/** Create an uninitialised tensor of the given @p shape and @p format.
@@ -70,69 +61,17 @@ public:
*/
RawTensor(const RawTensor &tensor);
- /** Create a deep copy of the given @p tensor.
- *
- * @param[in] tensor To be copied tensor.
- */
RawTensor &operator =(RawTensor tensor);
RawTensor(RawTensor &&) = default;
~RawTensor() = default;
- using BufferType = uint8_t;
- using Buffer = std::unique_ptr<BufferType[]>;
-
- /** Return value at @p offset in the buffer.
- *
- * @param[in] offset Offset within the buffer.
- */
- BufferType &operator[](size_t offset);
-
- /** Return constant value at @p offset in the buffer.
- *
- * @param[in] offset Offset within the buffer.
- */
- const BufferType &operator[](size_t offset) const;
-
- /** Shape of the tensor. */
- TensorShape shape() const;
-
- /** Size of each element in the tensor in bytes. */
- size_t element_size() const;
-
- /** Total size of the tensor in bytes. */
- size_t size() const;
-
- /** Image format of the tensor. */
- Format format() const;
-
- /** Data type of the tensor. */
- DataType data_type() const;
-
- /** Number of channels of the tensor. */
- int num_channels() const;
-
- /** Number of elements of the tensor. */
- int num_elements() const;
-
- /** Available padding around the tensor. */
- PaddingSize padding() const;
-
- /** The number of bits for the fractional part of the fixed point numbers. */
- int fixed_point_position() const;
-
- /** Constant pointer to the underlying buffer. */
- const BufferType *data() const;
-
- /** Pointer to the underlying buffer. */
- BufferType *data();
-
/** Read only access to the specified element.
*
* @param[in] coord Coordinates of the desired element.
*
* @return A pointer to the desired element.
*/
- const BufferType *operator()(const Coordinates &coord) const;
+ const void *operator()(const Coordinates &coord) const override;
/** Access to the specified element.
*
@@ -140,22 +79,7 @@ public:
*
* @return A pointer to the desired element.
*/
- BufferType *operator()(const Coordinates &coord);
-
- /** Swaps the content of the provided tensors.
- *
- * @param[in, out] tensor1 Tensor to be swapped.
- * @param[in, out] tensor2 Tensor to be swapped.
- */
- friend void swap(RawTensor &tensor1, RawTensor &tensor2);
-
-private:
- Buffer _buffer{ nullptr };
- TensorShape _shape{};
- Format _format{ Format::UNKNOWN };
- DataType _data_type{ DataType::UNKNOWN };
- int _num_channels{ 0 };
- int _fixed_point_position{ 0 };
+ void *operator()(const Coordinates &coord) override;
};
} // namespace test
} // namespace arm_compute