亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ezmtltest.cpp

?? 矩陣運算的模板類
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
		x.Print(cout,"  x");
	}
#endif

#if 1
	{
		Matrix<complex<float> > A;
		Vector<complex<float> > b,x;
		Matrix<complex<float> > Q,R;

		cout << "-----------------------------------------------------\n";
		cout << "Testing QR decomposition for complex matrices: A=Q*R" << endl;
		cout << "-----------------------------------------------------\n";

		A.Resize(3,3);
		A(1,1)=complex<float> (1,1); A(1,2)=complex<float> (2,0); A(1,3)=complex<float> (3,1); 
		A(2,1)=complex<float> (3,0); A(2,2)=complex<float> (5,1); A(2,3)=complex<float> (1,0); 
		A(3,1)=complex<float> (1,0); A(3,2)=complex<float> (-1,0); A(3,3)=complex<float> (0,0); 
		isOK=Qr(A,Q,R);
		A.Print(cout,"  A");
		Q.Print(cout,"  Q");
		R.Print(cout,"  R");
		(A-Q*R).Print(cout,"  A-QR=0");
		b.Resize(3);
		b(1)=1; b(2)=2; b(3)=3;
		QrSolve(A,b,x);
		b.Print(cout,"  b");
		x.Print(cout,"  x");

		A.Resize(2,3);
		A(1,1)=1; A(1,2)=2; A(1,3)=3;
		A(2,1)=4; A(2,2)=5; A(2,3)=6;
		isOK=Qr(A,Q,R);
		A.Print(cout,"  A");
		Q.Print(cout,"  Q");
		R.Print(cout,"  R");
		(A-Q*R).Print(cout,"  A-QR=0");
		b.Resize(2);
		b(1)=1; b(2)=2;
		QrSolve(A,b,x);
		b.Print(cout,"  b");
		x.Print(cout,"  x");

		A.Resize(3,2);
		A(1,1)=1; A(1,2)=2;
		A(2,1)=3; A(2,2)=4;
		A(3,1)=5; A(3,2)=6;
		isOK=Qr(A,Q,R);
		A.Print(cout,"  A");
		Q.Print(cout,"  Q");
		R.Print(cout,"  R");
		(A-Q*R).Print(cout,"  A-QR=0");
		b.Resize(3);
		b(1)=1; b(2)=-2; b(3)=5;
		QrSolve(A,b,x);
		b.Print(cout,"  b");
		x.Print(cout,"  x");
	}
#endif

#if 1
	{
		Matrix<complex<float> > A;
		cout << "-----------------------------------------------------\n";
		cout << "Testing condition numbers for complex matrices" << endl;
		cout << "-----------------------------------------------------\n";
#if !defined(USE_NRC_CODE)
		A.Resize(3,3);
		A(1,1)=complex<float> (1,1); A(1,2)=complex<float> (2,2); A(1,3)=complex<float> (3,3); 
		A(2,1)=complex<float> (4,-4); A(2,2)=complex<float> (5,-5); A(2,3)=complex<float> (6,-6); 
		A(3,1)=complex<float> (7,7); A(3,2)=complex<float> (8,8); A(3,3)=complex<float> (0,0); 
		A.Print(cout,"  A");
		cout << "  Cond(A)=" << Cond(A) << endl;
		cout << "  CondLU(A)=" << CondLU(A) << endl;
#endif
		A.Resize(3,3);
		A(1,1)=3; A(1,2)=2; A(1,3)=1; 
		A(2,1)=2; A(2,2)=4; A(2,3)=2; 
		A(3,1)=1; A(3,2)=2; A(3,3)=5; 
		A.Print(cout,"  A");
		cout << "  Cond(A)=" << Cond(A) << endl;
	}
#endif

