#include "loco/IR/Window.h"
#include "loco/IR/Stride.h"
#include "loco/IR/FeatureCodec.h"
+#include "loco/IR/FilterCodec.h"
#include "loco/IR/NodeMixins.h"
namespace loco
std::unique_ptr<FeatureDecoder> _dec{nullptr};
};
+/**
+ * @brief Create a filter from a tensor
+ */
+class FilterEncode final : public FixedArityNode<1>
+{
+public:
+ Node *input(void) const { return at(0)->node(); }
+ void input(Node *node) { at(0)->node(node); }
+
+public:
+ FilterEncoder *encoder(void) const { return _enc.get(); }
+ void encoder(std::unique_ptr<FilterEncoder> &&enc) { _enc = std::move(enc); }
+
+private:
+ /// @note "encoder" is mandatory
+ std::unique_ptr<FilterEncoder> _enc{nullptr};
+};
+
+// TODO Introduce FilterDecode (if required)
+
enum class ReshapeType
{
Fixed, // shape is known at compile time
ASSERT_EQ(reshape.dim(0), 2);
ASSERT_EQ(reshape.dim(1), 3);
}
+
+TEST(FilterEncodeTest, constructor)
+{
+ loco::FilterEncode filter_encode;
+
+ ASSERT_EQ(filter_encode.input(), nullptr);
+ ASSERT_EQ(filter_encode.encoder(), nullptr);
+}