Loading basic_math/math_op.c +14 −0 Original line number Diff line number Diff line Loading @@ -177,10 +177,17 @@ Word32 Dot_product12( /* (o) Q31: normalized result (1 < va { Word16 i, sft; Word32 L_sum; #ifdef BASOP_NOGLOB Flag Overflow = 0; #endif /* BASOP_NOGLOB */ L_sum = L_mac(1, x[0], y[0]); FOR (i = 1; i < lg; i++) #ifdef BASOP_NOGLOB L_sum = L_mac_o(L_sum, x[i], y[i], &Overflow); #else /* BASOP_NOGLOB */ L_sum = L_mac(L_sum, x[i], y[i]); #endif /* BASOP_NOGLOB */ /* Normalize acc in Q31 */ Loading Loading @@ -211,6 +218,9 @@ Word32 Energy_scale( /* (o) : Q31: normalized result (1 < { Word16 i, sft, tmp; Word32 L_sum; #ifdef BASOP_NOGLOB Flag Overflow = 0; #endif /* BASOP_NOGLOB */ L_sum = 0; /* just to avoid superflous compiler warning about uninitialized use of L_sum */ Loading @@ -220,7 +230,11 @@ Word32 Energy_scale( /* (o) : Q31: normalized result (1 < L_sum = L_mac(1, x[0], x[0]); FOR (i = 1; i < lg; i++) { #ifdef BASOP_NOGLOB L_sum = L_mac_o(L_sum, x[i], x[i], &Overflow); #else /* BASOP_NOGLOB */ L_sum = L_mac(L_sum, x[i], x[i]); #endif /* BASOP_NOGLOB */ } } IF (expi < 0) Loading basic_op/enh32.c +7 −0 Original line number Diff line number Diff line Loading @@ -71,9 +71,16 @@ Word32 Mpy_32_16_r (Word32 L_var1, Word16 var2) { Word32 Mpy_32_32 (Word32 L_var1, Word32 L_var2) { Word32 L_var_out; Word64 L64_var1; #ifdef BASOP_NOGLOB Flag Overflow = 0; #endif /* BASOP_NOGLOB */ L64_var1 = ((Word64)L_var1 * L_var2); #ifdef BASOP_NOGLOB L64_var1 = W_shl_o (L64_var1, 1, &Overflow); #else /* BASOP_NOGLOB */ L64_var1 = W_shl (L64_var1, 1); #endif /* BASOP_NOGLOB */ L_var_out = W_extract_h (L64_var1 ); #if (WMOPS) multiCounter[currCounter].Mpy_32_32++; Loading lib_com/basop_util.c +7 −0 Original line number Diff line number Diff line Loading @@ -302,10 +302,17 @@ static Word32 Sqrt32_common(Word32 m, Word16 e) { Word16 m16, index, frac; #ifdef BASOP_NOGLOB Flag Overflow = 0; #endif /* BASOP_NOGLOB */ assert((m >= 0x40000000) || (m == 0)); #ifdef BASOP_NOGLOB m16 = round_fx_o(m, &Overflow); #else /* BASOP_NOGLOB */ m16 = round_fx(m); #endif /* BASOP_NOGLOB */ /* get table index (upper 6 bits minus 32) */ /* index = (m16 >> 9) - 32; */ Loading lib_com/bitalloc_fx.c +7 −0 Original line number Diff line number Diff line Loading @@ -23,6 +23,9 @@ void bitalloc_fx ( Word16 diff, temp; Word16 fac; Word16 ii; #ifdef BASOP_NOGLOB Flag Overflow = 0; #endif /* BASOP_NOGLOB */ Word16 SFM_thr = SFM_G1G2; move16(); Loading Loading @@ -50,7 +53,11 @@ void bitalloc_fx ( move16(); FOR ( m=1; m<im; m++) { #ifdef BASOP_NOGLOB v = sub_o( temp, y[m] , &Overflow); #else /* BASOP_NOGLOB */ v = sub( temp, y[m] ); #endif /* BASOP_NOGLOB */ temp = s_max(temp, y[m]); if ( v < 0 ) { Loading lib_com/cng_exc_fx.c +20 −0 Original line number Diff line number Diff line Loading @@ -65,6 +65,9 @@ void CNG_exc_fx( Word16 exp_pow; Word32 L_tmp2; Word16 *pt_fft_io; #ifdef BASOP_NOGLOB Flag Overflow = 0; #endif /* BASOP_NOGLOB */ /*------------------------------------------------------------------* * Initializations Loading Loading @@ -476,7 +479,11 @@ void CNG_exc_fx( test(); IF( NE_32(last_core_brate,SID_2k40)&&NE_32(last_core_brate,SID_1k75)&&NE_32(last_core_brate,FRAME_NO_DATA)&&EQ_32(core_brate,SID_2k40)) { #ifdef BASOP_NOGLOB IF ( GT_32(L_tmp,L_shl_o(1,sub(31,exp), &Overflow))) #else /* BASOP_NOGLOB */ IF ( GT_32(L_tmp,L_shl(1,sub(31,exp)))) #endif /* BASOP_NOGLOB */ { L_tmp = L_shl(1,sub(31,exp)); } Loading Loading @@ -552,7 +559,11 @@ void CNG_exc_fx( L_tmp = L_deposit_h(tmp); L_tmp = Isqrt_lc(L_tmp, &exp); /*Q(31-exp)*/ #ifdef BASOP_NOGLOB ftmp = extract_h(L_shl_o(L_tmp,exp, &Overflow));/* Q15 */ #else /* BASOP_NOGLOB */ ftmp = extract_h(L_shl(L_tmp,exp));/* Q15 */ #endif /* BASOP_NOGLOB */ FOR (i=0; i<L_frame; i++) { /* fft_io[i] *= ftmp;*/ Loading Loading @@ -614,6 +625,9 @@ void cng_params_postupd_fx( Word16 CNG_mode; Word16 ptr; Word32 last_active_brate; #ifdef BASOP_NOGLOB Flag Overflow = 0; #endif /* BASOP_NOGLOB */ ptr = add( sub(ho_circ_ptr, *cng_buf_cnt), 1); if( ptr < 0 ) Loading @@ -637,9 +651,15 @@ void cng_params_postupd_fx( FOR(i = 0; i < NUM_ENV_CNG; i++) { /* sp[i] = 2.0f*(*ptR * *ptR + *ptI * *ptI)/L_FFT; */ #ifdef BASOP_NOGLOB L_tmp = L_mult_o(*ptR, *ptR, &Overflow);/* 2*Q_exc+1 */ L_tmp = L_add_o(L_tmp, L_mult_o(*ptI, *ptI, &Overflow), &Overflow);/* 2*Q_exc+1 */ L_tmp = L_add_o(L_tmp, L_tmp, &Overflow);/* 2*Q_exc+1 */ #else /* BASOP_NOGLOB */ L_tmp = L_mult(*ptR, *ptR);/* 2*Q_exc+1 */ L_tmp = L_add(L_tmp, L_mult(*ptI, *ptI));/* 2*Q_exc+1 */ L_tmp = L_add(L_tmp, L_tmp);/* 2*Q_exc+1 */ #endif /* BASOP_NOGLOB */ L_tmp = Mult_32_16(L_tmp, 128);/* 2*Q_exc+1 */ tmp = add(add(Q_exc, Q_exc), 1); sp[i] = L_shr(L_tmp, sub(tmp, 6)); Loading Loading
basic_math/math_op.c +14 −0 Original line number Diff line number Diff line Loading @@ -177,10 +177,17 @@ Word32 Dot_product12( /* (o) Q31: normalized result (1 < va { Word16 i, sft; Word32 L_sum; #ifdef BASOP_NOGLOB Flag Overflow = 0; #endif /* BASOP_NOGLOB */ L_sum = L_mac(1, x[0], y[0]); FOR (i = 1; i < lg; i++) #ifdef BASOP_NOGLOB L_sum = L_mac_o(L_sum, x[i], y[i], &Overflow); #else /* BASOP_NOGLOB */ L_sum = L_mac(L_sum, x[i], y[i]); #endif /* BASOP_NOGLOB */ /* Normalize acc in Q31 */ Loading Loading @@ -211,6 +218,9 @@ Word32 Energy_scale( /* (o) : Q31: normalized result (1 < { Word16 i, sft, tmp; Word32 L_sum; #ifdef BASOP_NOGLOB Flag Overflow = 0; #endif /* BASOP_NOGLOB */ L_sum = 0; /* just to avoid superflous compiler warning about uninitialized use of L_sum */ Loading @@ -220,7 +230,11 @@ Word32 Energy_scale( /* (o) : Q31: normalized result (1 < L_sum = L_mac(1, x[0], x[0]); FOR (i = 1; i < lg; i++) { #ifdef BASOP_NOGLOB L_sum = L_mac_o(L_sum, x[i], x[i], &Overflow); #else /* BASOP_NOGLOB */ L_sum = L_mac(L_sum, x[i], x[i]); #endif /* BASOP_NOGLOB */ } } IF (expi < 0) Loading
basic_op/enh32.c +7 −0 Original line number Diff line number Diff line Loading @@ -71,9 +71,16 @@ Word32 Mpy_32_16_r (Word32 L_var1, Word16 var2) { Word32 Mpy_32_32 (Word32 L_var1, Word32 L_var2) { Word32 L_var_out; Word64 L64_var1; #ifdef BASOP_NOGLOB Flag Overflow = 0; #endif /* BASOP_NOGLOB */ L64_var1 = ((Word64)L_var1 * L_var2); #ifdef BASOP_NOGLOB L64_var1 = W_shl_o (L64_var1, 1, &Overflow); #else /* BASOP_NOGLOB */ L64_var1 = W_shl (L64_var1, 1); #endif /* BASOP_NOGLOB */ L_var_out = W_extract_h (L64_var1 ); #if (WMOPS) multiCounter[currCounter].Mpy_32_32++; Loading
lib_com/basop_util.c +7 −0 Original line number Diff line number Diff line Loading @@ -302,10 +302,17 @@ static Word32 Sqrt32_common(Word32 m, Word16 e) { Word16 m16, index, frac; #ifdef BASOP_NOGLOB Flag Overflow = 0; #endif /* BASOP_NOGLOB */ assert((m >= 0x40000000) || (m == 0)); #ifdef BASOP_NOGLOB m16 = round_fx_o(m, &Overflow); #else /* BASOP_NOGLOB */ m16 = round_fx(m); #endif /* BASOP_NOGLOB */ /* get table index (upper 6 bits minus 32) */ /* index = (m16 >> 9) - 32; */ Loading
lib_com/bitalloc_fx.c +7 −0 Original line number Diff line number Diff line Loading @@ -23,6 +23,9 @@ void bitalloc_fx ( Word16 diff, temp; Word16 fac; Word16 ii; #ifdef BASOP_NOGLOB Flag Overflow = 0; #endif /* BASOP_NOGLOB */ Word16 SFM_thr = SFM_G1G2; move16(); Loading Loading @@ -50,7 +53,11 @@ void bitalloc_fx ( move16(); FOR ( m=1; m<im; m++) { #ifdef BASOP_NOGLOB v = sub_o( temp, y[m] , &Overflow); #else /* BASOP_NOGLOB */ v = sub( temp, y[m] ); #endif /* BASOP_NOGLOB */ temp = s_max(temp, y[m]); if ( v < 0 ) { Loading
lib_com/cng_exc_fx.c +20 −0 Original line number Diff line number Diff line Loading @@ -65,6 +65,9 @@ void CNG_exc_fx( Word16 exp_pow; Word32 L_tmp2; Word16 *pt_fft_io; #ifdef BASOP_NOGLOB Flag Overflow = 0; #endif /* BASOP_NOGLOB */ /*------------------------------------------------------------------* * Initializations Loading Loading @@ -476,7 +479,11 @@ void CNG_exc_fx( test(); IF( NE_32(last_core_brate,SID_2k40)&&NE_32(last_core_brate,SID_1k75)&&NE_32(last_core_brate,FRAME_NO_DATA)&&EQ_32(core_brate,SID_2k40)) { #ifdef BASOP_NOGLOB IF ( GT_32(L_tmp,L_shl_o(1,sub(31,exp), &Overflow))) #else /* BASOP_NOGLOB */ IF ( GT_32(L_tmp,L_shl(1,sub(31,exp)))) #endif /* BASOP_NOGLOB */ { L_tmp = L_shl(1,sub(31,exp)); } Loading Loading @@ -552,7 +559,11 @@ void CNG_exc_fx( L_tmp = L_deposit_h(tmp); L_tmp = Isqrt_lc(L_tmp, &exp); /*Q(31-exp)*/ #ifdef BASOP_NOGLOB ftmp = extract_h(L_shl_o(L_tmp,exp, &Overflow));/* Q15 */ #else /* BASOP_NOGLOB */ ftmp = extract_h(L_shl(L_tmp,exp));/* Q15 */ #endif /* BASOP_NOGLOB */ FOR (i=0; i<L_frame; i++) { /* fft_io[i] *= ftmp;*/ Loading Loading @@ -614,6 +625,9 @@ void cng_params_postupd_fx( Word16 CNG_mode; Word16 ptr; Word32 last_active_brate; #ifdef BASOP_NOGLOB Flag Overflow = 0; #endif /* BASOP_NOGLOB */ ptr = add( sub(ho_circ_ptr, *cng_buf_cnt), 1); if( ptr < 0 ) Loading @@ -637,9 +651,15 @@ void cng_params_postupd_fx( FOR(i = 0; i < NUM_ENV_CNG; i++) { /* sp[i] = 2.0f*(*ptR * *ptR + *ptI * *ptI)/L_FFT; */ #ifdef BASOP_NOGLOB L_tmp = L_mult_o(*ptR, *ptR, &Overflow);/* 2*Q_exc+1 */ L_tmp = L_add_o(L_tmp, L_mult_o(*ptI, *ptI, &Overflow), &Overflow);/* 2*Q_exc+1 */ L_tmp = L_add_o(L_tmp, L_tmp, &Overflow);/* 2*Q_exc+1 */ #else /* BASOP_NOGLOB */ L_tmp = L_mult(*ptR, *ptR);/* 2*Q_exc+1 */ L_tmp = L_add(L_tmp, L_mult(*ptI, *ptI));/* 2*Q_exc+1 */ L_tmp = L_add(L_tmp, L_tmp);/* 2*Q_exc+1 */ #endif /* BASOP_NOGLOB */ L_tmp = Mult_32_16(L_tmp, 128);/* 2*Q_exc+1 */ tmp = add(add(Q_exc, Q_exc), 1); sp[i] = L_shr(L_tmp, sub(tmp, 6)); Loading