Commit 1b379250 authored by thomas dettbarn's avatar thomas dettbarn
Browse files

iterations run through, but it sounds awful.

parent ff00410b
Loading
Loading
Loading
Loading
+32 −7
Original line number Diff line number Diff line
@@ -939,7 +939,7 @@ static void HouseholderReduction_fx(
				{
					Word16 n;
					n=W_norm(singularVectors_Left_64[i][j]);
					printf("%08X ",W_extract_h(W_shl(singularVectors_Left_64[i][j],n)));
					printf("%08X<%3d ",W_extract_h(W_shl(singularVectors_Left_64[i][j],n)),n);
				}
				printf("\x1b[0m\n");
			}
@@ -988,7 +988,7 @@ static void HouseholderReduction_fx(
				for (j=0;j<nChannelsC;j++)
				{
					Word16 n;
					printf("%08X ",singularVectors_Left_fx[i][j]);
					printf("%08X<%3d ",singularVectors_Left_fx[i][j],singularVectors_Left_fx_e[i][j]);
				}
				printf("\n");
			}
@@ -1010,6 +1010,19 @@ static void HouseholderReduction_fx(
        }
    }
	pop_wmops();
	{
		int i,j;
		for (i=0;i<nChannelsL;i++)
		{
			for (j=0;j<nChannelsC;j++)
			{
				Word16 n;
				n=W_norm(singularVectors_Left_64[i][j]);
				singularVectors_Left_fx[i][j]=W_extract_h(W_shl(singularVectors_Left_64[i][j],n));
			}
		}

	}

    /* SingularVecotr Accumulation */
    singularVectorsAccumulationRight_fx( singularVectors_Left_fx, singularVectors_Right_fx, secDiag_fx, singularVectors_Left_fx_e, secDiag_fx_e, nChannelsC );
@@ -1126,8 +1139,6 @@ static void biDiagonalReductionLeft_64(

		switch(currChannel)
		{
			case 0:	magic_shift_left=norm_x_e+23;break;
			case 1:	magic_shift_left=norm_x_e+23;break;
			default:magic_shift_left=norm_x_e+23+r_e;break;
		}
                tmp2=W_extract_l(W_shr(singularVectors_Left_64[jCh][currChannel],tmpe));
@@ -1250,8 +1261,8 @@ static void biDiagonalReductionRight_64(
//// NOT CORRECT YET!!!!!!	//////////////////////////////////
		switch(currChannel)
		{
			case 0: tmpe=30;	break;
			case 1: tmpe=33;	break;
//			case 0: tmpe=30;	break;
//			case 1: tmpe=33;	break;
			default: tmpe=32-(*g_e);break;
		}
            tmp64=W_shr(W_deposit32_h(*g),tmpe);
@@ -1296,8 +1307,22 @@ static void biDiagonalReductionRight_64(
			case 5:magic_shift=norm_x_e+r_e+(*g_e)+16;break;
			case 6:magic_shift=norm_x_e+r_e+(*g_e)+12;break;
			case 7:magic_shift=norm_x_e+r_e+(*g_e)+10;break;
			default:magic_shift=norm_x_e+r_e+(*g_e)+ 8;break;
		}
			case 8:magic_shift=norm_x_e+r_e+(*g_e)+ 8;break;
			case 9:magic_shift=norm_x_e+r_e+(*g_e)+ 7;break;
			case 10:magic_shift=norm_x_e+r_e+(*g_e)+ 6;break;
			default:magic_shift=norm_x_e+r_e+(*g_e)+ 5;break;
		}
// ONE 65,65>  -3,0,22,-2,4,0,3,0,0
		magic_shift=-3*currChannel+22-2*norm_x_e+4*r_e+3*f_e;
		printf("MAGICSHIFT%02d,%02d: ",currChannel,iCh);
		printf("magic_shift:%3d ",magic_shift);
		printf("norm_x_e:%3d ",norm_x_e);
		printf("r_e:%3d ",r_e);
		printf("g_e:%3d ",*g_e);
		printf("f_e:%3d ",f_e);
		printf("s_c,c+1:%3d ",W_norm(singularVectors_Left_64[currChannel][idx]));
		printf("s_i,c+1:%3d ",W_norm(singularVectors_Left_64[iCh][idx]));
		printf("\n");
//		magic_shift=-32-30*norm_x_e-norm_x_e2+32*invVal_e+32*f_e;
                for (jCh=idx;jCh<nChannelsC; jCh++)
                {