#ifndef SOFTRVV_VOR_H
#define SOFTRVV_VOR_H

#include <stddef.h>

namespace softrvv {

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

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

}  // namespace softrvv

#endif  // SOFTRVV_VOR_H