#if 1
	{
		cout << "-----------------------------------------------------\n";
		cout << "Testing eigen analysis for Hermitian matrices\n";
		cout << "-----------------------------------------------------\n";

		Matrix<complex<float> > A, l;
		l.Resize(3,3);
		l(1,1)=complex<float> (1,1); l(1,2)=complex<float> (0,0); l(1,3)=complex<float> (0,0); 
		l(2,1)=complex<float> (2,-1); l(2,2)=complex<float> (3,-1); l(2,3)=complex<float> (0,0); 
		l(3,1)=complex<float> (4,1); l(3,2)=complex<float> (5,1); l(3,3)=complex<float> (6,1); 
		A=l*Transpose(l);

		Matrix<complex<float> > EVec,EVal;
		isOK=Eig(A,EVec,EVal);
		if(isOK==0){
			cerr << "ERROR: EigComplex()\n";
		}
		A.Print(cout,"  A");
		EVec.Print(cout,"  EVec");
		EVal.Print(cout,"  EVal");
		int i;
		for(i=1;i<=3;i++){
			Vector<complex<float> > x=EVec.Col(i);
			Vector<complex<float> > y=Transpose(x);
			complex<float> z = Multiply3(Transpose(x),A,x);
			cout << "  EVec(" << i << ")\'*A*Evec(" << i << ")=" << z << endl;
		}
		Matrix<complex<float> > ans=A*EVec-EVec*EVal;
		ans.Print(cout,"  A*EVec-EVec*EVal=0");
		cout << endl;
	}
#endif

#if 1
	{
		int i;
		Matrix<complex<float> > A;

		A.Resize(3,3);
#if 1
		A(1,1)=complex<float> (1,1); A(1,2)=complex<float> (2,2); A(1,3)=complex<float> (3,3); 
		A(2,1)=complex<float> (4,-4); A(2,2)=complex<float> (5,-5); A(2,3)=complex<float> (6,-6); 
		A(3,1)=complex<float> (7,7); A(3,2)=complex<float> (8,8); A(3,3)=complex<float> (0,0);
#else
		A(1,1)=complex<float> (1,0); A(1,2)=complex<float> (2,0); A(1,3)=complex<float> (3,0); 
		A(2,1)=complex<float> (4,0); A(2,2)=complex<float> (5,0); A(2,3)=complex<float> (6,0); 
		A(3,1)=complex<float> (7,0); A(3,2)=complex<float> (8,0); A(3,3)=complex<float> (0,0);
#endif

		cout << "-----------------------------------------------------\n";
		cout << "Testing the Hessenberg decomposition for complex matrices: A = P*H*P\'\n";
		cout << "-----------------------------------------------------\n";
		Matrix<complex<float> > H,P;
		HessComplex(A,H,P);
		A.Print(cout,"  A");
		H.Print(cout,"  H");
		P.Print(cout,"  P");
		(A-P*H*Transpose(P)).Print(cout,"  A-P*H*P\'=0");

		cout << "-----------------------------------------------------\n";
		cout << "Testing the Schur decomposition for complex matrices: A = Q*T*Q\'\n";
		cout << "-----------------------------------------------------\n";
		Matrix<complex<float> > T,Q;
		isOK=Schur(A,T,Q);
		if(isOK==0){
			cerr << "ERROR: SchurComplex()\n";
		}
		A.Print(cout,"  A");
		T.Print(cout,"  T");
		Q.Print(cout,"  Q");
		(A-Q*T*Transpose(Q)).Print(cout,"  A-Q*T*Q\'=0");
				
		cout << "-----------------------------------------------------\n";
		cout << "Testing eigen analysis for complex matrices\n";
		cout << "-----------------------------------------------------\n";
		Matrix<complex<float> > EVec,EVal;
		isOK=Eig(A,EVec,EVal);
		if(isOK==0){
			cerr << "ERROR: EigComplex()\n";
		}
		A.Print(cout,"  A");
		EVec.Print(cout,"  EVec");
		EVal.Print(cout,"  EVal");	
		for(i=1;i<=3;i++){
			Vector<complex<float> > x=EVec.Col(i);
			Vector<complex<float> > y=Transpose(x);
			complex<float> z = Multiply3(Transpose(x),A,x);
			cout << "  EVec(" << i << ")\'*A*Evec(" << i << ")=" << z << endl;
		}
		Matrix<complex<float> > ans=A*EVec-EVec*EVal;
		ans.Print(cout,"  A*EVec-EVec*EVal=0");
		cout << endl;

		cout << "  -----------------------------------------------------\n";
		cout << "  Testing with random matrices\n";
		cout << "  -----------------------------------------------------\n";
		for(int k=1;k<=10;k++){
			A=Matrix<complex<float> >::CRandn(10,10);
			isOK=Eig(A,EVec,EVal);
			if(isOK==0){
				cerr << "ERROR: EigComplex()\n";
			}
			for(i=1;i<=3;i++){
				Vector<complex<float> > x=EVec.Col(i);
				Vector<complex<float> > y=Transpose(x);
				complex<float> z = Multiply3(Transpose(x),A,x);
				if(Abs(z-EVal(i,i))>1e-5){
					cerr<<"ERROR2: Eig()\n";
				}
			}
			ans=A*EVec-EVec*EVal;
			if(ans.IsZero(1e-5)==0){
				cerr<<"ERROR1: Eig()\n";
			}
			cout << "  Matrix " << k << " OK.\n";
		}
	}
