Subversion Repositories ScreenTimer

Rev

Blame | Last modification | View Log | Download | RSS feed

  1. #include "ref.h"
  2.  
  3. void ref_mean_f32(
  4.   float32_t * pSrc,
  5.   uint32_t blockSize,
  6.   float32_t * pResult)
  7. {
  8.         uint32_t i;
  9.         float32_t sum=0;
  10.        
  11.         for(i=0;i<blockSize;i++)
  12.         {
  13.                         sum += pSrc[i];
  14.         }
  15.         *pResult = sum / (float32_t)blockSize;
  16. }
  17.  
  18. void ref_mean_q31(
  19.   q31_t * pSrc,
  20.   uint32_t blockSize,
  21.   q31_t * pResult)
  22. {
  23.         uint32_t i;
  24.         q63_t sum=0;
  25.        
  26.         for(i=0;i<blockSize;i++)
  27.         {
  28.                         sum += pSrc[i];
  29.         }
  30.         *pResult = (q31_t) (sum / (int32_t) blockSize);
  31. }
  32.  
  33. void ref_mean_q15(
  34.   q15_t * pSrc,
  35.   uint32_t blockSize,
  36.   q15_t * pResult)
  37. {
  38.         uint32_t i;
  39.         q31_t sum=0;
  40.        
  41.         for(i=0;i<blockSize;i++)
  42.         {
  43.                         sum += pSrc[i];
  44.         }
  45.         *pResult = (q15_t) (sum / (int32_t) blockSize);
  46. }
  47.  
  48. void ref_mean_q7(
  49.   q7_t * pSrc,
  50.   uint32_t blockSize,
  51.   q7_t * pResult)
  52. {
  53.         uint32_t i;
  54.         q31_t sum=0;
  55.        
  56.         for(i=0;i<blockSize;i++)
  57.         {
  58.                         sum += pSrc[i];
  59.         }
  60.         *pResult = (q7_t) (sum / (int32_t) blockSize);
  61. }
  62.