#ifndef SOFTRVV_VMSLE_H
#define SOFTRVV_VMSLE_H

#include <stddef.h>

namespace softrvv {

template <typename T>
void vmsle_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 vmsle_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_VMSLE_H
