spandsp 0.0.6
vector_int.c File Reference
#include <inttypes.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <assert.h>
#include "floating_fudge.h"
#include "mmx_sse_decs.h"
#include "spandsp/telephony.h"
#include "spandsp/vector_int.h"

Functions

int32_t vec_dot_prodi16 (const int16_t x[], const int16_t y[], int n)
 Find the dot product of two int16_t vectors.
int32_t vec_circular_dot_prodi16 (const int16_t x[], const int16_t y[], int n, int pos)
 Find the dot product of two int16_t vectors, where the first is a circular buffer with an offset for the starting position.
void vec_lmsi16 (const int16_t x[], int16_t y[], int n, int16_t error)
void vec_circular_lmsi16 (const int16_t x[], int16_t y[], int n, int pos, int16_t error)
int32_t vec_min_maxi16 (const int16_t x[], int n, int16_t out[])
 Find the minimum and maximum values in an int16_t vector.

Function Documentation

◆ vec_circular_dot_prodi16()

int32_t vec_circular_dot_prodi16 ( const int16_t x[],
const int16_t y[],
int n,
int pos )

Find the dot product of two int16_t vectors, where the first is a circular buffer with an offset for the starting position.

Parameters
xThe first vector.
yThe first vector.
nThe number of elements in the vectors.
posThe starting position in the x vector.
Returns
The dot product of the two vectors.

References vec_dot_prodi16().

◆ vec_dot_prodi16()

int32_t vec_dot_prodi16 ( const int16_t x[],
const int16_t y[],
int n )

Find the dot product of two int16_t vectors.

Parameters
xThe first vector.
yThe first vector.
nThe number of elements in the vectors.
Returns
The dot product of the two vectors.

Referenced by vec_circular_dot_prodi16().

◆ vec_min_maxi16()

int32_t vec_min_maxi16 ( const int16_t x[],
int n,
int16_t out[] )

Find the minimum and maximum values in an int16_t vector.

Parameters
xThe vector to be searched.
nThe number of elements in the vector.
outA two element vector. The first will receive the maximum. The second will receive the minimum. This parameter may be set to NULL.
Returns
The absolute maximum value. Since the range of negative numbers exceeds the range of positive one, the returned integer is longer than the ones being searched.