Skip to content

File syn_vector.h

File List > src > syntropic > util > syn_vector.h

Go to the documentation of this file

#ifndef SYN_VECTOR_H
#define SYN_VECTOR_H

#include "../common/syn_defs.h"
#include "syn_qmath.h"

#include <stdbool.h>
#include <stdint.h>

#ifdef __cplusplus
extern "C" {
#endif

void syn_vec_add(const q16_t *a, const q16_t *b, q16_t *out, uint16_t n);

void syn_vec_sub(const q16_t *a, const q16_t *b, q16_t *out, uint16_t n);

void syn_vec_scale(const q16_t *v, q16_t scale, q16_t *out, uint16_t n);

void syn_vec_clamp(const q16_t *v, q16_t min_val, q16_t max_val, q16_t *out, uint16_t n);

q16_t syn_vec_min(const q16_t *v, uint16_t n);

q16_t syn_vec_max(const q16_t *v, uint16_t n);

q16_t syn_vec_mean(const q16_t *v, uint16_t n);

q16_t syn_vec_variance(const q16_t *v, uint16_t n);

q16_t syn_vec_rms(const q16_t *v, uint16_t n);

#ifdef __cplusplus
}
#endif

#endif /* SYN_VECTOR_H */