Commit 58c90ac1 authored by thomas dettbarn's avatar thomas dettbarn
Browse files

getting closer.

parent d2cab7e8
Loading
Loading
Loading
Loading
+4 −7
Original line number Diff line number Diff line
@@ -1235,15 +1235,12 @@ static void biDiagonalReductionRight_64(
                f_e=add(invVal_e, sub(norm_x_e, r_e ));
		printf("F: \x1b[1;33mnorm:%016llX --> %08X<%2X   %08X<%2X\x1b[0m\n",norm_64,norm_x,norm_x_e,f,f_e);
   		printf("singularVectors_Left%d,%d: \x1b[1;35m",currChannel,iCh); 
		printf("f_e:d norm_x_e:%d ",f_e,norm_x_e);
                for (jCh=idx;jCh<nChannelsC; jCh++)
                {
                    tmp2=W_extract_l(W_shr(singularVectors_Left_64[currChannel][jCh],tmpe));
			printf("s=0x%016llxll;f=0x%08xll;tmp2=0x%08xll;",singularVectors_Left_64[iCh][jCh],f,tmp2);
if (iCh==1)		    singularVectors_Left_64[iCh][jCh]=W_add(singularVectors_Left_64[iCh][jCh],W_shr(W_mult0_32_32(f,tmp2),37));
else if (iCh==2)		    singularVectors_Left_64[iCh][jCh]=W_add(singularVectors_Left_64[iCh][jCh],W_shr(W_mult0_32_32(f,tmp2),30));
else if (iCh==3)		    singularVectors_Left_64[iCh][jCh]=W_add(singularVectors_Left_64[iCh][jCh],W_shr(W_mult0_32_32(f,tmp2),35));
else if (iCh==4)		    singularVectors_Left_64[iCh][jCh]=W_add(singularVectors_Left_64[iCh][jCh],W_shr(W_mult0_32_32(f,tmp2),34));
else if (iCh==5)		    singularVectors_Left_64[iCh][jCh]=W_add(singularVectors_Left_64[iCh][jCh],W_shr(W_mult0_32_32(f,tmp2),35));
//			printf("s=0x%016llxll;f=0x%08xll;tmp2=0x%08xll;",singularVectors_Left_64[iCh][jCh],f,tmp2);
		    singularVectors_Left_64[iCh][jCh]=W_add(singularVectors_Left_64[iCh][jCh],W_shr(W_mult0_32_32(f,tmp2),28+norm_x_e));
			printf("%016llX ",singularVectors_Left_64[iCh][jCh]);
                }
		printf("\x1b[0m\n");
@@ -1670,7 +1667,7 @@ static void biDiagonalReductionRight_fx(
                FOR( jCh = idx; jCh < nChannelsC; jCh++ ) /*  nChannelsC */
                {
                    singularVectors[iCh][jCh] = BASOP_Util_Add_Mant32Exp( singularVectors[iCh][jCh], singularVectors2_e[iCh][jCh], Mpy_32_32( norm_x, singularVectors[currChannel][jCh] ), add( norm_x_e, singularVectors2_e[currChannel][jCh] ), &singularVectors2_e[iCh][jCh] ); /* exp(sing_exp2) */
			printf("|%08X*%08X|expected=0x%08Xll;",norm_x, singularVectors[currChannel][jCh],singularVectors[iCh][jCh]);
//			printf("|%08X*%08X|expected=0x%08Xll;",norm_x, singularVectors[currChannel][jCh],singularVectors[iCh][jCh]);
			printf("%08X<%2X  ",singularVectors[iCh][jCh], singularVectors2_e[iCh][jCh]);
                    move32();
                }