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

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

?? func.h

?? 陳必紅 編寫的《用C++語(yǔ)言編寫的數(shù)學(xué)常用算法》光盤內(nèi)容
?? H
字號(hào):
#ifndef FUNC_H
#define FUNC_H

#include <math.h>

#include "matrix.h"

#ifndef DOUBLE
#define DOUBLE double
#endif

class cmatrix;

DOUBLE gamma(DOUBLE x); // 計(jì)算伽馬函數(shù)
DOUBLE gamma2(DOUBLE a, DOUBLE x); // 計(jì)算不完全伽馬函數(shù)
DOUBLE erf(DOUBLE x); // 計(jì)算誤差函數(shù)
DOUBLE beta(DOUBLE a,DOUBLE b,DOUBLE x); // 計(jì)算不完全貝塔函數(shù)
DOUBLE gass(DOUBLE a,DOUBLE d,DOUBLE x); // 給定均值a,標(biāo)準(zhǔn)差d的正態(tài)分布函數(shù)
DOUBLE student(DOUBLE t, size_t n);	// t-分布函數(shù)
DOUBLE chii(DOUBLE x,size_t n); // X-方分布函數(shù)
DOUBLE fdisp(DOUBLE f,size_t n1,size_t n2); // F-分布函數(shù)
DOUBLE integral(DOUBLE (*f)(DOUBLE),DOUBLE a, DOUBLE b, DOUBLE eps=defaulterr);
 // 函數(shù)f,在(a,b)區(qū)間積分,采用勒讓德高斯求積法
DOUBLE sinn(DOUBLE x);	// 正弦積分函數(shù)
DOUBLE coss(DOUBLE x);	// 余弦積分函數(shù)
DOUBLE expp(DOUBLE x);	// 指數(shù)積分函數(shù)
DOUBLE getroot(DOUBLE (*f)(DOUBLE), DOUBLE x0=0.9, DOUBLE eps=defaulterr);
 // 求函數(shù)f(x)=0在x0附近的根,返回此根,如找不到根,則丟出例外
class algo;
DOUBLE getroot(algo & alg, DOUBLE x0=0.9, DOUBLE eps=defaulterr);
 // 同上,但函數(shù)為algo類變量


class algo	// 算法類
{
 public:
	DOUBLE yfactor;		// 乘因子,初始化為1
	DOUBLE xfactor;		// x軸放大因子,初始化為1
	DOUBLE addconst;	// 加和,初始化為0
	DOUBLE xshift;		// x平移量,初始化為0
	unsigned refnum;		// 引用數(shù),初始化為1
	algo():refnum(1),yfactor(1.0),xfactor(1.0),addconst(0.0),xshift(0.0){};
	 // 構(gòu)造函數(shù),產(chǎn)生y=x線性函數(shù)
	algo(DOUBLE xs, DOUBLE xf,DOUBLE adc=0, DOUBLE yf=1):refnum(1),yfactor(yf),
		addconst(adc),xshift(xs),xfactor(xf){};
	algo(DOUBLE a):refnum(1),yfactor(0.0),xfactor(1.0),addconst(a),xshift(0.0){};
	 // 常函數(shù)的構(gòu)造
	algo(algo & alg):yfactor(alg.yfactor),xfactor(alg.xfactor),
		addconst(alg.addconst),xshift(alg.xshift),refnum(1){}; // 拷貝構(gòu)造函數(shù)
	virtual ~algo(){}; // 虛析構(gòu)函數(shù)
	DOUBLE cal(DOUBLE x); // 計(jì)算算法值
	virtual DOUBLE calculate(DOUBLE x)
		{return x;}; // 本身算法,將被繼承子類改寫
	virtual algo * clone(); // 克隆自己,必須被繼承子類改寫
	algo * mul(DOUBLE a);	// 乘a
	algo * add(DOUBLE a);	// 加a
	algo * neg(); // 取負(fù)
	algo * setxfactor(DOUBLE x);		// 設(shè)置x軸因子
	algo * xroom(DOUBLE x);	// 將xfactor擴(kuò)大x倍
	algo * setxshift(DOUBLE x); // 設(shè)置xshift的值
	algo * xshiftas(DOUBLE x);	// 從當(dāng)前開始平移x
	DOUBLE integ(DOUBLE a, DOUBLE b, DOUBLE eps = defaulterr); // 在(a,b)區(qū)間積分
			// 采用勒讓德高斯求積法
};

