#include <riscv_vector.h>
#include <springbok.h>
#include <stdio.h>
#include <stdlib.h>

#include "pw_unit_test/framework.h"
#include "softrvv.h"

namespace softrvv_vzext_test {
namespace {

uint16_t src1[] = {1, 2, 3, 4, 5};
const uint32_t AVL_CONST = sizeof(src1)/sizeof(src1[0]);
uint32_t dest[AVL_CONST];
uint32_t ref_dest[] = {1, 2, 3, 4, 5};

class SoftRvvVzextTest : public ::testing::Test {
 protected:
  void SetUp() override { memset(dest, 0, sizeof(dest)); }
};

TEST_F(SoftRvvVzextTest, VF2) {
  softrvv::vzext_v<uint32_t, uint16_t>(dest, src1, AVL_CONST);
  ASSERT_EQ(memcmp(dest, ref_dest, sizeof(dest)), 0);
}

}  // namespace
}  // namespace softrvv_vzext_test
