Commit c87442fc authored by Manuel Jander's avatar Manuel Jander
Browse files

Enable FIX_1010_OPT_DIV case again because of crash, disable FIX_1010_OPT_GIVENS_AMAX_BMIN.

parent 50bc76ff
Loading
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -53,10 +53,9 @@

#if 1
#define FIX_1010_OPT_DIV

#define FIX_1010_OPT_GIVENS
#define FIX_1010_OPT_GIVENS_INV
#define FIX_1010_OPT_GIVENS_AMAX_BMIN
//#define FIX_1010_OPT_GIVENS_AMAX_BMIN
#endif

/*-----------------------------------------------------------------------*
@@ -1261,13 +1260,13 @@ IF( LT_16( currChannel, nChannelsL ) ) /* i <= m */
        move16();
        FOR( jCh = idx; jCh < nChannelsL; jCh++ ) /* nChannelsL */
        {
#ifndef FIX_1010_OPT_DIVno
#ifndef FIX_1010_OPT_DIV
            singularVectors[jCh][currChannel] = BASOP_Util_Divide3232_Scale_cadence( singularVectors[jCh][currChannel], maxWithSign_fx( *sig_x ), &sing_exp[jCh] ); /* exp(sing_exp + (singularVectors_e - sig_x_e) */
            move32();
            sing_exp[jCh] = add( sing_exp[jCh], sub( *singularVectors_e, *sig_x_e ) );
            move16();
#else
            temp_e = norm_l( singularVectors[jCh][currChannel] );
            Word16 temp_e = norm_l( singularVectors[jCh][currChannel] );
            singularVectors[jCh][currChannel] = Mpy_32_32( L_shl( singularVectors[jCh][currChannel], temp_e ), invVal ); /* exp(sing_exp + (singularVectors_e - sig_x_e) */
            move32();
            sing_exp[jCh] = add( sub( invVal_e, temp_e ), sub( *singularVectors_e, *sig_x_e ) );
@@ -1807,7 +1806,7 @@ static void get_alpha_beta( Word32 p, Word16 p_e, Word32 q, Word16 q_e, Word32 *
    p = L_shl( p, shift );
    p_e = sub( p_e, shift );
    shift = sub( q_e, p_e );
    r = shl_sat( div_s( extract_h( q ), extract_h( p ) ), shift );
    r = shl_sat( div_s( extract_h( q ), s_max(1, extract_h( p ) ) ), shift );
    /* Second order polyfit of atan(r)/(pi/4) for r=0..1 */
    r = add( add( mult( mult( r, r ), FL2WORD16_SCALE( -3.672563685340096e-01, 3 ) ), mult( r, FL2WORD16_SCALE( 1.375369641423651e+00, 3 ) ) ), FL2WORD16_SCALE( -6.529424378422714e-03, 3 ) );
    r = s_min( s_max( 0, shr( r, WORD16_BITS - 1 - 7 - 3 ) ), NUM_REGIONS - 1 );