test.c
上传用户:csczyc
上传日期:2021-02-19
资源大小:1051k
文件大小:1k
源码类别:

语音压缩

开发平台:

C/C++

  1. Longword L_v_magsq(Shortword *vec1,Shortword n,Shortword qvec1,Shortword qout)
  2. {
  3.     Shortword i,shift;
  4.     Longword L_magsq;
  5.     Longword L_temp,L_mult,L_qvec1,L_qout;
  6.     L_temp = 0; //  L_data_move();mark del
  7.     for(i = 0; i < n; i++){
  8.    L_mult = _smpy(vec1[i],vec1[i]);
  9.    L_temp = _sadd(L_temp,L_mult);
  10. }
  11.        /* L_temp = L_mac(L_temp,vec1[i],vec1[i]);*/
  12.     /* ((qout-16)-((2*qvec1+1)-16)) */
  13.    /* shift = sub(sub(qout,shl(qvec1,1)),1);*/
  14. L_qvec1 = (Longword)qvec1;                                     
  15.   L_qout = (Longword)qout;                                           
  16.     L_mult = _sshl(L_qvec1,1);                                    
  17. L_mult = _sub2(L_qout,L_mult);                                     
  18.   L_mult = _sub2(L_mult,1);                                     
  19.    shift = (Shortword) (0x0000ffffL & L_mult); 
  20.     /*L_magsq = L_shl(L_temp,shift); //  L_data_move();mark del*/
  21.     L_magsq = _sshvl(L_temp,shift);  
  22.     return(L_magsq);
  23. } /* L_v_magsq */