enum	method {cadd,csub,cmul,cdiv,cpow,ccom}; // 枚舉加減乘除乘方復(fù)合這四種運(yùn)算

class algojoin : public algo // 結(jié)合算法
{
 public:
	algo * leftalgo;	// 左算法,初始化為0
	algo * rightalgo; // 右算法,初始化為0
	method met;	// 指明算法
	algojoin(algo * l, algo * r, method m):leftalgo(l),
		rightalgo(r), met(m)
		{ if(leftalgo)
				leftalgo->refnum++;
		  if(rightalgo)
				rightalgo->refnum++;
		};
	algojoin(algojoin& alg):algo(alg),
		leftalgo(alg.leftalgo),rightalgo(alg.rightalgo),met(alg.met){
			if(leftalgo)
				leftalgo->refnum++;
			if(rightalgo)
				rightalgo->refnum++;};
			// 拷貝構(gòu)造函數(shù)
	virtual ~algojoin() {
		if(leftalgo) {	// 如左或者右算法已經(jīng)沒(méi)有被引用,則刪除
			leftalgo->refnum--;
			if(!leftalgo->refnum) delete leftalgo;
		}
		if(rightalgo) {
			rightalgo->refnum--;
			if(!rightalgo->refnum) delete rightalgo;
		}
	};
	virtual algo * clone(); // 克隆自己
	virtual DOUBLE calculate(DOUBLE x);	// 實(shí)施結(jié)合算法
};

class algofun : public algo	// 函數(shù)算法
{
 public:
	DOUBLE (*f)(DOUBLE);	// 函數(shù)指針
	algofun(DOUBLE (*fun)(DOUBLE)):f(fun){};	// 用函數(shù)指針進(jìn)行初始化
	algofun(algofun& alg):algo(alg),f(alg.f){}; // 拷貝構(gòu)造函數(shù)
	virtual DOUBLE calculate(DOUBLE x);	// 實(shí)施函數(shù)算法
	virtual algo * clone(); // 克隆自己
};

class algogass : public algo	// 正態(tài)分布函數(shù)
{
 public:
	algogass(DOUBLE a, DOUBLE d):algo(a,1.0/d){};	// 用均值a和標(biāo)準(zhǔn)差d進(jìn)行初始化
	algogass(algogass& alg):algo(alg){}; // 拷貝構(gòu)造函數(shù)
	virtual DOUBLE calculate(DOUBLE x);	// 實(shí)施函數(shù)算法
	virtual algo * clone(); // 克隆自己
};

class algoinverse : public algo	// 根據(jù)一個(gè)算法求反函數(shù)的算法
	// 通過(guò)不斷求f(x)-y=0在給定的各個(gè)y值下的根來(lái)進(jìn)行
{
 public:
	algo * al;
	algoinverse(algo * a):al(a){if(al) al->refnum++;};	// a 是要求反函數(shù)的算法
	algoinverse(algoinverse& alg):algo(alg),al(alg.al){
   	al->refnum++;	}; // 拷貝構(gòu)造函數(shù)
	~algoinverse() {
		if(al) {
			al->refnum--;
			if(!al->refnum)
				delete al;
		}
	};		// 析構(gòu)函數(shù)
	virtual DOUBLE calculate(DOUBLE x);	// 實(shí)施函數(shù)算法
	virtual algo * clone(); // 克隆自己
};

class algoregress : public algo // 線性回歸算法產(chǎn)生線性函數(shù)
{
 public:
	algoregress(matrix & xy, matrix* dt=0); // xy為n行2列的矩陣為n個(gè)樣本點(diǎn)
		// dt必須指向一個(gè)6列一行的矩陣向量,六個(gè)數(shù)依次為偏差平方和,平均標(biāo)準(zhǔn)
		// 偏差,回歸平方和,最大偏差,最小偏差,偏差平均值
};

class algopoly : public algo	// 多項(xiàng)式
{
 public:
	matrix data;	//	n乘1矩陣,存放n-1次多項(xiàng)式的系數(shù)a(0)到a(n-1)
	algopoly(){}; // 缺省構(gòu)造函數(shù),給子類作調(diào)用
	algopoly(matrix& d):data(d){};	// 用矩陣構(gòu)造多項(xiàng)式
	algopoly(algopoly& alg):algo(alg),data(alg.data){}; // 拷貝構(gòu)造函數(shù)
	virtual DOUBLE calculate(DOUBLE x);	// 實(shí)施函數(shù)算法
	virtual algo * clone();	// 克隆自己
	cmatrix getroots();	// 求出此多項(xiàng)式的所有根
};

class algopair : public algopoly // 最小二乘擬合類
{
 public:
	algopair(matrix& xy, size_t m, DOUBLE & t0,DOUBLE &t1,DOUBLE &t2);
		// m為擬合多項(xiàng)式的項(xiàng)數(shù),dt0為誤差平方和,dt1為誤差絕對(duì)值和,
		// dt2為最大誤差絕對(duì)值
	algopair(algopair& alg):algopoly(alg){}; // 拷貝構(gòu)造函數(shù)
};

class algoenter2 : public algo	// 一元全區(qū)間不等距插值
{
 public:
	matrix data;	//	n乘2矩陣,n個(gè)坐標(biāo),先x后y,x必須從小到大
	algoenter2(matrix& d):data(d){};	// 用矩陣構(gòu)造多項(xiàng)式
	algoenter2(algoenter2& alg):algo(alg),data(alg.data){}; // 拷貝構(gòu)造函數(shù)
	virtual DOUBLE calculate(DOUBLE x);	// 實(shí)施函數(shù)算法
	virtual algo * clone();	// 克隆自己
};

class algoenter : public algo	// 一元全區(qū)間等距插值
{
 public:
	DOUBLE x0;		// 起始點(diǎn)
	DOUBLE h;		// 步長(zhǎng)
	matrix data;	//	n乘1矩陣,n個(gè)函數(shù)值
	algoenter(matrix& d,DOUBLE xx0, DOUBLE hh):
		data(d),x0(xx0),h(hh){};
	algoenter(algoenter& alg):algo(alg),data(alg.data),
		x0(alg.x0),h(alg.h){}; // 拷貝構(gòu)造函數(shù)
	virtual DOUBLE calculate(DOUBLE x);	// 實(shí)施函數(shù)算法
	virtual algo * clone();	// 克隆自己
};

enum funckind {polyfunc, enter2func, gammafunc}; // 函數(shù)種類

class func {	// 函數(shù)類
 public:
	algo * alg;	// 決定函數(shù)的算法

	func();	// 缺省構(gòu)造函數(shù)
	func(DOUBLE a);	// 常函數(shù)的構(gòu)造函數(shù)
	func(DOUBLE (*fun)(DOUBLE));	// 函數(shù)指針的構(gòu)造函數(shù)
	func(func & fn);	// 拷貝構(gòu)造函數(shù)
	func(algo * a); // 算法構(gòu)造函數(shù)
   func(algo& a); // 算法構(gòu)造函數(shù)
	func(DOUBLE a, DOUBLE d);	// 產(chǎn)生正態(tài)分布函數(shù)a為均值,d為標(biāo)準(zhǔn)差
	func(matrix& m, funckind kind=polyfunc);	// 構(gòu)造數(shù)值相關(guān)函數(shù),
				// 如kind = polyfunc, 則m為nX1矩陣,是n-1階多項(xiàng)式系數(shù),
				// 其中m(0,0)為常數(shù)項(xiàng),m(n-1,0)為n-1次項(xiàng)。
				// 如kind = enter2func, 則m為nX2矩陣,代表n個(gè)坐標(biāo)點(diǎn)
				// 其中第1列是由小到大排過(guò)序的各點(diǎn)的x坐標(biāo)
	func(matrix& m, DOUBLE x0, DOUBLE h); // 構(gòu)造等距插值函數(shù)
			// 其中m是nX1階矩陣,代表n個(gè)y值,x0是起始點(diǎn),h是步長(zhǎng)(采樣間隔)
	virtual ~func() {		// 析構(gòu)函數(shù)
		if(alg) {
			alg->refnum--;	// 引用數(shù)減一,如再無(wú)其它引用,則刪除算法
			if(!alg->refnum)
				delete alg;
		}
	};

	DOUBLE operator()(DOUBLE x){return alg->cal(x);}; // 計(jì)算x的函數(shù)值
	func& operator=(func& fn);	// 賦值運(yùn)算符
	func& operator=(DOUBLE (*fn)(DOUBLE)); // 用函數(shù)指針的賦值運(yùn)算符
	func& operator=(DOUBLE a); // 常函數(shù)的賦值運(yùn)算符

	func& operator+=(func& fn);	// 自身加一個(gè)函數(shù)
	func& operator+=(DOUBLE a){alg=alg->add(a);return (*this);};//自身加一個(gè)常數(shù)
	func& operator+=(DOUBLE (*f)(DOUBLE)); // 自身加一個(gè)函數(shù)指針
	func operator+(func& fn);	// 相加產(chǎn)生新函數(shù)
	func operator+(DOUBLE a);	// 與常數(shù)相加產(chǎn)生新函數(shù)
	friend func operator+(DOUBLE a, func& f); // 同上但常數(shù)在前
	func operator+(DOUBLE (*f)(DOUBLE)); // 加一個(gè)函數(shù)指針產(chǎn)生新函數(shù)
	friend func operator+(DOUBLE (*f)(DOUBLE),func& fn); // 同上但函數(shù)指針在前

	func& neg(); // 自身取負(fù)
	func operator-(); // 產(chǎn)生負(fù)函數(shù)

	func& operator-=(func& fn); // 自身減一個(gè)函數(shù)
	func& operator-=(DOUBLE a){alg=alg->add(-a);return (*this);};//自身減一個(gè)常數(shù)
	func& operator-=(DOUBLE (*f)(DOUBLE)); // 自身減一個(gè)函數(shù)指針
	func operator-(func& fn);	// 相減產(chǎn)生新函數(shù)
	func operator-(DOUBLE a);	// 與常數(shù)相減產(chǎn)生新函數(shù)
	friend func operator-(DOUBLE a, func& f); // 同上但常數(shù)在前
	func operator-(DOUBLE (*f)(DOUBLE)); // 減一個(gè)函數(shù)指針產(chǎn)生新函數(shù)
	friend func operator-(DOUBLE (*f)(DOUBLE),func& fn); // 函數(shù)指針減函數(shù)

	func& operator*=(func& fn);	// 自身乘一個(gè)函數(shù)
	func& operator*=(DOUBLE a){alg=alg->mul(a);return (*this);};//自身乘一個(gè)常數(shù)
	func& operator*=(DOUBLE (*f)(DOUBLE)); // 自身乘一個(gè)函數(shù)指針
	func operator*(func& fn);	// 相乘產(chǎn)生新函數(shù)
	func operator*(DOUBLE a);	// 與常數(shù)相乘產(chǎn)生新函數(shù)
	friend func operator*(DOUBLE a, func& f); // 同上但常數(shù)在前
	func operator*(DOUBLE (*f)(DOUBLE)); // 乘一個(gè)函數(shù)指針產(chǎn)生新函數(shù)
	friend func operator*(DOUBLE (*f)(DOUBLE),func& fn); // 函數(shù)指針乘函數(shù)

	func& operator/=(func& fn);	// 自身除以一個(gè)函數(shù)
	func& operator/=(DOUBLE a){alg=alg->mul(1.0/a);return (*this);
			};//自身除以常數(shù)
	func& operator/=(DOUBLE (*f)(DOUBLE)); // 自身除以一個(gè)函數(shù)指針
	func operator/(func& fn);	// 相除產(chǎn)生新函數(shù)
	func operator/(DOUBLE a);	// 與常數(shù)相除產(chǎn)生新函數(shù)
	friend func operator/(DOUBLE a, func& f); // 常數(shù)除以函數(shù)
	func operator/(DOUBLE (*f)(DOUBLE)); // 除以一個(gè)函數(shù)指針產(chǎn)生新函數(shù)
	friend func operator/(DOUBLE (*f)(DOUBLE),func& fn); // 函數(shù)指針除以函數(shù)

	void setxfactor(DOUBLE a);	// 設(shè)置x因子為a
	void xroom(DOUBLE a);	  // x方向擴(kuò)大a倍
	void setxshift(DOUBLE a);	// 設(shè)置函數(shù)沿x軸平移a
	void shiftxas(DOUBLE a); // 函數(shù)沿x軸右移a

	func& power(func& f);	// 函數(shù)的f次乘冪,函數(shù)自身改變
	func& power(DOUBLE a);	// 函數(shù)的a次冪,函數(shù)自身改變
	func operator^(func & fn);	// 函數(shù)的fn次乘冪,產(chǎn)生新函數(shù),原函數(shù)不變
	func operator^(DOUBLE a);  // 函數(shù)的a次冪,產(chǎn)生新函數(shù),原函數(shù)不變

	func operator()(func & fn);	// 復(fù)合函數(shù),產(chǎn)生新的函數(shù)

	DOUBLE integ(DOUBLE a, DOUBLE b, DOUBLE eps=defaulterr);
		// 從a到b計(jì)算函數(shù)的定積分
	DOUBLE singleroot(DOUBLE x=0.9, DOUBLE eps = defaulterr);
		// 計(jì)算函數(shù)f(x)=0的一個(gè)單根
	func inverse();	// 產(chǎn)生反函數(shù)

	void getab(DOUBLE& a,DOUBLE& b) {	// 主要被線性回歸子類用,返回線性因子
   												// 和加常數(shù)
		a = alg->yfactor;
		b = alg->addconst;
	};
};

inline func operator+(DOUBLE a, func& f) // 常數(shù)加函數(shù)
{	return f+a; }

inline func operator+(DOUBLE (*f)(DOUBLE),func& fn) // 函數(shù)指針加函數(shù)
{	return fn+f;}

func operator-(DOUBLE a, func& f); // 常數(shù)減函數(shù)
func operator-(DOUBLE (*f)(DOUBLE),func& fn); // 函數(shù)指針減函數(shù)

inline func operator*(DOUBLE a, func& f) // 常數(shù)乘函數(shù)
{	return f*a; }
inline func operator*(DOUBLE (*f)(DOUBLE),func& fn) // 函數(shù)指針乘函數(shù)
{	return fn*f;}

func operator/(DOUBLE a, func& f); // 常數(shù)除以函數(shù)
func operator/(DOUBLE (*f)(DOUBLE),func& fn); // 函數(shù)指針除以函數(shù)

class funcgass : public func // 正態(tài)分布函數(shù)
{
 public:
	funcgass(DOUBLE a=0.0, DOUBLE d=1.0):func(new algogass(a,d)){};
	void setmandd(DOUBLE a, DOUBLE d){
		alg->xshift = a;
		alg->xfactor = 1.0/d; }; // 設(shè)置均值和標(biāo)準(zhǔn)差
	void getmandd(DOUBLE &a, DOUBLE &d) {
		a = alg->xshift; d=1.0/alg->xfactor;}; // 獲得均值和標(biāo)準(zhǔn)差
};

class funcpoly : public func	// 多項(xiàng)式函數(shù)
{
 public:
	funcpoly(matrix& d):func(new algopoly(d)){};
	matrix& getdata(){return ((algopoly*)alg)->data;};
	cmatrix getroots(){return ((algopoly*)alg)->getroots();};
};

class funcenter2 : public func // 一元全區(qū)間不等距插值
{
 public:
	funcenter2(matrix& d):func(new algoenter2(d)){};
	matrix& getdata(){return ((algoenter2*)alg)->data;};
};

class funcenter : public func // 一元全區(qū)間等距插值
{
 public:
	funcenter(matrix& d, DOUBLE x0, DOUBLE h):
		func(new algoenter(d,x0,h)){};
	matrix& getdata(DOUBLE &xx0, DOUBLE &hh){
		xx0 = ((algoenter*)alg)->x0; hh = ((algoenter*)alg)->h;
		return ((algoenter*)alg)->data; };
};

class funcpair : public func // 最小二乘擬合函數(shù)
{
 public:
	funcpair(matrix& xy, size_t m, DOUBLE & t0,DOUBLE &t1,DOUBLE &t2);
		// xy為n行2列數(shù)組,存放n個(gè)樣本點(diǎn)
			// m為擬合多項(xiàng)式的項(xiàng)數(shù),dt0為誤差平方和,dt1為誤差絕對(duì)值和,
		// dt2為最大誤差絕對(duì)值
	matrix & getdata(){return ((algopair*)alg)->data;};
	 // 返回結(jié)果擬合系數(shù)一維矩陣
	cmatrix getroots(){return ((algopoly*)alg)->getroots();};
		// 求出所有根
};

class funcregress : public func // 線性回歸函數(shù),其實(shí)就是線性函數(shù)ax+b
	// 但由數(shù)據(jù)樣本點(diǎn)構(gòu)成a與b
{
 public:
	funcregress(matrix & xy, matrix* dt=0);  // xy為n行2列的矩陣為n個(gè)樣本點(diǎn)
		// dt必須指向一個(gè)6列一行的矩陣向量,六個(gè)數(shù)依次為偏差平方和,平均標(biāo)準(zhǔn)
		// 偏差,回歸平方和,最大偏差,最小偏差,偏差平均值
};

#endif // FUNC_H

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产综合久久久蜜臀粉嫩| 美女精品一区二区| 国产成人综合亚洲91猫咪| 精品国产凹凸成av人网站| 日本欧美肥老太交大片| 日韩网站在线看片你懂的| 欧美aaaaa成人免费观看视频| 91精品福利在线一区二区三区| 久久国产精品99久久人人澡| 久久五月婷婷丁香社区| 国产久卡久卡久卡久卡视频精品| 欧美高清在线精品一区| 97久久精品人人做人人爽50路| 亚洲综合色丁香婷婷六月图片| 欧美一区午夜精品| 色屁屁一区二区| 天天免费综合色| 国产视频一区在线观看| 在线中文字幕不卡| 91精品办公室少妇高潮对白| 国产一区欧美二区| 亚洲人xxxx| 欧美一区二区视频在线观看2022 | 欧美午夜精品久久久久久孕妇 | 亚洲四区在线观看| 欧美群妇大交群的观看方式| 黄色精品一二区| 亚洲精品久久久蜜桃| 日韩亚洲欧美在线观看| 欧美日韩国产区一| 欧美四级电影网| 欧美亚洲精品一区| 在线看国产一区| 国产精品综合二区| 久久99国产精品成人| 亚洲另类在线制服丝袜| 国产精品国产三级国产普通话99| 欧美乱熟臀69xxxxxx| 国产91露脸合集magnet| 天堂影院一区二区| 中文字幕一区二区在线播放| 日韩欧美一级二级| 欧美性受xxxx| 欧美日韩一区二区三区在线| 成人在线综合网站| 久久精品国产亚洲5555| 麻豆视频一区二区| 久久精品国产**网站演员| 蜜臀久久99精品久久久久久9| 免费成人美女在线观看.| 美女一区二区久久| 国产主播一区二区| 成人福利视频在线看| 精彩视频一区二区| 国产精品99精品久久免费| 国产综合一区二区| 成人性生交大片免费看中文| 99re这里只有精品首页| 欧美在线综合视频| 日韩亚洲欧美高清| 久久午夜电影网| 黑人精品欧美一区二区蜜桃| 狠狠色狠狠色综合系列| 粉嫩av一区二区三区粉嫩| 色久优优欧美色久优优| 欧美一区二区在线视频| 久久尤物电影视频在线观看| 国产日产欧美一区二区视频| 日韩欧美在线一区二区三区| 久久亚洲免费视频| 国产精品二三区| 亚洲成人动漫在线观看| 亚洲午夜免费视频| 亚洲午夜久久久久久久久电影院| 日本特黄久久久高潮| 国产成人一区二区精品非洲| 色综合天天做天天爱| 91麻豆国产在线观看| 成人av在线一区二区| 欧美日本国产视频| 国产午夜精品一区二区三区视频 | 制服丝袜国产精品| 中文字幕第一区| 午夜精品福利一区二区三区av| 韩国三级在线一区| 色呦呦国产精品| 精品国产一二三区| 亚洲午夜成aⅴ人片| 国产精品综合一区二区| 欧美日韩成人综合天天影院| 国产欧美综合在线观看第十页| 亚洲午夜久久久久久久久久久 | 欧美伊人久久久久久午夜久久久久| 欧美一区二区不卡视频| 亚洲色图在线看| 久久国产乱子精品免费女| 91福利视频网站| 亚洲国产精品成人综合| 日韩电影在线看| 色欧美88888久久久久久影院| 亚洲精品在线电影| 午夜精品视频一区| 97久久久精品综合88久久| 精品国产91洋老外米糕| 亚洲va在线va天堂| 99视频精品免费视频| 在线观看一区日韩| 欧美国产精品一区二区三区| 日本亚洲免费观看| 色88888久久久久久影院按摩| 久久这里只有精品6| 视频一区免费在线观看| 色老综合老女人久久久| 中文字幕乱码久久午夜不卡 | 欧美老女人在线| 亚洲靠逼com| 成人黄色软件下载| 久久久久久电影| 亚洲九九爱视频| av不卡免费在线观看| 国产网站一区二区三区| 精品无码三级在线观看视频| 欧美一级理论片| 日韩精品国产欧美| 欧美高清性hdvideosex| 亚洲午夜视频在线| 欧美三级视频在线播放| 一区二区在线观看不卡| 91在线小视频| 亚洲欧洲日产国产综合网| 国产91在线|亚洲| 中文字幕不卡一区| 丁香网亚洲国际| 国产天堂亚洲国产碰碰| 国产成人精品一区二| 国产亚洲精品bt天堂精选| 国产福利一区在线观看| 国产欧美精品一区二区色综合朱莉| 国产一区二区精品久久91| www国产亚洲精品久久麻豆| 精品在线观看视频| 国产色婷婷亚洲99精品小说| 国产精品一区二区免费不卡 | 中文字幕制服丝袜成人av | 日韩欧美卡一卡二| 久久se精品一区精品二区| 精品国产乱码久久久久久老虎| 久久不见久久见中文字幕免费| www成人在线观看| 成人综合婷婷国产精品久久蜜臀| 国产精品入口麻豆九色| 久久成人18免费观看| 久久久亚洲精品一区二区三区| 国产福利精品导航| 中文字幕在线不卡一区| 欧美无乱码久久久免费午夜一区| 亚洲成在人线免费| 日韩美女天天操| 国产91精品久久久久久久网曝门 | 麻豆一区二区三区| 日本一区二区三区免费乱视频| 99热99精品| 偷窥少妇高潮呻吟av久久免费| 欧美一级二级三级蜜桃| 成人激情免费网站| 亚洲电影一区二区三区| 欧美一卡在线观看| 成人一区二区三区中文字幕| 一区二区三区中文在线观看| 99综合影院在线| 午夜激情久久久| 久久精品一区二区三区四区| 91亚洲国产成人精品一区二三| 亚洲精品videosex极品| 日韩三级.com| 91在线观看美女| 奇米亚洲午夜久久精品| 国产精品每日更新| 91超碰这里只有精品国产| 国产成人h网站| 午夜精品久久久久久久久久久| 久久久国产精品不卡| 欧美性生活一区| 国产精品 日产精品 欧美精品| 亚洲日本护士毛茸茸| 日韩欧美区一区二| 91麻豆文化传媒在线观看| 毛片一区二区三区| 亚洲一区二区偷拍精品| 国产欧美va欧美不卡在线| 欧美日韩一区不卡| av网站一区二区三区| 麻豆91在线观看| 夜夜精品浪潮av一区二区三区| 久久久精品欧美丰满| 欧美日韩中文另类| 99久久精品国产麻豆演员表| 看片的网站亚洲| 亚洲观看高清完整版在线观看| 国产精品无码永久免费888|