#ifndef SOFTRVV_VMIN_H
#define SOFTRVV_VMIN_H

#include <stddef.h>
#include <stdint.h>

namespace softrvv {

template <typename T>
void vmin_vx(T *dest, T *src1, const T *src2, int32_t avl) {
  for (int32_t idx = 0; idx < avl; idx++) {
    dest[idx] = (src1[idx] < *src2) ? src1[idx] : *src2;
  }
}

template <typename T>
void vmin_vv(T *dest, T *src1, T *src2, int32_t avl) {
  for (int32_t idx = 0; idx < avl; idx++) {
    dest[idx] = (src1[idx] < src2[idx]) ? src1[idx] : src2[idx];
  }
}

}  // namespace softrvv

#endif  // SOFTRVV_VMIN_H
