#ifndef SOFTRVV_VMSGE_H
#define SOFTRVV_VMSGE_H

#include <stddef.h>

namespace softrvv {

template <typename T>
void vmsge_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 vmsge_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_VMSGE_H