#endif

#if 1
	{
		Matrix<complex<float> > A;
		Matrix<complex<float> > B;
		Vector<complex<float> > x;
		cout << "-----------------------------------------------------\n";
		cout << "Testing Singular value decomposition for complex matrices: A=U*S*V\'" << endl;
		cout << "-----------------------------------------------------\n";
		Matrix<complex<float> > U, S, V;

		A.Resize(2,3);
		A(1,1)=complex<float> (1,1); A(1,2)=complex<float> (2,2); A(1,3)=complex<float> (3,3); 
		A(2,1)=complex<float> (4,-4); A(2,2)=complex<float> (5,-5); A(2,3)=complex<float> (6,-6); 

		Svd(A,U,S,V);
		A.Print(cout,"  A");
		U.Print(cout,"  U");
		S.Print(cout,"  S");
		V.Print(cout,"  V");
		(A-U*S*Transpose(V)).Print(cout, "  A-U*S*V\'=0");

		A.Resize(3,2);
		A(1,1)=complex<float> (1,1); A(1,2)=complex<float> (2,2);
		A(2,1)=complex<float> (3,-3); A(2,2)=complex<float> (4,-4);
		A(3,1)=complex<float> (5,5); A(3,2)=complex<float> (6,6);

		Svd(A,U,S,V);
		A.Print(cout,"  A");
		U.Print(cout,"  U");
		S.Print(cout,"  S");
		V.Print(cout,"  V");
		(A-U*S*Transpose(V)).Print(cout, "  A-U*S*V\'=0");

		A.Resize(3,3);
		A(1,1)=complex<float> (1,1); A(1,2)=complex<float> (2,2); A(1,3)=complex<float> (3,3); 
		A(2,1)=complex<float> (4,-4); A(2,2)=complex<float> (5,-5); A(2,3)=complex<float> (6,-6); 
		A(3,1)=complex<float> (7,7); A(3,2)=complex<float> (8,8); A(3,3)=complex<float> (0,0); 

		Svd(A,U,S,V);
		A.Print(cout,"  A");
		U.Print(cout,"  U");
		S.Print(cout,"  S");
		V.Print(cout,"  V");
		(A-U*S*Transpose(V)).Print(cout,"A-U*S*V\'=0");
	
		int i,k,m,n;
		for(k=1;k<=3;k++){
			if(k==1)     { m=20; n=20; }
			else if(k==2){ m=30; n=10; }
			else if(k==3){ m=10; n=30; }
			cout << "  -----------------------------------------------------\n";
			cout << "  Testing with random matrices " << m << "x" << n << endl;
			cout << "  -----------------------------------------------------\n";
			for(i=1;i<=10;i++){
				A=Matrix<complex<float> >::CRandn(m,n);
				isOK=Svd(A,U,S,V);
				if(isOK==0){
					cerr << "ERROR1 in SVD()\n";
				}
				B=U*S*Transpose(V);
				if((A-B).IsZero(1e-5)==0){
					cerr << "ERROR2 in SVD()\n";
					//(A-B).Print(cout,"A-U*S*V\'");
				}
				cout << "  Matrix " << i << " OK.\n";
			}	
		}
	}
#endif

#if 1
	{
		Matrix<complex<float> > A;
		Matrix<complex<float> > X;
		cout << "-----------------------------------------------------\n";
		cout << "Testing complex Pseudoinverse: Pinv(A)" << endl;
		cout << "-----------------------------------------------------\n";		
		A.Resize(3,3);
		A(1,1)=complex<float> (1,1); A(1,2)=complex<float> (2,2); A(1,3)=complex<float> (3,3); 
		A(2,1)=complex<float> (4,-4); A(2,2)=complex<float> (5,-5); A(2,3)=complex<float> (6,-6); 
		A(3,1)=complex<float> (7,7); A(3,2)=complex<float> (8,8); A(3,3)=complex<float> (0,0); 
		A.Print(cout,"  A");
		int retCode;
		X=Pinv(A,&retCode);
		X=Pinv(A,&retCode);
		(X).Print(cout,"  pinv(A)");
		(A*X).Print(cout,"  A*Pinv(A)");
		(X*A).Print(cout,"  Pinv(A)*A");
		(A*X*A).Print(cout,"  A*Pinv(A)*A");
		(X*A*X).Print(cout,"  Pinv(A)*A*Pinv(A)");
		Pinv(X,&retCode).Print(cout,"  Pinv(Pinv(A))");
	}
#endif

#endif

#if 1
	{
		Matrix<complex<float> > A;
		cout << "-----------------------------------------------------\n";
		cout << "Testing matrix square root, exponential, logarithm and power for complex matrices" << endl;
		cout << "-----------------------------------------------------\n";

		A.Resize(2,2);
		A(1,1)=complex<float> (1,1); A(1,2)=complex<float> (2,2); 
		A(2,1)=complex<float> (3,-3); A(2,2)=complex<float> (4,-4); 

		A = A*A;
		A.Print(cout,"  A");
		Sqrtm(A).Print(cout,"  Sqrtm(A)");

		A.Resize(2,2);
		A(1,1)=complex<float> (1,1); A(1,2)=complex<float> (2,2); 
		A(2,1)=complex<float> (3,-3); A(2,2)=complex<float> (4,-4); 

		A.Print(cout,"  A");
		Expm(A).Print(cout,"  Expm(A)");

		A=Expm(A);
		A.Print(cout,"  A");
		Logm(A).Print(cout,"  Logm(A)");

		A.Resize(3,3);
		A(1,1)=1; A(1,2)=2; A(1,3)=3;
		A(2,1)=4; A(2,2)=5; A(2,3)=6;
		A(3,1)=7; A(3,2)=8; A(3,3)=0;
		A.Print(cout,"  A");
		Expm(A).Print(cout,"  Expm(A)");
		A=Expm(A);
		A.Print(cout,"  A");
		Logm(A).Print(cout,"  Logm(A)");

		A.Resize(2,2);
		A(1,1)=complex<float> (1,1); A(1,2)=complex<float> (2,2); 
		A(2,1)=complex<float> (3,-3); A(2,2)=complex<float> (4,-4); 
		A.Print(cout,"  A");
		Pow(A,2.0).Print(cout,"  Pow(A,2.0)");
		Pow(A,-2.0).Print(cout,"  Pow(A,-2.0)");
		Pow(A,2.5).Print(cout,"  Pow(A,2.5)");
		Pow(A,-2.5).Print(cout,"  Pow(A,-2.5)");
		Powm(A,2.0).Print(cout,"  Powm(A,2.0)");
		Powm(A,-2.0).Print(cout,"  Powm(A,-2.0)");
		Powm(A,2.5).Print(cout,"  Powm(A,2.5)");
		Powm(A,-2.5).Print(cout,"  Powm(A,-2.5)");

	}
#endif

#if 1
	{
		Matrix<complex<float> > A;
		cout << "-----------------------------------------------------\n";
		cout << "Testing Determinant" << endl;
		cout << "-----------------------------------------------------\n";
		A.Resize(3,3);
		A(1,1)=complex<float> (1,1); A(1,2)=complex<float> (2,2); A(1,3)=complex<float> (3,3); 
		A(2,1)=complex<float> (4,-4); A(2,2)=complex<float> (5,-5); A(2,3)=complex<float> (6,-6); 
		A(3,1)=complex<float> (7,7); A(3,2)=complex<float> (8,8); A(3,3)=complex<float> (0,0);
		A.Print(cout,"A");
		cout << "  det(A)=" << complex<float>(Det(A)) << endl << endl;

		A.Resize(2,2);
		A(1,1)=complex<float> (1,1); A(1,2)=complex<float> (2,2); 
		A(2,1)=complex<float> (3,-3); A(2,2)=complex<float> (4,-4); 
		A.Print(cout,"A");
		cout << "  det(A)=" << complex<float>(Det(A)) << endl << endl;
	}
#endif


	return 0;}

template <typename T> int checkEigenVectors(Matrix<T>& A,Matrix<T>& EVec,Matrix<T>& EVal)
{
	if(EVal.IsDiagonal()){
		cout << "  >>> The A matrix has real eigenvalues.\n";
		Matrix<T> ans=A*EVec-EVec*EVal;
		ans.Print(cout,"  A*EVec-EVec*EVal=0");
	}
	else{
		cout << "  >>> The A matrix has complex eigenvalues.\n";
		Matrix<complex<T> > CVec, CVal;
		Matrix<T>::Compact2Complex(EVec,EVal,CVec,CVal);
		Matrix<complex<T> > C(NumRows(A),NumCols(A));
		for(int i=1;i<=NumRows(A);i++){
			for(int j=1;j<=NumCols(A);j++){
				C(i,j)=complex<T>(A(i,j),0);
			}
		}
		Matrix<complex<T> > ans=C*CVec-CVec*CVal;
		ans.Print(cout,"  C*CVec-CVec*CVal=0");

		Matrix<T> AVec,AVal;
		Matrix<T>::Complex2Compact(CVec,CVal,AVec,AVal);
		if((EVec-AVec).IsZero()==false){
			cout << "ERROR: Error in Complex2Compact().\n";
			CVec.Print(cout,"CVec");
			AVec.Print(cout,"AVec");
			assert(0);
		}
		if((EVal-AVal).IsZero()==false){
			cout << "ERROR: Error in Complex2Compact().\n";
			CVal.Print(cout,"CVal");
			AVal.Print(cout,"AVal");
			assert(0);
		}
	}
	return 1;
}

