#ifndef SOFTRVV_VMSGT_H
#define SOFTRVV_VMSGT_H

#include <stddef.h>

namespace softrvv {

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

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

}  // namespace softrvv

#endif  // SOFTRVV_VMSGT_H
