xref: /aosp_15_r20/external/fec/sumsq_port.c (revision 638691a093b4f9473cd6ee8f3e0139deef159a86)
1*638691a0SAndroid Build Coastguard Worker /* Compute the sum of the squares of a vector of signed shorts
2*638691a0SAndroid Build Coastguard Worker 
3*638691a0SAndroid Build Coastguard Worker  *  Portable C version
4*638691a0SAndroid Build Coastguard Worker  * Copyright 2004 Phil Karn, KA9Q
5*638691a0SAndroid Build Coastguard Worker  * May be used under the terms of the GNU Lesser General Public License (LGPL)
6*638691a0SAndroid Build Coastguard Worker  */
7*638691a0SAndroid Build Coastguard Worker 
sumsq_port(signed short * in,int cnt)8*638691a0SAndroid Build Coastguard Worker unsigned long long sumsq_port(signed short *in,int cnt){
9*638691a0SAndroid Build Coastguard Worker   long long sum = 0;
10*638691a0SAndroid Build Coastguard Worker   int i;
11*638691a0SAndroid Build Coastguard Worker 
12*638691a0SAndroid Build Coastguard Worker   for(i=0;i<cnt;i++){
13*638691a0SAndroid Build Coastguard Worker     sum += (int)in[i] * (int)in[i];
14*638691a0SAndroid Build Coastguard Worker   }
15*638691a0SAndroid Build Coastguard Worker   return sum;
16*638691a0SAndroid Build Coastguard Worker }
17