celp_math.h File Reference
#include <stdint.h>

Go to the source code of this file.

Functions

int16_t ff_cos (uint16_t arg)
 fixed-point implementation of cosine in [0; PI) domain.
int ff_exp2 (uint16_t power)
 fixed-point implementation of exp2(x) in [0; 1] domain.
int ff_log2 (uint32_t value)
 Calculate log2(x).
static int bidir_sal (int value, int offset)
 Shift value left or right depending on sign of offset parameter.
float ff_dot_productf (const float *a, const float *b, int length)
 Return the dot product.

Function Documentation

static int bidir_sal ( int  value,
int  offset 
)
inlinestatic

Shift value left or right depending on sign of offset parameter.

Parameters
valuevalue to shift
offsetshift offset
Returns
value << offset, if offset>=0; value >> -offset - otherwise

Definition at line 60 of file celp_math.h.

int16_t ff_cos ( uint16_t  arg)

fixed-point implementation of cosine in [0; PI) domain.

Parameters
argfixed-point cosine argument, 0 <= arg < 0x4000
Returns
value of (1<<15) * cos(arg * PI / (1<<14)), -0x8000 <= result <= 0x7fff

Definition at line 61 of file celp_math.c.

Referenced by ff_acelp_lsf2lsp().

float ff_dot_productf ( const float *  a,
const float *  b,
int  length 
)
int ff_exp2 ( uint16_t  power)

fixed-point implementation of exp2(x) in [0; 1] domain.

Parameters
powerargument to exp2, 0 <= power <= 0x7fff
Returns
value of (1<<20) * exp2(power / (1<<15)) 0x8000c <= result <= 0xfffea

Definition at line 71 of file celp_math.c.

int ff_log2 ( uint32_t  value)

Calculate log2(x).

Parameters
valuefunction argument, 0 < value <= 7fff ffff
Returns
value of (1<<15) * log2(value)

Definition at line 94 of file celp_math.c.

Referenced by ff_acelp_update_past_gain().