#ifndef SOFTRVV_VMAX_H
#define SOFTRVV_VMAX_H

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

namespace softrvv {

template <typename T>
void vmax_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 vmax_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_VMAX_H
