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

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? lpmex.c

?? 這是C語(yǔ)言版本的Linear Programming,同lpmex的功能是一樣的
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
	else if (strcmp("unscale",cmd)==0) {		if (nrhs != 2)			mexErrMsgTxt("unscale requires 1 argument.");		unscale(lp[h]);	}	/* Start Change*/	   /*   lpmex('get_no_rows', lp_handle)                */	else if (strcmp("get_no_rows",cmd)==0) {       		if (nrhs != 2)			mexErrMsgTxt("get_no_rows requires 1 argument.");		plhs[0] = mxCreateDoubleMatrix(1,1,0);		pr = mxGetPr(plhs[0]);                pr[0]=lp[h]->rows;	}        /*   lpmex('get_no_cols', lp_handle)                */	else if (strcmp("get_no_cols",cmd)==0) {       		if (nrhs != 2)			mexErrMsgTxt("get_no_cols requires 1 argument.");		plhs[0] = mxCreateDoubleMatrix(1,1,0);		pr = mxGetPr(plhs[0]);                pr[0]=lp[h]->columns;	}        /*   lpmex('get_orig_rh_vec', lp_handle)                */	else if (strcmp("get_orig_rh_vec",cmd)==0) {		if (nrhs != 2) {			mexErrMsgTxt("get_orig_rh_vec requires 1 argument.");		}		plhs[0] = mxCreateDoubleMatrix(lp[h]->rows,1,0);		pr = mxGetPr(plhs[0]);		for (i=0; i<lp[h]->rows; i++) {		  if (lp[h]->ch_sign[i+1])		    pr[i] = -1*lp[h]->orig_rh[i+1];		  else		    pr[i] = lp[h]->orig_rh[i+1];		}	}        /*   lpmex('get_obj_fun', lp_handle)                */	else if (strcmp("get_obj_fun",cmd)==0) {		if (nrhs != 2)			mexErrMsgTxt("get_obj_fun requires 1 argument.");		vec = mxCalloc(1+lp[h]->columns,sizeof(REAL)); 		get_row(lp[h],0,vec);		plhs[0] = mxCreateDoubleMatrix(1,lp[h]->columns,0);		pr = mxGetPr(plhs[0]);		for (i=0; i<lp[h]->columns; i++) {			pr[i] = vec[i+1];		}		mxFree(vec);	}        /*   lpmex('get_orig_lowbo', lp_handle)                */	else if (strcmp("get_orig_lowbo",cmd)==0) {		if (nrhs != 2)			mexErrMsgTxt("get_orig_lowbo requires 1 argument.");		plhs[0] = mxCreateDoubleMatrix(1,lp[h]->columns,0);		pr = mxGetPr(plhs[0]);		for (i=0; i<lp[h]->columns; i++) {			pr[i] = lp[h]->orig_lowbo[lp[h]->rows+i+1];		}	}        /*   lpmex('get_orig_upbo', lp_handle)                */	else if (strcmp("get_orig_upbo",cmd)==0) {		if (nrhs != 2)			mexErrMsgTxt("get_orig_upbo requires 1 argument.");		plhs[0] = mxCreateDoubleMatrix(1,lp[h]->columns,0);		pr = mxGetPr(plhs[0]);		for (i=0; i<lp[h]->columns; i++) {			pr[i] = lp[h]->orig_upbo[lp[h]->rows+i+1];		}	}        /*   lpmex('get_constr_types', lp_handle)                */	else if (strcmp("get_constr_types",cmd)==0) {		if (nrhs != 2) {			mexErrMsgTxt("get_constr_types requires 1 argument.");		}		plhs[0] = mxCreateDoubleMatrix(lp[h]->rows,1,0);		pr = mxGetPr(plhs[0]);		for (i=0; i<lp[h]->rows; i++) {		  if (lp[h]->orig_upbo[i+1]==0)		    pr[i] = 1;/* equality constraint*/		  else if (lp[h]->ch_sign[i+1])		    pr[i] = 2;/* GE-row*/		  else		    pr[i]=0;/*LE-row*/		}	}        /*   lpmex('get_nonzeros', lp_handle)                */	else if (strcmp("get_nonzeros",cmd)==0) {		if (nrhs != 2) {			mexErrMsgTxt("get_nonzeros requires 1 argument.");		}		plhs[0] = mxCreateDoubleMatrix(1,1,0);		pr = mxGetPr(plhs[0]);                pr[0]=lp[h]->non_zeros;	}        /*   lpmex('get_col_names', lp_handle)                */	else if (strcmp("get_col_names",cmd)==0) {		if (nrhs != 2) {			mexErrMsgTxt("get_col_names requires 1 argument.");		}       		plhs[0] = mxCreateCellMatrix(1,lp[h]->columns);		for (i=0; i<lp[h]->columns; i++) {                        pa=mxCreateString(lp[h]->col_name[i+1]);                	mxSetCell(plhs[0],i,pa);		}	}        /*   lpmex('get_row_names', lp_handle)                */	else if (strcmp("get_row_names",cmd)==0) {		if (nrhs != 2) {			mexErrMsgTxt("get_row_names requires 1 argument.");		}		plhs[0] = mxCreateCellMatrix(lp[h]->rows,1);		for (i=0; i<lp[h]->rows; i++) {                        pa=mxCreateString(lp[h]->row_name[i+1]);                	mxSetCell(plhs[0],i,pa);		}	}        /*   lpmex('get_objective_name', lp_handle)                */	else if (strcmp("get_objective_name",cmd)==0) {		if (nrhs != 2) {			mexErrMsgTxt("get_objective_name requires 1 argument.");		}		plhs[0] = mxCreateString(lp[h]->row_name[0]);	}        /*   lpmex('get_problem_name', lp_handle)                */	else if (strcmp("get_problem_name",cmd)==0) {		if (nrhs != 2) {			mexErrMsgTxt("get_problem_name requires 1 argument.");		}		plhs[0] = mxCreateString(lp[h]->lp_name);	}        /*   lpmex('get_int', lp_handle)                */	else if (strcmp("get_int",cmd)==0) {		if (nrhs != 2) {			mexErrMsgTxt("get_int requires 1 argument.");		}		plhs[0] = mxCreateDoubleMatrix(1,lp[h]->columns,0);		pr = mxGetPr(plhs[0]);		for (i=0; i<lp[h]->columns; i++) {			pr[i] = lp[h]->must_be_int[lp[h]->rows+i+1];		}	}        /*End Change*//* functions with at least two arguments */	else if (nrhs < 3 ) {                strcpy(errmsg,cmd);                strncat(errmsg,": Unimplemented or requires at least 2 arguments.",180);                mexErrMsgTxt(errmsg);	} 	/* lpmex('add_column', lp_handle, col_vec) */	else if (strcmp("add_column",cmd)==0) {		if (nrhs != 3) {			mexErrMsgTxt("add_column requires 2 arguments.");		}		vec = mxCalloc(1+lp[h]->rows,sizeof(REAL));		/* GetRealVector can handle both full and sparse matrix */		GetRealVector(prhs[2],vec,lp[h]->rows);		add_column(lp[h],vec);		mxFree(vec);	}	/* [ans]=lpmex('column_in_lp', lp_handle, col_vec) */ 	/* returns TRUE if col_vec is already present as a column in lp. */	/*(Does not look at bounds and types, only looks at matrix values) */	else if (strcmp("column_in_lp",cmd)==0) {	      if (nrhs != 3) {		 mexErrMsgTxt("column_in_lp needs 2 arguments.");	      }	      vec = mxCalloc(2+lp[h]->rows,sizeof(REAL));	      /* GetRealVector can handle both full and sparse matrix */	      GetRealVector(prhs[2],vec,1+lp[h]->rows);	      plhs[0] = mxCreateDoubleMatrix(1,1,0);	      pr = mxGetPr(plhs[0]);	      pr[0] = column_in_lp(lp[h],vec+1);	      mxFree(vec);	}	/* lpmex('del_column', lp_handle, col) */	else if (strcmp("del_column",cmd)==0) {		if (nrhs != 3) {			mexErrMsgTxt("del_column requires 2 arguments.");		}		col = GetRealScalar(prhs[2]);		if ((col >= 1) && (col <= lp[h]->columns)) {			del_column(lp[h],col);		} else {			mexErrMsgTxt("column number out of bounds.");		}	}	/* lpmex('del_constraint', lp_handle, row) */	else if (strcmp("del_constraint",cmd)==0) {		if (nrhs != 3) {			mexErrMsgTxt("del_constraint requires 2 arguments.");		}		row = GetRealScalar(prhs[2]);		if ((row >= 1) && (row <= lp[h]->rows)) {			del_constraint(lp[h],row);		} else {			mexErrMsgTxt("constraint number out of bounds.");		}	}	/* [col_vec] = lpmex('get_column', lp_handle, col) */	else if (strcmp("get_column",cmd)==0) {		if (nrhs != 3) {			mexErrMsgTxt("get_column requires 2 arguments.");		}		col = GetRealScalar(prhs[2]);		if ((col < 1) || (col > lp[h]->columns)) {			mexErrMsgTxt("column out of range.");		}		vec = mxCalloc(1+lp[h]->rows,sizeof(REAL)); 		get_column(lp[h],col,vec);		plhs[0] = mxCreateDoubleMatrix(lp[h]->rows,1,0);		pr = mxGetPr(plhs[0]);		for (i=0; i<lp[h]->rows; i++) {			pr[i] = vec[i+1];		}		mxFree(vec);	}	/* [row_vec] = lpmex('get_row', lp_handle, row) */	else if (strcmp("get_row",cmd)==0) {		if (nrhs != 3)			mexErrMsgTxt("get_row requires 2 arguments.");		row = GetRealScalar(prhs[2]);		if ((row < 1) || (row > lp[h]->rows)) {			mexErrMsgTxt("row out of range.");		}		vec = mxCalloc(1+lp[h]->columns,sizeof(REAL)); 		get_row(lp[h],row,vec);		plhs[0] = mxCreateDoubleMatrix(1,lp[h]->columns,0);		pr = mxGetPr(plhs[0]);		for (i=0; i<lp[h]->columns; i++) {			pr[i] = vec[i+1];		}		mxFree(vec);	}	/* [ans]=lpmex('is_feasible', lp_handle, sol_vec) */ 	/* returns TRUE if the vector in values is a feasible solution to the lp */	else if (strcmp("is_feasible",cmd)==0) {	      if (nrhs != 3) {		 mexErrMsgTxt("is_feasible needs 2 arguments.");	      }	      vec = mxCalloc(1+lp[h]->rows,sizeof(REAL));	      /* GetRealVector can handle both full and sparse matrix */	      GetRealVector(prhs[2],vec,lp[h]->rows);	      plhs[0] = mxCreateDoubleMatrix(1,1,0);	      pr = mxGetPr(plhs[0]);	      pr[0] = is_feasible(lp[h],vec);	      mxFree(vec);	}	/* lpmex('lp_options', lp_handle, opt_str) */ 	/* Set options for the lp. See README_MEX for details*/	else if (strcmp("lp_options",cmd)==0) {	      if (nrhs != 3) {		 mexErrMsgTxt("lp_options needs 2 arguments.");	      }	      str = mxCalloc(73,sizeof(char));	      mxGetString(prhs[2], str, 73);	      lp[h]->verbose         = (strstr(str,"-v")) ? TRUE:FALSE;	      lp[h]->debug           = (strstr(str,"-d")) ? TRUE:FALSE;	      lp[h]->print_duals     = (strstr(str,"-p")) ? TRUE:FALSE;	      lp[h]->print_sol       = (strstr(str,"-i")) ? TRUE:FALSE;	      lp[h]->floor_first     = (strstr(str,"-c")) ? FALSE:TRUE;	      lp[h]->print_at_invert = (strstr(str,"-I")) ? TRUE:FALSE;	      lp[h]->trace           = (strstr(str,"-t")) ? TRUE:FALSE;	      lp[h]->anti_degen      = (strstr(str,"-degen")) ? TRUE:FALSE;	      if (strstr(str,"-s"))		auto_scale(lp[h]);	      else		unscale(lp[h]);	      if (str1=strstr(str,"-b"))		lp[h]->obj_bound = atof(str1 + 3);              else		lp[h]->obj_bound = (REAL)DEF_INFINITE;	      if (str1=strstr(str,"-e"))		lp[h]->epsilon = atof(str1 + 3);              else		lp[h]->epsilon = (REAL)DEF_EPSILON;	      mxFree(str);	} 	/* lpmex('set_mat', lp_handle, a)  Full matrix argument */	/* lpmex('set_mat', lp_handle, a)  Sparse matrix argument */	/* lpmex('set_mat', lp_handle, row, col, value) */	else if (strcmp("set_mat",cmd)==0) {		if ( (nrhs!=3) && (nrhs!=5) )			mexErrMsgTxt("incorrect number of arguments.");		if (nrhs == 5) {			row = GetRealScalar(prhs[2]);			if ((lp[h]->rows < row)||(row < 0)) {				mexErrMsgTxt("set_mat invalid row.");			}			col = GetRealScalar(prhs[3]);			if ((lp[h]->columns < col)||(col < 0)) {				mexErrMsgTxt("set_mat invalid column.");			}			value = GetRealScalar(prhs[4]);			set_mat(lp[h],row,col,value);		} else if (nrhs == 3) {			/* Called with a matrix argument */			m = mxGetM(prhs[2]);			n = mxGetN(prhs[2]);			if ((lp[h]->rows != m) || (lp[h]->columns != n) 			   || !mxIsNumeric(prhs[2]) || mxIsComplex(prhs[2])) {				mexErrMsgTxt("invalid argument.");			}			pr = mxGetPr(prhs[2]);			if (!mxIsSparse(prhs[2])) {				for (j=0; j<n; j++) {					for (l=0; l<m; l++) {						set_mat(lp[h],l+1,j+1,pr[l+j*m]);					}				}			}			if (mxIsSparse(prhs[2])) {				jc = mxGetJc(prhs[2]);				ir = mxGetIr(prhs[2]);				for (j=0; j<n; j++) {					for (k = jc[j]; k<jc[j+1]; k++) {						i = ir[k];						set_mat(lp[h],i+1,j+1,pr[k]);					}				}			}		}	}		/* lpmex('set_obj_fn', lp_handle, vec)  Sparse or Full arguments */	else if (strcmp("set_obj_fn",cmd)==0) {		if (nrhs != 3) {			mexErrMsgTxt("set_obj_fn requires 2 arguments.");		}		vec = mxCalloc(1+lp[h]->columns,sizeof(REAL));		/* GetRealVector can handle both full and sparse matrix */	        GetRealVector(prhs[2],vec,lp[h]->columns);	        set_obj_fn(lp[h],vec);	        mxFree(vec);	}	/* lpmex('set_rh', lp_handle, row, value) */	else if (strcmp("set_rh",cmd)==0) {		if (nrhs != 4) {			mexErrMsgTxt("set_rh requires 3 arguments.");		}		row = GetRealScalar(prhs[2]);		value = GetRealScalar(prhs[3]);		set_rh(lp[h],row,value);	}	/* lpmex('set_rh_vec', lp_handle, vec)  Sparse of Full arguments */	else if (strcmp("set_rh_vec",cmd)==0) {		if (nrhs != 3) {			mexErrMsgTxt("set_rh_vec requires 2 arguments.");		}		vec = mxCalloc(1+lp[h]->rows,sizeof(REAL));		/* GetRealVector can handle both full and sparse matrix */	        GetRealVector(prhs[2],vec,lp[h]->rows);	        set_rh_vec(lp[h],vec);	        mxFree(vec);	}	/* lpmex('write_LP', lp_handle, filename) */	/* Write lp to a LP file */	else if (strcmp("write_LP",cmd)==0) {		if (nrhs != 3) {			mexErrMsgTxt("write_LP requires 2 arguments.");		}		mxGetString(prhs[2], filename, NAMELEN);		if ((fp = fopen(filename, "w")) == NULL) {		   mexErrMsgTxt("write_LP can't write to the file.");		}				write_LP(lp[h], fp);		fclose(fp);	}     	/* lpmex('write_MPS', lp_handle, filename) */	/* Write lp to a MPS file */	else if (strcmp("write_MPS",cmd)==0) {		if (nrhs != 3) {			mexErrMsgTxt("write_MPS requires 2 arguments.");		}		mxGetString(prhs[2], filename, NAMELEN);		if ((fp = fopen(filename, "w")) == NULL) {		   mexErrMsgTxt("write_MPS can't write to the file.");		}		write_MPS(lp[h], fp);		fclose(fp);	}/* functions with at least three arguments */	else if (nrhs < 4 ) {                strcpy(errmsg,cmd);                strncat(errmsg,": Unimplemented or requires at least 3 arguments.",180);                mexErrMsgTxt(errmsg);	} 	/* [value] = lpmex('mat_elm',lp_handle,row,col)  get a single element            from the matrix.*/	else if (strcmp("mat_elm",cmd)==0) {	      if (nrhs != 4) {		 mexErrMsgTxt("mat_elm needs 3 arguments.");	      }	      row = GetRealScalar(prhs[2]);	      if ((row < 1) || (row > lp[h]->rows)) {		 mexErrMsgTxt("row number out of bounds.");	      }	      col = GetRealScalar(prhs[3]);	      if ((col < 1) && (col > lp[h]->columns)) {	         mexErrMsgTxt("column number out of bounds.");	      }	      plhs[0] = mxCreateDoubleMatrix(1,1,0);	      pr = mxGetPr(plhs[0]);	      pr[0] = mat_elm(lp[h],row,col);	}	/* lpmex('set_constr_type', lp_handle, row, type) */	else if (strcmp("set_constr_type",cmd)==0) {		if (nrhs != 4) {			mexErrMsgTxt("set_constr_type needs 3 arguments.");		}		row = GetRealScalar(prhs[2]);		if ((row < 1) || (row > lp[h]->rows)) {			mexErrMsgTxt("row number out of bounds.");		}		type = GetRealScalar(prhs[3]);		if ((type!=EQ) && (type!=LE) && (type!=GE)) {			mexErrMsgTxt("invalid constraint type.");		}		set_constr_type(lp[h],row,type);	}	/* lpmex('set_int', lp_handle, col, type) */	else if (strcmp("set_int",cmd)==0) {		if (nrhs != 4) {			mexErrMsgTxt("set_int requires 3 arguments.");		}		col = GetRealScalar(prhs[2]);		type = GetRealScalar(prhs[3]);		if (type == 0)			set_int(lp[h],col,FALSE);		else			set_int(lp[h],col,TRUE);	}	/* lpmex('set_lowbo', lp_handle, col,value) */	else if (strcmp("set_lowbo",cmd)==0) {		if (nrhs != 4) {			mexErrMsgTxt("set_lowbo requires 3 arguments.");		}		col = GetRealScalar(prhs[2]);		value = GetRealScalar(prhs[3]);		set_lowbo(lp[h],col,value);	}	/* lpmex('set_upbo', lp_handle, col, value) */	else if (strcmp("set_upbo",cmd)==0) {		if (nrhs != 4) {			mexErrMsgTxt("set_upbo requires 3 arguments.");		}		col = GetRealScalar(prhs[2]);		value = GetRealScalar(prhs[3]);		set_upbo(lp[h],col,value);	}/* functions with more than three arguments */	else if (nrhs < 5 ) {                strcpy(errmsg,cmd);                strncat(errmsg,": Unimplemented or requires at least 4 arguments.",180);                mexErrMsgTxt(errmsg);	} 	/* lpmex('add_constraint', lp_handle, vec, type, rh) Sparse or Full arguments */	else if (strcmp("add_constraint", cmd)==0) {		if (nrhs != 5) {			mexErrMsgTxt("add_constraint requires 4 arguments.");		}		type = GetRealScalar(prhs[3]);		if ((type!=LE) && (type!=EQ) && (type!=GE)) {			mexErrMsgTxt("invalid constraint type.");		}		value = GetRealScalar(prhs[4]);		vec = mxCalloc(1+lp[h]->columns,sizeof(REAL));		/* GetRealVector can handle both full and sparse matrix */		GetRealVector(prhs[2],vec,lp[h]->columns);		add_constraint(lp[h],vec,type,value);		mxFree(vec);	}    else {        strcpy(errmsg,cmd);        strncat(errmsg,": Unimplemented.",180);        mexErrMsgTxt(errmsg);	}}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
视频一区在线播放| 久久99久久99| 91免费视频网| 中文字幕一区二区三区在线观看| 韩国女主播成人在线观看| 欧美一区2区视频在线观看| 亚洲高清免费一级二级三级| 在线观看91视频| 亚洲高清视频中文字幕| 欧美三级中文字| 天天综合天天做天天综合| 欧美久久久一区| 偷偷要91色婷婷| 91精品国产91久久久久久最新毛片| 天堂va蜜桃一区二区三区 | 精彩视频一区二区| 欧美一级理论片| 另类小说图片综合网| 日韩一级在线观看| 久久电影网站中文字幕| 欧美刺激脚交jootjob| 精品一区二区三区在线视频| www成人在线观看| 国产精品 日产精品 欧美精品| 国产亚洲精品免费| 97精品国产露脸对白| 一区二区国产盗摄色噜噜| 欧美视频在线观看一区二区| 香蕉加勒比综合久久| 91精品久久久久久久91蜜桃| 蜜桃视频一区二区| 久久久久久久久99精品| 成年人午夜久久久| 曰韩精品一区二区| 欧美乱妇15p| 美日韩一区二区三区| 久久日韩精品一区二区五区| 成人性色生活片免费看爆迷你毛片| 国产精品美女久久久久aⅴ| 91小视频免费观看| 亚洲不卡在线观看| 精品国产自在久精品国产| 国产成人丝袜美腿| 一区二区三区欧美| 日韩三级视频在线看| 国产成人av影院| 亚洲日本在线天堂| 欧美精品一级二级三级| 国内精品第一页| 日韩美女精品在线| 7777精品久久久大香线蕉| 国产一区二区三区观看| ㊣最新国产の精品bt伙计久久| 欧美日韩一级视频| 久久国产精品无码网站| 欧美经典一区二区| 欧美三级中文字| 国产毛片一区二区| 亚洲国产美女搞黄色| 欧美精品一区二区在线观看| 99久久99久久久精品齐齐| 日韩在线卡一卡二| 国产精品网站在线| 在线电影院国产精品| 国产ts人妖一区二区| 亚洲成人免费在线观看| 26uuu久久综合| 欧洲亚洲精品在线| 国产中文字幕精品| 一区二区高清视频在线观看| 紧缚捆绑精品一区二区| 国产精品国产三级国产a| 欧美一区二区三区四区视频 | 国产在线视频精品一区| 亚洲欧美一区二区三区孕妇| 91精品国产美女浴室洗澡无遮挡| 成人免费视频一区| 蜜臀久久99精品久久久久久9| 国产精品久久久久国产精品日日| 欧美一区二区三区精品| 91在线国产观看| 狠狠色丁香婷综合久久| 亚洲线精品一区二区三区| 欧美激情自拍偷拍| 日韩三级在线观看| 欧美亚洲高清一区二区三区不卡| 国产精品影视在线| 五月综合激情婷婷六月色窝| 国产精品免费观看视频| 精品人在线二区三区| 欧美在线免费视屏| www.亚洲色图.com| 国产最新精品免费| 日产国产高清一区二区三区| 亚洲欧美激情一区二区| 国产欧美日韩在线观看| 日韩欧美一级二级| 欧美卡1卡2卡| 在线区一区二视频| 99精品国产一区二区三区不卡| 韩国成人在线视频| 蜜臀a∨国产成人精品| 亚洲国产精品久久一线不卡| 中文字幕亚洲不卡| 亚洲国产精品精华液2区45| 欧美成人精品1314www| 91精品婷婷国产综合久久性色| 91久久奴性调教| 99久久777色| 成人av在线一区二区三区| 国产老女人精品毛片久久| 老司机一区二区| 日本va欧美va瓶| 午夜精品视频一区| 一区二区日韩电影| 亚洲欧美日韩人成在线播放| 国产精品网曝门| 国产精品乱码妇女bbbb| 久久久久成人黄色影片| 久久亚洲免费视频| 欧美va在线播放| 2024国产精品| 久久女同精品一区二区| 久久在线观看免费| 亚洲精品一区二区三区在线观看| 精品区一区二区| 2021久久国产精品不只是精品| 精品国产91乱码一区二区三区| 日韩色视频在线观看| 日韩视频免费观看高清完整版在线观看| 欧美日韩国产欧美日美国产精品| 91国偷自产一区二区三区成为亚洲经典 | 狠狠色综合播放一区二区| 久久99久久久久久久久久久| 男人的天堂久久精品| 蜜桃久久久久久| 日韩欧美国产成人一区二区| 4438x亚洲最大成人网| 欧美精品一二三| 日韩亚洲电影在线| 2020国产精品| 日本一区二区在线不卡| 国产精品美女久久福利网站| 中文字幕一区免费在线观看| 亚洲欧美激情一区二区| 一区二区免费在线| 日本一不卡视频| 国产一区二区主播在线| 国产91丝袜在线播放| 成人免费视频免费观看| 91麻豆视频网站| 欧美日韩精品福利| 日韩亚洲欧美一区二区三区| 久久综合九色综合97婷婷女人| 中文字幕av资源一区| 自拍偷拍欧美激情| 调教+趴+乳夹+国产+精品| 麻豆精品视频在线| 国产成人午夜片在线观看高清观看| av在线不卡免费看| 欧美巨大另类极品videosbest | 国产一区二区三区四区在线观看| 国产盗摄一区二区三区| 99久久99精品久久久久久 | 日本福利一区二区| 91精品国产综合久久福利软件| 欧美mv日韩mv国产网站app| 国产亚洲短视频| 一区二区三区精品| 麻豆成人久久精品二区三区红 | 91精品免费观看| 久久久一区二区三区捆绑**| 国产精品少妇自拍| 亚洲一区在线观看免费| 日韩av一区二区在线影视| 国产乱码精品一区二区三| 色综合天天综合网国产成人综合天| 欧美日韩dvd在线观看| 国产精品一区二区不卡| 色激情天天射综合网| 欧美成人一区二区三区| 中文字幕综合网| 美美哒免费高清在线观看视频一区二区| 国产99精品视频| 欧美日韩高清在线播放| 久久色在线观看| 亚洲午夜av在线| 国产成人在线看| 欧美丰满少妇xxxxx高潮对白 | 亚洲视频每日更新| 日本91福利区| 99麻豆久久久国产精品免费优播| 欧美日韩在线观看一区二区| 久久女同精品一区二区| 亚洲国产另类av| 丁香婷婷综合激情五月色| 欧美一区二区三区视频在线观看| 18欧美亚洲精品| 国产麻豆日韩欧美久久| 欧美日韩一区 二区 三区 久久精品|