Commit 0387efd8 authored by thomas dettbarn's avatar thomas dettbarn
Browse files

the most deterministic so far.

parent 1dc665f0
Loading
Loading
Loading
Loading
+5 −6
Original line number Diff line number Diff line
@@ -1083,7 +1083,8 @@ static void biDiagonalReductionLeft_64(
            norm_x_e = W_norm( norm_64 );
            norm_x = W_extract_h( W_shl( norm_64, norm_x_e ) );
            f = Mpy_32_32( norm_x, invVal );
            magic_shift = norm_x_e - r_e + ( 32 + HEADROOM_LEFT_1 - 2 * HEADROOM_LEFT_3 - HEADROOM_LEFT_4 );
//            magic_shift = norm_x_e - r_e + ( 32 + HEADROOM_LEFT_1 - 2 * HEADROOM_LEFT_3 - HEADROOM_LEFT_4 );
            magic_shift = norm_x_e - r_e + ( 30 + 2 * HEADROOM_LEFT_1 - 2 * HEADROOM_LEFT_3 - HEADROOM_LEFT_4 );
            FOR( jCh = currChannel; jCh < nChannelsL; jCh++ )
            {
                factor1 = W_extract_h( W_shl( singularVectors_Left_64[jCh][currChannel], 32 - HEADROOM_LEFT_4 ) );
@@ -1166,7 +1167,6 @@ static void biDiagonalReductionRight_64(
            tmpmul = W_mult0_32_32( *g, factor2 );
            tmpmul = W_shr( tmpmul, tmp_e );
            r_64 = W_sub( tmpmul, norm_64 );
		printf("\nR:%016llX-%016llX factor2:%016llx:%08X tmpmul:%016llX-%016llX norm64:%016llX g_e:%3d tmp_e:%3d\n",r_64,-r_64,singularVectors_Left_64[currChannel][idx],factor2,tmpmul,-tmpmul,norm_64,*g_e,tmp_e);
            r_e = W_norm( r_64 );
            r = W_extract_h( W_shl( r_64, r_e ) );

@@ -1192,8 +1192,7 @@ static void biDiagonalReductionRight_64(
                norm_x_e = W_norm( norm_64 );
                norm_x = W_extract_h( W_shl( norm_64, norm_x_e ) );
                f = Mpy_32_32( norm_x, invVal );
//                magic_shift = norm_x_e - r_e + ( 32 + 2 * HEADROOM_RIGHT_1 - HEADROOM_RIGHT_2 - 2 * HEADROOM_RIGHT_3 - HEADROOM_RIGHT_4 );
                magic_shift = norm_x_e - r_e + ( 32 + HEADROOM_RIGHT_1 - 2 * HEADROOM_RIGHT_3 - HEADROOM_RIGHT_4 );
                magic_shift = norm_x_e - r_e + ( 30 + 2 * HEADROOM_RIGHT_1 - 2 * HEADROOM_RIGHT_3 - HEADROOM_RIGHT_4 );

                FOR( jCh = idx; jCh < nChannelsC; jCh++ )
                {