static int CreateDir(const char *dirName)
{
	/* Check for existence */
	if( (_access( dirName, 0 )) != -1 ) {
		/* Check for write permission */
		if( (_access( dirName, 2 )) != -1 ) return 1;
		else {
			fprintf(stderr, "Directory %s does not have write permission\n",dirName);
			return 0;
		}
	}
	else{
		fprintf(stderr, "Creating the directory %s\n",dirName);
#ifdef _WIN32
		if(_mkdir(dirName) == -1){
#else
		if(_mkdir(dirName,0755) == -1){
#endif
			fprintf(stderr, "Failed in creating Directory %s\n",dirName);
			return 0;
		}
	}
	return 1;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品国产精品亚洲精品 | 在线播放91灌醉迷j高跟美女| 日本美女视频一区二区| 亚洲免费伊人电影| 亚洲精品乱码久久久久久久久| 久久综合一区二区| 久久久99久久精品欧美| 欧美tickling网站挠脚心| 欧美日韩一区久久| 91精品综合久久久久久| 欧美精选午夜久久久乱码6080| 欧洲色大大久久| 3d成人动漫网站| 26uuu亚洲| 日韩一区欧美一区| 亚洲国产综合人成综合网站| 国产目拍亚洲精品99久久精品 | 成人小视频免费观看| 国产精品1区2区3区| 国产不卡视频在线观看| www.日韩在线| 欧美日韩久久不卡| 26uuu国产在线精品一区二区| 日韩欧美国产1| 国产日韩欧美麻豆| 亚洲精品免费在线播放| 亚洲一区二区三区在线| 视频在线在亚洲| 国产成人av在线影院| av动漫一区二区| 欧美精品久久久久久久久老牛影院| 欧美色欧美亚洲另类二区| 欧美电影免费观看完整版| 久久综合999| 伊人色综合久久天天| 亚洲chinese男男1069| 久久国产精品露脸对白| 国产精品中文字幕日韩精品| 国产一区二区在线视频| 99国产欧美另类久久久精品| 波多野结衣精品在线| 欧美日韩性生活| 日本一区二区久久| 全国精品久久少妇| 99国内精品久久| 欧美精品一区二区三区蜜桃视频| 国产精品第13页| 久久99久久精品| 色综合久久综合网| 日本一区二区综合亚洲| 亚洲国产成人va在线观看天堂| 狠狠色狠狠色合久久伊人| 在线观看国产日韩| 国产精品毛片久久久久久| 亚洲va国产va欧美va观看| 成人午夜在线视频| 久久亚洲一级片| 免费成人av在线| 欧美午夜精品一区二区三区| 日韩一区二区影院| 午夜精品aaa| 日本精品一级二级| 亚洲天堂2014| 99久久精品免费看国产免费软件| 欧美不卡一区二区三区| 亚洲午夜视频在线| 91小视频免费看| 国产精品久久久久久亚洲毛片| 蜜臀99久久精品久久久久久软件| 91麻豆精品秘密| 国产精品乱码一区二区三区软件| 水蜜桃久久夜色精品一区的特点| 成人av免费在线观看| 久久色在线观看| 蜜臀av性久久久久蜜臀av麻豆| 精品污污网站免费看| 国产精品第13页| 99视频精品在线| 国产精品视频第一区| 国产精品一级片| 26uuu亚洲综合色欧美| 亚洲电影第三页| 欧美一区欧美二区| 裸体在线国模精品偷拍| 337p亚洲精品色噜噜| 精品亚洲成a人| 精品国产一区二区在线观看| 亚洲成年人影院| 欧美日韩国产一级片| 日日夜夜一区二区| 欧美一区二区精美| 捆绑调教一区二区三区| 欧洲精品一区二区三区在线观看| 国产精品免费丝袜| 99精品热视频| 亚洲成人综合在线| 日韩一级免费一区| 国产在线乱码一区二区三区| 欧美日韩久久久| 精品一区二区三区在线观看国产 | 欧美videossexotv100| 日韩国产精品91| 久久免费偷拍视频| 99精品视频在线免费观看| 亚洲人成在线播放网站岛国| 成人福利电影精品一区二区在线观看 | 亚洲一二三区视频在线观看| 99re亚洲国产精品| 丝袜美腿高跟呻吟高潮一区| 欧美日韩精品一区视频| 久久精品久久综合| 亚洲天堂精品视频| 欧美一级片在线| 高清不卡在线观看| 亚洲成在人线在线播放| 欧美精品一区二区三区蜜桃视频| 国产91色综合久久免费分享| 日本一区二区免费在线观看视频| 99精品桃花视频在线观看| 五月天激情小说综合| 精品国产乱码久久久久久蜜臀| 国产成人精品在线看| 亚洲永久免费av| 欧美激情综合五月色丁香| 在线观看精品一区| 成人午夜免费av| 麻豆精品精品国产自在97香蕉| 国产精品高潮呻吟| 欧美草草影院在线视频| 91丨国产丨九色丨pron| 免费观看一级特黄欧美大片| 国产性做久久久久久| 欧美三级日韩在线| 99re视频这里只有精品| 久久99精品久久久久婷婷| 亚洲色图.com| 久久久www成人免费毛片麻豆 | 久久国产精品色| 亚洲国产一区视频| 亚洲女同一区二区| 中文字幕人成不卡一区| 制服丝袜中文字幕一区| 91在线高清观看| 国产精品自拍av| 韩国精品主播一区二区在线观看| 亚洲激情男女视频| 亚洲欧洲日韩av| 国产人成一区二区三区影院| 日本黄色一区二区| aaa亚洲精品| 国产一区二区不卡在线| 日韩av电影免费观看高清完整版 | 国产欧美日韩在线看| 欧美精品日韩综合在线| 97se亚洲国产综合自在线不卡| 国产精品亚洲午夜一区二区三区| 日本不卡不码高清免费观看| 国产精品免费人成网站| 国产欧美一区二区三区网站 | 99久久伊人网影院| 成人性视频免费网站| 国产一区美女在线| 国产在线观看一区二区| 蜜桃传媒麻豆第一区在线观看| 亚洲成av人片在线观看无码| 国产精品每日更新| 一区在线播放视频| 成人欧美一区二区三区黑人麻豆| 国产日产欧产精品推荐色| 26uuu国产日韩综合| 2020国产精品久久精品美国| 91精品免费在线| 日韩午夜激情视频| 久久一区二区三区国产精品| 日韩午夜激情视频| 久久九九99视频| 亚洲少妇屁股交4| 亚洲在线免费播放| 免费成人深夜小野草| 全部av―极品视觉盛宴亚洲| 亚洲精品免费在线播放| 亚洲一区影音先锋| 日韩激情av在线| 久久精品国产精品青草| 精品亚洲porn| www.久久久久久久久| 91猫先生在线| 欧美一区二区三区免费| 中国av一区二区三区| 国产精品美女久久久久久| 亚洲另类色综合网站| 一区二区三区自拍| 青青草国产成人av片免费| 麻豆国产一区二区| 成人性生交大合| 欧美丰满少妇xxxxx高潮对白| 制服丝袜中文字幕一区| 久久久国产一区二区三区四区小说| 国产精品久久久久影院老司| 《视频一区视频二区|