#ifndef SOFTRVV_VFSUB_H
#define SOFTRVV_VFSUB_H

#include <stddef.h>

namespace softrvv {

void vfsub_vf(float *dest, float *src1, const float *src2, int32_t avl) {
  for (int idx = 0; idx < avl; idx++) {
    dest[idx] = src1[idx] - *src2;
  }
}

void vfsub_vv(float *dest, float *src1, float *src2, int32_t avl) {
  for (int32_t idx = 0; idx < avl; idx++) {
    dest[idx] = src1[idx] - src2[idx];
  }
}

void vfrsub_vf(float *dest, float *src1, const float *src2, int32_t avl) {
  for (int32_t idx = 0; idx < avl; idx++) {
    dest[idx] = *src2 - src1[idx];
  }
}

}  // namespace softrvv

#endif  // SOFTRVV_VFSUB_H
