Commit 81529013 authored by JÜRGEN Gerstacker's avatar JÜRGEN Gerstacker
Browse files

issue _1965_ fix

parent e9edc1c0
Loading
Loading
Loading
Loading
Loading
+3 −6
Original line number Diff line number Diff line
@@ -910,11 +910,7 @@ Word16 IGF_getSFM( /**< out: Q15| SFM value
{
    Word16 n, i, s;
    Word32 num;
#ifndef FIX_ISSUE_1965_REPLACE_CARRY_OVERFLOW
    Word32 denom;
#else
    Word64 denom;
#endif
    Word16 denom_exp;
    Word16 invDenom_exp, numf_exp;
    Word16 numf;
@@ -945,6 +941,7 @@ Word16 IGF_getSFM( /**< out: Q15| SFM value
    SFM = 32767 /*1.0f Q15*/;
    move16();

    Word64 W_denom = W_deposit32_l( denom );
    FOR( i = start; i < stop; i++ )
    {
        /*ln(x * 2^-Qx * 2^xExp) = ln(x) - Qx + xExp*/
@@ -972,14 +969,14 @@ Word16 IGF_getSFM( /**< out: Q15| SFM value
        move32();
        L_c = L_macNs_co( L_c, 0, 0, &Carry, &Overflow );
#else
        denom = W_add( energy[i], denom );
        W_denom = W_add( energy[i], W_denom );
#endif
    }

#ifndef FIX_ISSUE_1965_REPLACE_CARRY_OVERFLOW
    denom = norm_llQ31( L_c, denom, &denom_exp ); /*Q31*/
#else
    denom = w_norm_llQ31( denom, &denom_exp ); /*Q31*/
    denom = w_norm_llQ31( W_denom, &denom_exp ); /*Q31*/
#endif
    denom_exp = add( denom_exp, *energy_exp );