/* * vector.c * * Scott Wilson * rswilson@ccrma.stanford.edu * last updated: June 15, 2003 * * */ #include #include #include #include #include "vector.h" codec_err_t vector_alloc(uint32_t size, codec_vector_p *vector) { *vector = (codec_vector_p)malloc(sizeof(_codec_vector_t) * size); if (! *vector) { codec_error("core", "codec_vector_alloc", strerror(errno)); return (codec_err_t)errno; } memset((void *)*vector, 0, sizeof(_codec_vector_t)); return ERR_NONE; } codec_err_t vector_set_alloc(uint32_t size, uint8_t chans, codec_vector_set_p *vector) { int i; codec_err_t err; codec_vector_p *nvec; *vector = (codec_vector_p *)malloc(sizeof(codec_vector_p) * chans); if (! *vector) { codec_error("core", "codec_vector_alloc", strerror(errno)); return (codec_err_t)errno; } nvec = *vector; for (i=0; i big) big = signal[i]; } return big; } codec_float_t vector_abs_max(codec_vector_p signal, uint16_t blocksize) { int i; codec_float_t big = fabs(signal[0]); for (i=0; i big) big = fabs(signal[i]); } return big; } codec_err_t vector_scale(codec_vector_p signal, uint16_t blocksize, codec_float_t scale_factor) { int i; for (i=0; i