UTIL.C
上传用户:meifeng08
上传日期:2013-06-18
资源大小:5304k
文件大小:2k
源码类别:

语音压缩

开发平台:

C/C++

  1. /*
  2.    ITU-T G.729A Speech Coder    ANSI-C Source Code
  3.    Version 1.1    Last modified: September 1996
  4.    Copyright (c) 1996,
  5.    AT&T, France Telecom, NTT, Universite de Sherbrooke
  6.    All rights reserved.
  7. */
  8. /*-------------------------------------------------------------------*
  9.  * Function  Set zero()                                              *
  10.  *           ~~~~~~~~~~                                              *
  11.  * Set vector x[] to zero                                            *
  12.  *-------------------------------------------------------------------*/
  13. #include "typedef.h"
  14. #include "basic_op.h"
  15. #include "ld8a.h"
  16. void Set_zero(
  17.   Word16 x[],       /* (o)    : vector to clear     */
  18.   Word16 L          /* (i)    : length of vector    */
  19. )
  20. {
  21.    Word16 i;
  22.    for (i = 0; i < L; i++)
  23.      x[i] = 0;
  24.    return;
  25. }
  26. /*-------------------------------------------------------------------*
  27.  * Function  Copy:                                                   *
  28.  *           ~~~~~                                                   *
  29.  * Copy vector x[] to y[]                                            *
  30.  *-------------------------------------------------------------------*/
  31. void Copy(
  32.   Word16 x[],      /* (i)   : input vector   */
  33.   Word16 y[],      /* (o)   : output vector  */
  34.   Word16 L         /* (i)   : vector length  */
  35. )
  36. {
  37.    Word16 i;
  38.    for (i = 0; i < L; i++)
  39.      y[i] = x[i];
  40.    return;
  41. }
  42. /* Random generator  */
  43. Word16 Random()
  44. {
  45.   static Word16 seed = 21845;
  46.   /* seed = seed*31821 + 13849; */
  47.   seed = extract_l(L_add(L_shr(L_mult(seed, 31821), 1), 13849L));
  48.   return(seed);
  49. }