aboutsummaryrefslogtreecommitdiff
path: root/src/backends/reference/workloads/BaseIterator.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/backends/reference/workloads/BaseIterator.hpp')
-rw-r--r--src/backends/reference/workloads/BaseIterator.hpp35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/backends/reference/workloads/BaseIterator.hpp b/src/backends/reference/workloads/BaseIterator.hpp
index be20644ab7..1f4f2da717 100644
--- a/src/backends/reference/workloads/BaseIterator.hpp
+++ b/src/backends/reference/workloads/BaseIterator.hpp
@@ -274,6 +274,21 @@ public:
}
};
+class Int32ToInt32tDecoder : public TypedIterator<const int32_t, Decoder<int32_t>>
+{
+public:
+ Int32ToInt32tDecoder(const int32_t* data)
+ : TypedIterator(data){}
+
+ Int32ToInt32tDecoder()
+ : Int32ToInt32tDecoder(nullptr) {}
+
+ int32_t Get() const override
+ {
+ return *m_Iterator;
+ }
+};
+
class BooleanDecoder : public TypedIterator<const uint8_t, Decoder<float>>
{
public:
@@ -470,6 +485,26 @@ public:
}
};
+class Int32ToInt32tEncoder : public TypedIterator<int32_t, Encoder<int32_t>>
+{
+public:
+ Int32ToInt32tEncoder(int32_t* data)
+ : TypedIterator(data){}
+
+ Int32ToInt32tEncoder()
+ : Int32ToInt32tEncoder(nullptr) {}
+
+ void Set(int32_t right) override
+ {
+ *m_Iterator = right;
+ }
+
+ int32_t Get() const override
+ {
+ return *m_Iterator;
+ }
+};
+
class BooleanEncoder : public TypedIterator<uint8_t, Encoder<bool>>
{
public: