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

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

?? sspropc.c

?? 非線性光纖光學
?? C
字號:
/*  File:           sspropc.c *  Author:         Thomas E. Murphy (tem@umd.edu) *  Created:        1/17/2001 *  Modified:       2/5/2006 *  Version:        3.0 *  Description:    This file solves the nonlinear Schrodinger *                  equation for propagation in an optical fiber *                  using the split-step Fourier method described *                  in "Nonlinear Fiber Optics" (G. Agrawal, 2nd *                  ed, Academic Press, 1995, Chapter 2).  The *                  routine is compiled as a Matlab MEX program, *                  which can be invoked directly from Matlab. *                  The code makes extensive use of the fftw *                  routines, which can be downloaded from *                  http://www.fftw.org/, for computing fast *                  Fourier transforms.  The corresponding m-file *                  (sspropc.m) provides information on how to *                  call this routine from Matlab. *//*****************************************************************    Copyright 2006, Thomas E. Murphy    This file is part of SSPROP.    SSPROP is free software; you can redistribute it and/or    modify it under the terms of the GNU General Public License    as published by the Free Software Foundation; either version    2 of the License, or (at your option) any later version.    SSPROP is distributed in the hope that it will be useful, but    WITHOUT ANY WARRANTY; without even the implied warranty of    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the    GNU General Public License for more details.    You should have received a copy of the GNU General Public    License along with SSPROP; if not, write to the Free Software    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA    02111-1307 USA*****************************************************************/#include <stdlib.h>#include <string.h>#include <math.h>#include "fftw3.h"#include "mex.h"#ifdef SINGLEPREC#define REAL float#define COMPLEX fftwf_complex#define PLAN fftwf_plan#define MAKE_PLAN fftwf_plan_dft_1d#define DESTROY_PLAN fftwf_destroy_plan#define EXECUTE fftwf_execute#define IMPORT_WISDOM fftwf_import_wisdom_from_file#define EXPORT_WISDOM fftwf_export_wisdom_to_file#define FORGET_WISDOM fftwf_forget_wisdom#define WISFILENAME "fftwf-wisdom.dat"#else#define REAL double#define COMPLEX fftw_complex#define PLAN fftw_plan#define MAKE_PLAN fftw_plan_dft_1d#define DESTROY_PLAN fftw_destroy_plan#define EXECUTE fftw_execute#define IMPORT_WISDOM fftw_import_wisdom_from_file#define EXPORT_WISDOM fftw_export_wisdom_to_file#define FORGET_WISDOM fftw_forget_wisdom#define WISFILENAME "fftw-wisdom.dat"#endif#define abs2(x) ((*x)[0] * (*x)[0] + (*x)[1] * (*x)[1])#define prodr(x,y) ((*x)[0] * (*y)[0] + (*x)[1] * (*y)[1])#define prodi(x,y) ((*x)[0] * (*y)[1] - (*x)[1] * (*y)[0])#define round(x) ((int)(x+0.5))#define pi 3.1415926535897932384626433832795028841972int nt = 0;                     /* number of fft points */static int firstcall = 1;       /* =1 when sspropc first invoked */int allocated = 0;              /* =1 when memory is allocated */static int method = FFTW_PATIENT;	/* planner method */PLAN p1,p2,ip1,ip2;             /* plans for fft and ifft */COMPLEX *u0,                    /* these vectors are */  *ufft, *uhalf, *uv, *u1,      /* workspace vectors used in */  *halfstep;                    /* performing the calculations */void sspropc_destroy_data(void);void sspropc_save_wisdom(void);void sspropc_initialize_data(int);void cmult(COMPLEX*, COMPLEX*, COMPLEX*);void cscale(COMPLEX*, COMPLEX*, REAL);int ssconverged(COMPLEX*, COMPLEX*, REAL);void mexFunction(int, mxArray* [], int, const mxArray* []);void sspropc_destroy_data(void){  if (allocated) {    DESTROY_PLAN(p1);    DESTROY_PLAN(p2);    DESTROY_PLAN(ip1);    DESTROY_PLAN(ip2);    mxFree(u0);    mxFree(ufft);    mxFree(uhalf);    mxFree(uv);    mxFree(u1);    mxFree(halfstep);    nt = 0;    allocated = 0;  }}void sspropc_save_wisdom(void){  FILE *wisfile;    wisfile = fopen(WISFILENAME, "w");  if (wisfile) {    mexPrintf("Exporting FFTW wisdom (file = %s).\n", WISFILENAME);    EXPORT_WISDOM(wisfile);    fclose(wisfile);  } }void sspropc_load_wisdom(void){  FILE *wisfile;    wisfile = fopen(WISFILENAME, "r");  if (wisfile) {	mexPrintf("Importing FFTW wisdom (file = %s).\n", WISFILENAME);	IMPORT_WISDOM(wisfile);	fclose(wisfile);  }}void sspropc_initialize_data(int n){  FILE* wisfile;                   /* wisdom file */  nt = n;  if (firstcall) {	sspropc_load_wisdom();    firstcall = 0;  }    u0 = (COMPLEX*) mxMalloc(sizeof(COMPLEX)*nt);  ufft = (COMPLEX*) mxMalloc(sizeof(COMPLEX)*nt);  uhalf = (COMPLEX*) mxMalloc(sizeof(COMPLEX)*nt);  uv = (COMPLEX*) mxMalloc(sizeof(COMPLEX)*nt);  u1 = (COMPLEX*) mxMalloc(sizeof(COMPLEX)*nt);  halfstep = (COMPLEX*) mxMalloc(sizeof(COMPLEX)*nt);  mexPrintf("Creating FFTW plans (length = %d) ... ", nt);  p1 = MAKE_PLAN(nt, u0, ufft, FFTW_FORWARD, method);  p2 = MAKE_PLAN(nt, uv, uv, FFTW_FORWARD, method);  ip1 = MAKE_PLAN(nt, uhalf, uhalf, FFTW_BACKWARD, method);  ip2 = MAKE_PLAN(nt, ufft, uv, FFTW_BACKWARD, method);  mexPrintf("done.\n");  allocated = 1;}/* computes a = b.*c for complex length-nt vectors a,b,c */void cmult(COMPLEX* a, COMPLEX* b, COMPLEX* c){  int jj;  for (jj = 0; jj < nt; jj++) {    a[jj][0] = b[jj][0] * c[jj][0] - b[jj][1] * c[jj][1];    a[jj][1] = b[jj][0] * c[jj][1] + b[jj][1] * c[jj][0];  }}/* assigns a = factor*b for complex length-nt vectors a,b */void cscale(COMPLEX* a, COMPLEX* b, REAL factor){  int jj;  for (jj = 0; jj < nt; jj++) {    a[jj][0] = factor*b[jj][0];    a[jj][1] = factor*b[jj][1];  }}int ssconverged(COMPLEX* a, COMPLEX* b, REAL t){  int jj;  REAL num, denom;  for (jj = 0, num = 0, denom = 0; jj < nt; jj++) {    denom += b[jj][0] * b[jj][0] + b[jj][1] * b[jj][1];    num += (b[jj][0] - a[jj][0]/nt)*(b[jj][0] - a[jj][0]/nt) +       (b[jj][1] - a[jj][1]/nt)*(b[jj][1] - a[jj][1]/nt);  }  return (num/denom < t);}void mexFunction(int nlhs, mxArray *plhs[],                 int nrhs, const mxArray *prhs[]){  REAL scale;        /* scale factor */  REAL dt;           /* time step */  REAL dz;           /* propagation stepsize */  int nz;            /* number of z steps to take */  int nalpha;        /* number of beta coefs */  double* alphap;    /* alpha(w) array, if applicable */  int nbeta;         /* number of beta coefs */  double* beta;      /* dispersion polynomial coefs */  REAL gamma;        /* nonlinearity coefficient */  REAL traman = 0;   /* Raman response time */  REAL toptical = 0; /* Optical cycle time = lambda/c */  int maxiter = 4;   /* max number of iterations */  REAL tol = 1e-5;   /* convergence tolerance */  REAL* w;           /* vector of angular frequencies */  int iz,ii,jj;      /* loop counters */  REAL phase, alpha,    wii, fii;        /* temporary variables */  COMPLEX     nlp,             /* nonlinear phase */    *ua, *ub, *uc;   /* samples of u at three adjacent times */  char argstr[100];	 /* string argument */  if (nrhs == 1) {	if (mxGetString(prhs[0],argstr,100)) 	  mexErrMsgTxt("Unrecognized option.");		if (!strcmp(argstr,"-savewisdom")) {	  sspropc_save_wisdom();	}	else if (!strcmp(argstr,"-forgetwisdom")) {	  FORGET_WISDOM();	}	else if (!strcmp(argstr,"-loadwisdom")) {	  sspropc_load_wisdom();	}	else if (!strcmp(argstr,"-patient")) {	  method = FFTW_PATIENT;	}	else if (!strcmp(argstr,"-exhaustive")) {	  method = FFTW_EXHAUSTIVE;	}	else if (!strcmp(argstr,"-measure")) {	  method = FFTW_MEASURE;	}	else if (!strcmp(argstr,"-estimate")) {	  method = FFTW_ESTIMATE;	}	else	  mexErrMsgTxt("Unrecognized option.");	return;  }  if (nrhs < 7)     mexErrMsgTxt("Not enough input arguments provided.");  if (nlhs > 1)    mexErrMsgTxt("Too many output arguments.");  sspropc_initialize_data(mxGetNumberOfElements(prhs[0]));    /* parse input arguments */  dt = (REAL) mxGetScalar(prhs[1]);  dz = (REAL) mxGetScalar(prhs[2]);  nz = round(mxGetScalar(prhs[3]));  nalpha = mxGetNumberOfElements(prhs[4]);  alphap = mxGetPr(prhs[4]);  beta = mxGetPr(prhs[5]);  nbeta = mxGetNumberOfElements(prhs[5]);  gamma = (REAL) mxGetScalar(prhs[6]);  if (nrhs > 7)	traman = (mxIsEmpty(prhs[7])) ? 0 : (REAL) mxGetScalar(prhs[7]);  if (nrhs > 8)	toptical = (mxIsEmpty(prhs[8])) ? 0 : (REAL) mxGetScalar(prhs[8]);  if (nrhs > 9)	maxiter = (mxIsEmpty(prhs[9])) ? 4 : round(mxGetScalar(prhs[9]));  if (nrhs > 10)	tol = (mxIsEmpty(prhs[10])) ? 1e-5 : (REAL) mxGetScalar(prhs[10]);    if ((nalpha != 1) && (nalpha != nt))    mexErrMsgTxt("Invalid vector length (alpha).");  /* compute vector of angular frequency components */  /* MATLAB equivalent:  w = wspace(tv); */  w = (REAL*)mxMalloc(sizeof(REAL)*nt);  for (ii = 0; ii <= (nt-1)/2; ii++) {    w[ii] = 2*pi*ii/(dt*nt);  }  for (; ii < nt; ii++) {    w[ii] = 2*pi*ii/(dt*nt) - 2*pi/dt;  }  /* compute halfstep and initialize u0 and u1 */  for (jj = 0; jj < nt; jj++) {	if (nbeta != nt) 	 	  for (ii = 0, phase = 0, fii = 1, wii = 1; 		   ii < nbeta; 		   ii++, fii*=ii, wii*=w[jj]) 		phase += wii*((REAL)beta[ii])/fii;	else	  phase = (REAL)beta[jj];	alpha = (nalpha == nt) ?  (REAL)alphap[jj] : (REAL)alphap[0];	halfstep[jj][0] = +exp(-alpha*dz/4)*cos(phase*dz/2);	halfstep[jj][1] = -exp(-alpha*dz/4)*sin(phase*dz/2);	u0[jj][0] = (REAL) mxGetPr(prhs[0])[jj];	u0[jj][1] = mxIsComplex(prhs[0]) ? (REAL)(mxGetPi(prhs[0])[jj]) : 0.0;	u1[jj][0] = u0[jj][0];	u1[jj][1] = u0[jj][1];  }  mxFree(w);                             /* free w vector */  mexPrintf("Performing split-step iterations ... ");  EXECUTE(p1);                           /* ufft = fft(u0) */  for (iz = 0; iz < nz; iz++) {    cmult(uhalf,halfstep,ufft);          /* uhalf = halfstep.*ufft */    EXECUTE(ip1);                        /* uhalf = nt*ifft(uhalf) */    for (ii = 0; ii < maxiter; ii++) {                      if ((traman == 0.0) && (toptical == 0)) {        for (jj = 0; jj < nt; jj++) {          phase = gamma*(u0[jj][0]*u0[jj][0] +                         u0[jj][1]*u0[jj][1] +                          u1[jj][0]*u1[jj][0] +                         u1[jj][1]*u1[jj][1])*dz/2;          uv[jj][0] = (uhalf[jj][0]*cos(phase) +                       uhalf[jj][1]*sin(phase))/nt;          uv[jj][1] = (-uhalf[jj][0]*sin(phase) +                       uhalf[jj][1]*cos(phase))/nt;        }      } else {        jj = 0;        ua = &u0[nt-1]; ub = &u0[jj]; uc = &u0[jj+1];        nlp[1] = -toptical*(abs2(uc) - abs2(ua) +                            prodr(ub,uc) - prodr(ub,ua))/(4*pi*dt);        nlp[0] = abs2(ub) - traman*(abs2(uc) - abs2(ua))/(2*dt)           + toptical*(prodi(ub,uc) - prodi(ub,ua))/(4*pi*dt);                ua = &u1[nt-1]; ub = &u1[jj]; uc = &u1[jj+1];        nlp[1] += -toptical*(abs2(uc) - abs2(ua) +                             prodr(ub,uc) - prodr(ub,ua))/(4*pi*dt);        nlp[0] += abs2(ub) - traman*(abs2(uc) - abs2(ua))/(2*dt)           + toptical*(prodi(ub,uc) - prodi(ub,ua))/(4*pi*dt);        nlp[0] *= gamma*dz/2;        nlp[1] *= gamma*dz/2;        uv[jj][0] = (uhalf[jj][0]*cos(nlp[0])*exp(+nlp[1]) +                     uhalf[jj][1]*sin(nlp[0])*exp(+nlp[1]))/nt;        uv[jj][1] = (-uhalf[jj][0]*sin(nlp[0])*exp(+nlp[1]) +                     uhalf[jj][1]*cos(nlp[0])*exp(+nlp[1]))/nt;              for (jj = 1; jj < nt-1; jj++) {          ua = &u0[jj-1]; ub = &u0[jj]; uc = &u0[jj+1];          nlp[1] = -toptical*(abs2(uc) - abs2(ua) +                              prodr(ub,uc) - prodr(ub,ua))/(4*pi*dt);          nlp[0] = abs2(ub) - traman*(abs2(uc) - abs2(ua))/(2*dt)             + toptical*(prodi(ub,uc) - prodi(ub,ua))/(4*pi*dt);          ua = &u1[jj-1]; ub = &u1[jj]; uc = &u1[jj+1];          nlp[1] += -toptical*(abs2(uc) - abs2(ua) +                               prodr(ub,uc) - prodr(ub,ua))/(4*pi*dt);          nlp[0] += abs2(ub) - traman*(abs2(uc) - abs2(ua))/(2*dt)             + toptical*(prodi(ub,uc) - prodi(ub,ua))/(4*pi*dt);          nlp[0] *= gamma*dz/2;          nlp[1] *= gamma*dz/2;          uv[jj][0] = (uhalf[jj][0]*cos(nlp[0])*exp(+nlp[1]) +                       uhalf[jj][1]*sin(nlp[0])*exp(+nlp[1]))/nt;          uv[jj][1] = (-uhalf[jj][0]*sin(nlp[0])*exp(+nlp[1]) +                       uhalf[jj][1]*cos(nlp[0])*exp(+nlp[1]))/nt;        }        /* we now handle the endpoint where jj = nt-1 */        ua = &u0[jj-1]; ub = &u0[jj]; uc = &u0[0];        nlp[1] = -toptical*(abs2(uc) - abs2(ua) +                            prodr(ub,uc) - prodr(ub,ua))/(4*pi*dt);        nlp[0] = abs2(ub) - traman*(abs2(uc) - abs2(ua))/(2*dt)           + toptical*(prodi(ub,uc) - prodi(ub,ua))/(4*pi*dt);        ua = &u1[jj-1]; ub = &u1[jj]; uc = &u1[0];        nlp[1] += -toptical*(abs2(uc) - abs2(ua) +                             prodr(ub,uc) - prodr(ub,ua))/(4*pi*dt);        nlp[0] += abs2(ub) - traman*(abs2(uc) - abs2(ua))/(2*dt)           + toptical*(prodi(ub,uc) - prodi(ub,ua))/(4*pi*dt);        nlp[0] *= gamma*dz/2;        nlp[1] *= gamma*dz/2;        uv[jj][0] = (uhalf[jj][0]*cos(nlp[0])*exp(+nlp[1]) +                     uhalf[jj][1]*sin(nlp[0])*exp(+nlp[1]))/nt;        uv[jj][1] = (-uhalf[jj][0]*sin(nlp[0])*exp(+nlp[1]) +                     uhalf[jj][1]*cos(nlp[0])*exp(+nlp[1]))/nt;      }      EXECUTE(p2);                      /* uv = fft(uv) */      cmult(ufft,uv,halfstep);          /* ufft = uv.*halfstep */      EXECUTE(ip2);                     /* uv = nt*ifft(ufft) */      if (ssconverged(uv,u1,tol)) {     /* test for convergence */        cscale(u1,uv,1.0/nt);           /* u1 = uv/nt; */        break;                          /* exit from ii loop */      } else {        cscale(u1,uv,1.0/nt);           /* u1 = uv/nt; */      }    }    if (ii == maxiter)      mexWarnMsgTxt("Failed to converge.");    cscale(u0,u1,1);                    /* u0 = u1 */  }  mexPrintf("done.\n");    /* allocate space for returned vector */  plhs[0] = mxCreateDoubleMatrix(nt,1,mxCOMPLEX);  for (jj = 0; jj < nt; jj++) {    mxGetPr(plhs[0])[jj] = (double) u1[jj][0];   /* fill return vector */    mxGetPi(plhs[0])[jj] = (double) u1[jj][1];   /* with u1 */  }  sspropc_destroy_data();}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线播放中文一区| 免费成人小视频| 午夜av区久久| 欧美剧情片在线观看| 99精品在线观看视频| 亚洲麻豆国产自偷在线| 久久精品国产精品青草| 91首页免费视频| 久久亚洲一级片| 日韩黄色片在线观看| 色综合色狠狠天天综合色| 精品国产乱码久久久久久图片 | 91网上在线视频| 久久亚洲影视婷婷| 日韩avvvv在线播放| 色老综合老女人久久久| 亚洲国产精品精华液ab| 精一区二区三区| 精品国产乱码久久久久久1区2区| 国产精品影视网| 在线免费观看成人短视频| 国产午夜精品美女毛片视频| 日本欧美加勒比视频| 欧美这里有精品| 亚洲三级小视频| 懂色中文一区二区在线播放| 欧美www视频| 久久精品国产999大香线蕉| 欧美欧美欧美欧美| 亚洲一区二区在线免费观看视频| 色偷偷久久一区二区三区| 久久精品亚洲乱码伦伦中文 | 亚洲欧美另类小说视频| 国产成人在线看| 久久久久久久久99精品| 国产一区二区伦理| 日本一区二区视频在线| 成人看片黄a免费看在线| 国产三级欧美三级日产三级99| 精品一区中文字幕| 精品国产一区二区三区不卡| 国产曰批免费观看久久久| 久久色视频免费观看| 国产精品一区免费视频| 国产精品精品国产色婷婷| 99久久久国产精品| 伊人开心综合网| 在线观看av一区二区| 日韩在线一区二区三区| 欧美sm美女调教| 国产成人超碰人人澡人人澡| 中文字幕免费在线观看视频一区| 97se亚洲国产综合在线| 亚洲成人自拍一区| 欧美大片顶级少妇| 成人免费高清在线观看| 亚洲精品欧美专区| 欧美日韩国产精品成人| 狠狠网亚洲精品| 亚洲欧洲av另类| 51午夜精品国产| 国产精品乡下勾搭老头1| 亚洲免费在线电影| 日韩欧美黄色影院| 不卡电影一区二区三区| 天天色图综合网| 国产人成亚洲第一网站在线播放| 日本道精品一区二区三区| 青青青伊人色综合久久| 日韩毛片视频在线看| 日韩一区二区免费视频| eeuss鲁片一区二区三区在线看| 亚洲大片免费看| 欧美激情在线一区二区| 欧美喷潮久久久xxxxx| a亚洲天堂av| 麻豆传媒一区二区三区| 亚洲欧美一区二区三区国产精品| 日韩免费观看高清完整版 | 国产专区综合网| 亚洲一二三四在线| 国产偷国产偷精品高清尤物| 欧美日韩亚洲综合| 不卡一区二区三区四区| 免费成人小视频| 亚洲国产综合人成综合网站| 中文字幕av资源一区| 日韩精品一区二区三区中文不卡| 日本高清免费不卡视频| 成人网页在线观看| 久久99精品国产麻豆不卡| 亚洲成a人v欧美综合天堂下载 | 亚洲少妇最新在线视频| 26uuu国产在线精品一区二区| 在线免费观看日本欧美| 91亚洲国产成人精品一区二三| 国产综合色产在线精品| 天堂影院一区二区| 亚洲综合激情网| 一区二区在线电影| 国产日韩精品久久久| 欧美美女一区二区| 欧美视频一区二区| 日本大香伊一区二区三区| 91亚洲永久精品| 91在线码无精品| av不卡一区二区三区| 成人一区二区三区视频在线观看| 国产一区久久久| 精品亚洲免费视频| 久久精品国产一区二区三区免费看| 丝袜美腿一区二区三区| 日日骚欧美日韩| 日韩成人一级片| 日韩在线卡一卡二| 看片网站欧美日韩| 国产综合色精品一区二区三区| 久久精品国产网站| 国产又粗又猛又爽又黄91精品| 激情综合网天天干| 国产v综合v亚洲欧| av在线播放不卡| 色婷婷国产精品| 欧美日韩和欧美的一区二区| 4438x成人网最大色成网站| 欧美一区二区三区四区久久| 欧美一级精品在线| 久久久久久久久蜜桃| 国产精品福利一区二区三区| 亚洲精品中文字幕在线观看| 亚洲永久精品大片| 热久久久久久久| 国产伦精品一区二区三区免费| 黄网站免费久久| 91在线观看成人| 欧美电影在线免费观看| 久久青草国产手机看片福利盒子 | 国产999精品久久久久久| 成人黄色片在线观看| 欧洲一区在线电影| 日韩视频一区在线观看| 久久久精品天堂| 亚洲欧美日韩国产中文在线| 免费观看在线色综合| 国产一区二区久久| 色播五月激情综合网| 日韩一区二区电影在线| 久久蜜桃av一区二区天堂| 国产精品素人一区二区| 视频一区二区三区在线| 国产精品一区专区| 欧美日韩mp4| 久久网这里都是精品| 亚洲精品免费电影| 国产在线一区观看| 欧美午夜片在线观看| 国产色91在线| 日韩精品电影在线| 97se亚洲国产综合自在线不卡| 欧美一区二区不卡视频| 综合色天天鬼久久鬼色| 久久国产成人午夜av影院| 91麻豆免费看片| 久久奇米777| 奇米一区二区三区av| av色综合久久天堂av综合| 日韩欧美一区二区在线视频| 亚洲乱码精品一二三四区日韩在线| 久久精品国产999大香线蕉| 欧美午夜免费电影| 国产精品私人影院| 国产又黄又大久久| 欧美一级片在线| 亚洲一区在线看| 99re视频这里只有精品| 久久精品一区四区| 精品制服美女久久| 欧美男人的天堂一二区| 一区二区免费视频| 91欧美一区二区| 国产欧美一二三区| 国产精品77777| 日韩丝袜美女视频| 日韩中文字幕区一区有砖一区| 色噜噜夜夜夜综合网| 亚洲欧美日韩在线不卡| 国产成人免费视| 国产女人aaa级久久久级| 韩日av一区二区| 欧美本精品男人aⅴ天堂| 日韩电影在线观看网站| 欧美高清你懂得| 亚洲电影在线播放| 欧美性猛交xxxx乱大交退制版 | 成人免费毛片片v| 久久久久久久av麻豆果冻| 国产一区二区美女诱惑| 久久午夜国产精品| 国产成人精品影视| 国产精品视频看|